From 630a5b7cf45df808e56dbee5dd7485186977bb49 Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Thu, 20 Jul 2023 18:26:08 +0000 Subject: [PATCH] This release adds support for updating and deleting spaces and projects in Amazon CodeCatalyst. It also adds support for creating, getting, and deleting source repositories in CodeCatalyst projects. Cross account support for SageMaker Feature Store Added API argument --toxicity-detection to startTranscriptionJob API, which allows users to view toxicity scores of submitted audio. This release adds the ability to assign a case to a queue or user. Adding support for Tags on Create and Resource Tagging API. This release adds support for Route 53 On Outposts, a new feature that allows customers to run Route 53 Resolver and Resolver endpoints locally on their Outposts. This release updates type for Channel field in SessionSpecification and UtteranceSpecification Improve performance of S3 clients by simplifying and optimizing endpoint resolution. Cross account support for SageMaker Feature Store --- VERSION | 2 +- .../aws/codecatalyst/CodeCatalystClient.h | 276 +- .../CodeCatalystServiceClientModel.h | 35 + .../model/CreateDevEnvironmentRequest.h | 16 +- .../model/CreateSourceRepositoryRequest.h | 239 + .../model/CreateSourceRepositoryResult.h | 215 + .../codecatalyst/model/DeleteProjectRequest.h | 135 + .../codecatalyst/model/DeleteProjectResult.h | 184 + .../model/DeleteSourceRepositoryRequest.h | 171 + .../model/DeleteSourceRepositoryResult.h | 177 + .../codecatalyst/model/DeleteSpaceRequest.h | 91 + .../codecatalyst/model/DeleteSpaceResult.h | 146 + .../aws/codecatalyst/model/EventLogEntry.h | 16 +- .../include/aws/codecatalyst/model/Filter.h | 53 +- .../model/GetSourceRepositoryRequest.h | 171 + .../model/GetSourceRepositoryResult.h | 292 + .../codecatalyst/model/ProjectListFilter.h | 18 +- .../codecatalyst/model/UpdateProjectRequest.h | 171 + .../codecatalyst/model/UpdateProjectResult.h | 222 + .../codecatalyst/model/UpdateSpaceRequest.h | 127 + .../codecatalyst/model/UpdateSpaceResult.h | 177 + .../aws/codecatalyst/model/UserIdentity.h | 16 +- .../source/CodeCatalystClient.cpp | 294 + .../model/CreateSourceRepositoryRequest.cpp | 38 + .../model/CreateSourceRepositoryResult.cpp | 66 + .../source/model/DeleteProjectRequest.cpp | 28 + .../source/model/DeleteProjectResult.cpp | 60 + .../model/DeleteSourceRepositoryRequest.cpp | 29 + .../model/DeleteSourceRepositoryResult.cpp | 60 + .../source/model/DeleteSpaceRequest.cpp | 27 + .../source/model/DeleteSpaceResult.cpp | 54 + .../model/GetSourceRepositoryRequest.cpp | 29 + .../model/GetSourceRepositoryResult.cpp | 78 + .../source/model/UpdateProjectRequest.cpp | 37 + .../source/model/UpdateProjectResult.cpp | 66 + .../source/model/UpdateSpaceRequest.cpp | 36 + .../source/model/UpdateSpaceResult.cpp | 60 + .../aws/connectcases/ConnectCasesClient.h | 10 +- .../aws/connectcases/model/CaseFilter.h | 44 + .../aws/connectcases/model/EmptyFieldValue.h | 44 + .../aws/connectcases/model/FieldValueUnion.h | 35 + .../source/model/CaseFilter.cpp | 27 +- .../source/model/EmptyFieldValue.cpp | 45 + .../source/model/FieldValueUnion.cpp | 15 + .../aws/lexv2-models/LexModelsV2Client.h | 43 +- .../model/AnalyticsUtteranceMetricResult.h | 12 +- .../aws/lexv2-models/model/BotChannelType.h | 32 - .../lexv2-models/model/SessionSpecification.h | 25 +- .../lexv2-models/model/UtteranceDataSortBy.h | 12 +- .../model/UtteranceSpecification.h | 25 +- .../source/model/BotChannelType.cpp | 77 - .../source/model/SessionSpecification.cpp | 7 +- .../source/model/UtteranceSpecification.cpp | 7 +- .../route53resolver/Route53ResolverClient.h | 129 + .../route53resolver/Route53ResolverErrors.h | 1 + .../Route53ResolverServiceClientModel.h | 25 + .../model/CreateOutpostResolverRequest.h | 339 + .../model/CreateOutpostResolverResult.h | 97 + .../model/CreateResolverEndpointRequest.h | 116 +- .../model/CreateResolverRuleRequest.h | 48 +- .../model/DeleteOutpostResolverRequest.h | 85 + .../model/DeleteOutpostResolverResult.h | 97 + .../model/GetOutpostResolverRequest.h | 85 + .../model/GetOutpostResolverResult.h | 97 + .../route53resolver/model/IpAddressStatus.h | 3 +- .../model/ListOutpostResolversRequest.h | 169 + .../model/ListOutpostResolversResult.h | 169 + .../route53resolver/model/OutpostResolver.h | 532 + .../model/OutpostResolverStatus.h | 36 + .../PutResolverQueryLogConfigPolicyRequest.h | 72 +- .../route53resolver/model/ResolverEndpoint.h | 88 + .../aws/route53resolver/model/ResolverRule.h | 16 +- .../model/UpdateOutpostResolverRequest.h | 197 + .../model/UpdateOutpostResolverResult.h | 92 + .../model/UpdateResolverEndpointRequest.h | 50 +- .../source/Route53ResolverClient.cpp | 135 + .../source/Route53ResolverEndpointRules.cpp | 102 +- .../source/Route53ResolverErrors.cpp | 35 +- .../model/CreateOutpostResolverRequest.cpp | 84 + .../model/CreateOutpostResolverResult.cpp | 48 + .../model/CreateResolverEndpointRequest.cpp | 16 +- .../model/DeleteOutpostResolverRequest.cpp | 43 + .../model/DeleteOutpostResolverResult.cpp | 48 + .../model/GetOutpostResolverRequest.cpp | 43 + .../source/model/GetOutpostResolverResult.cpp | 48 + .../source/model/IpAddressStatus.cpp | 7 + .../model/ListOutpostResolversRequest.cpp | 58 + .../model/ListOutpostResolversResult.cpp | 57 + .../source/model/OutpostResolver.cpp | 212 + .../source/model/OutpostResolverStatus.cpp | 105 + .../source/model/ResolverEndpoint.cpp | 34 +- .../model/UpdateOutpostResolverRequest.cpp | 65 + .../model/UpdateOutpostResolverResult.cpp | 48 + .../source/S3CrtEndpointRules.cpp | 6087 ++--- .../aws-cpp-sdk-s3/source/S3EndpointRules.cpp | 6087 ++--- .../SageMakerFeatureStoreRuntimeClient.h | 24 +- .../model/BatchGetRecordIdentifier.h | 32 +- .../model/BatchGetRecordRequest.h | 56 +- .../model/BatchGetRecordResultDetail.h | 2 +- .../model/DeleteRecordRequest.h | 24 +- .../model/GetRecordRequest.h | 48 +- .../model/PutRecordRequest.h | 24 +- .../include/aws/sagemaker/SageMakerClient.h | 40 +- .../sagemaker/SageMakerServiceClientModel.h | 5 + .../model/CrossAccountFilterOption.h | 31 + .../model/DescribeFeatureGroupRequest.h | 24 +- .../model/DescribeFeatureMetadataRequest.h | 24 +- .../aws/sagemaker/model/FeatureGroupSummary.h | 2 +- .../model/ListResourceCatalogsRequest.h | 324 + .../model/ListResourceCatalogsResult.h | 148 + .../aws/sagemaker/model/ResourceCatalog.h | 216 + .../sagemaker/model/ResourceCatalogSortBy.h | 30 + .../model/ResourceCatalogSortOrder.h | 31 + .../aws/sagemaker/model/SearchRequest.h | 83 + .../model/UpdateFeatureGroupRequest.h | 24 +- .../model/UpdateFeatureMetadataRequest.h | 32 +- .../source/SageMakerClient.cpp | 27 + .../source/model/CrossAccountFilterOption.cpp | 70 + .../model/ListResourceCatalogsRequest.cpp | 84 + .../model/ListResourceCatalogsResult.cpp | 57 + .../source/model/ResourceCatalog.cpp | 103 + .../source/model/ResourceCatalogSortBy.cpp | 63 + .../source/model/ResourceCatalogSortOrder.cpp | 70 + .../source/model/SearchRequest.cpp | 9 +- .../aws/securitylake/SecurityLakeClient.h | 140 +- .../SecurityLakeServiceClientModel.h | 15 + .../model/CreateDataLakeRequest.h | 61 + .../model/CreateSubscriberRequest.h | 61 + .../securitylake/model/DataLakeException.h | 3 +- ...DataLakeOrganizationConfigurationRequest.h | 32 +- .../model/HttpsNotificationConfiguration.h | 24 +- .../model/ListTagsForResourceRequest.h | 91 + .../model/ListTagsForResourceResult.h | 110 + .../securitylake/model/LogSourceResource.h | 62 +- .../securitylake/model/SubscriberResource.h | 40 +- .../include/aws/securitylake/model/Tag.h | 171 + .../securitylake/model/TagResourceRequest.h | 153 + .../securitylake/model/TagResourceResult.h | 63 + .../securitylake/model/UntagResourceRequest.h | 156 + .../securitylake/model/UntagResourceResult.h | 63 + .../source/SecurityLakeClient.cpp | 107 + .../source/model/CreateDataLakeRequest.cpp | 14 +- .../source/model/CreateSubscriberRequest.cpp | 14 +- .../model/ListTagsForResourceRequest.cpp | 27 + .../model/ListTagsForResourceResult.cpp | 51 + .../source/model/Tag.cpp | 74 + .../source/model/TagResourceRequest.cpp | 41 + .../source/model/TagResourceResult.cpp | 42 + .../source/model/UntagResourceRequest.cpp | 45 + .../source/model/UntagResourceResult.cpp | 42 + .../model/StartTranscriptionJobRequest.h | 85 + .../aws/transcribe/model/ToxicityCategory.h | 30 + .../model/ToxicityDetectionSettings.h | 107 + .../aws/transcribe/model/TranscriptionJob.h | 53 + .../model/TranscriptionJobSummary.h | 53 + .../model/StartTranscriptionJobRequest.cpp | 14 +- .../source/model/ToxicityCategory.cpp | 63 + .../model/ToxicityDetectionSettings.cpp | 67 + .../source/model/TranscriptionJob.cpp | 27 +- .../source/model/TranscriptionJobSummary.cpp | 27 +- .../Route53ResolverEndpointProviderTests.cpp | 52 +- .../S3CrtEndpointProviderTests.cpp | 146 +- .../s3-gen-tests/S3EndpointProviderTests.cpp | 146 +- ...TranscribeServiceEndpointProviderTests.cpp | 42 +- .../include/aws/core/VersionConfig.h | 4 +- .../codecatalyst-2022-09-28.normal.json | 482 +- .../connectcases-2022-10-03.normal.json | 26 +- .../models.lex.v2-2020-08-07.normal.json | 27 +- .../route53resolver-2018-04-01.normal.json | 368 +- .../sagemaker-2017-07-24.normal.json | 150 +- ...eaturestore-runtime-2020-07-01.normal.json | 30 +- .../securitylake-2018-05-10.normal.json | 200 +- .../transcribe-2017-10-26.normal.json | 39 + ...resolver-2018-04-01.endpoint-rule-set.json | 38 - ...e53resolver-2018-04-01.endpoint-tests.json | 27 +- .../s3-2006-03-01.endpoint-rule-set.json | 18506 ++++++---------- .../s3-2006-03-01.endpoint-tests.json | 286 +- ...ecuritylake-2018-05-10.endpoint-tests.json | 86 +- .../transcribe-2017-10-26.endpoint-tests.json | 220 +- 179 files changed, 24360 insertions(+), 20727 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateSourceRepositoryRequest.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateSourceRepositoryResult.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteProjectRequest.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteProjectResult.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSourceRepositoryRequest.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSourceRepositoryResult.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSpaceRequest.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSpaceResult.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/GetSourceRepositoryRequest.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/GetSourceRepositoryResult.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateProjectRequest.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateProjectResult.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateSpaceRequest.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateSpaceResult.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/CreateSourceRepositoryRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/CreateSourceRepositoryResult.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteProjectRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteProjectResult.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSourceRepositoryRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSourceRepositoryResult.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSpaceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSpaceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/GetSourceRepositoryRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/GetSourceRepositoryResult.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateProjectRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateProjectResult.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateSpaceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateSpaceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/EmptyFieldValue.h create mode 100644 generated/src/aws-cpp-sdk-connectcases/source/model/EmptyFieldValue.cpp delete mode 100644 generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BotChannelType.h delete mode 100644 generated/src/aws-cpp-sdk-lexv2-models/source/model/BotChannelType.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/CreateOutpostResolverRequest.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/CreateOutpostResolverResult.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/DeleteOutpostResolverRequest.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/DeleteOutpostResolverResult.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/GetOutpostResolverRequest.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/GetOutpostResolverResult.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ListOutpostResolversRequest.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ListOutpostResolversResult.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/OutpostResolver.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/OutpostResolverStatus.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateOutpostResolverRequest.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateOutpostResolverResult.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/CreateOutpostResolverRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/CreateOutpostResolverResult.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/DeleteOutpostResolverRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/DeleteOutpostResolverResult.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/GetOutpostResolverRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/GetOutpostResolverResult.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/ListOutpostResolversRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/ListOutpostResolversResult.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/OutpostResolver.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/OutpostResolverStatus.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/UpdateOutpostResolverRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/model/UpdateOutpostResolverResult.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CrossAccountFilterOption.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ListResourceCatalogsRequest.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ListResourceCatalogsResult.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalog.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalogSortBy.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalogSortOrder.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/CrossAccountFilterOption.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/ListResourceCatalogsRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/ListResourceCatalogsResult.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalog.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalogSortBy.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalogSortOrder.cpp create mode 100644 generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/ListTagsForResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/ListTagsForResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/Tag.h create mode 100644 generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/TagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/TagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/UntagResourceRequest.h create mode 100644 generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/UntagResourceResult.h create mode 100644 generated/src/aws-cpp-sdk-securitylake/source/model/ListTagsForResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-securitylake/source/model/ListTagsForResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-securitylake/source/model/Tag.cpp create mode 100644 generated/src/aws-cpp-sdk-securitylake/source/model/TagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-securitylake/source/model/TagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-securitylake/source/model/UntagResourceRequest.cpp create mode 100644 generated/src/aws-cpp-sdk-securitylake/source/model/UntagResourceResult.cpp create mode 100644 generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/ToxicityCategory.h create mode 100644 generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/ToxicityDetectionSettings.h create mode 100644 generated/src/aws-cpp-sdk-transcribe/source/model/ToxicityCategory.cpp create mode 100644 generated/src/aws-cpp-sdk-transcribe/source/model/ToxicityDetectionSettings.cpp diff --git a/VERSION b/VERSION index 4342c34c13a..bc08315784a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.122 \ No newline at end of file +1.11.123 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClient.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClient.h index 9e1d5c8e75f..fc911370505 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClient.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClient.h @@ -18,52 +18,61 @@ namespace CodeCatalyst /** *

Welcome to the Amazon CodeCatalyst API reference. This reference provides * descriptions of operations and data types for Amazon CodeCatalyst. You can use - * the Amazon CodeCatalyst API to work with the following objects.

Dev - * Environments and the Amazon Web Services Toolkits, by calling the following:

- *

Dev Environments and the Amazon Web + * Services Toolkits, by calling the following:

Security, activity, and resource management in * Amazon CodeCatalyst, by calling the following:

If you are using the - * Amazon CodeCatalyst APIs with an SDK or the CLI, you must configure your - * computer to work with Amazon CodeCatalyst and single sign-on (SSO). For more - * information, see CreateAccessToken, which creates a personal access token (PAT) for the + * current user.

  • DeleteAccessToken, which deletes a + * specified personal access token (PAT).

  • + * ListAccessTokens, which lists all personal access tokens (PATs) + * associated with a user.

  • ListEventLogs, which retrieves + * a list of events that occurred during a specified time period in a space.

    + *
  • VerifySession, which verifies whether the calling user has + * a valid Amazon CodeCatalyst login and session.

  • If you + * are using the Amazon CodeCatalyst APIs with an SDK or the CLI, you must + * configure your computer to work with Amazon CodeCatalyst and single sign-on + * (SSO). For more information, see Setting * up to use the CLI with Amazon CodeCatalyst and the SSO documentation for * your SDK.

    @@ -185,6 +194,33 @@ namespace CodeCatalyst return SubmitAsync(&CodeCatalystClient::CreateProject, request, handler, context); } + /** + *

    Creates an empty Git-based source repository in a specified project. The + * repository is created with an initial empty commit with a default branch named + * main.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateSourceRepositoryOutcome CreateSourceRepository(const Model::CreateSourceRepositoryRequest& request) const; + + /** + * A Callable wrapper for CreateSourceRepository that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateSourceRepositoryOutcomeCallable CreateSourceRepositoryCallable(const CreateSourceRepositoryRequestT& request) const + { + return SubmitCallable(&CodeCatalystClient::CreateSourceRepository, request); + } + + /** + * An Async wrapper for CreateSourceRepository that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateSourceRepositoryAsync(const CreateSourceRepositoryRequestT& request, const CreateSourceRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeCatalystClient::CreateSourceRepository, request, handler, context); + } + /** *

    Creates a branch in a specified source repository in Amazon CodeCatalyst. *

    This API only creates a branch in a source repository hosted in @@ -264,6 +300,85 @@ namespace CodeCatalyst return SubmitAsync(&CodeCatalystClient::DeleteDevEnvironment, request, handler, context); } + /** + *

    Deletes a project in a space.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteProjectOutcome DeleteProject(const Model::DeleteProjectRequest& request) const; + + /** + * A Callable wrapper for DeleteProject that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteProjectOutcomeCallable DeleteProjectCallable(const DeleteProjectRequestT& request) const + { + return SubmitCallable(&CodeCatalystClient::DeleteProject, request); + } + + /** + * An Async wrapper for DeleteProject that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteProjectAsync(const DeleteProjectRequestT& request, const DeleteProjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeCatalystClient::DeleteProject, request, handler, context); + } + + /** + *

    Deletes a source repository in Amazon CodeCatalyst. You cannot use this API + * to delete a linked repository. It can only be used to delete a Amazon + * CodeCatalyst source repository.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteSourceRepositoryOutcome DeleteSourceRepository(const Model::DeleteSourceRepositoryRequest& request) const; + + /** + * A Callable wrapper for DeleteSourceRepository that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteSourceRepositoryOutcomeCallable DeleteSourceRepositoryCallable(const DeleteSourceRepositoryRequestT& request) const + { + return SubmitCallable(&CodeCatalystClient::DeleteSourceRepository, request); + } + + /** + * An Async wrapper for DeleteSourceRepository that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteSourceRepositoryAsync(const DeleteSourceRepositoryRequestT& request, const DeleteSourceRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeCatalystClient::DeleteSourceRepository, request, handler, context); + } + + /** + *

    Deletes a space.

    Deleting a space cannot be undone. + * Additionally, since space names must be unique across Amazon CodeCatalyst, you + * cannot reuse names of deleted spaces.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteSpaceOutcome DeleteSpace(const Model::DeleteSpaceRequest& request) const; + + /** + * A Callable wrapper for DeleteSpace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteSpaceOutcomeCallable DeleteSpaceCallable(const DeleteSpaceRequestT& request) const + { + return SubmitCallable(&CodeCatalystClient::DeleteSpace, request); + } + + /** + * An Async wrapper for DeleteSpace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteSpaceAsync(const DeleteSpaceRequestT& request, const DeleteSpaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeCatalystClient::DeleteSpace, request, handler, context); + } + /** *

    Returns information about a Dev Environment for a source repository in a * project. Dev Environments are specific to the user who creates @@ -316,6 +431,31 @@ namespace CodeCatalyst return SubmitAsync(&CodeCatalystClient::GetProject, request, handler, context); } + /** + *

    Returns information about a source repository.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetSourceRepositoryOutcome GetSourceRepository(const Model::GetSourceRepositoryRequest& request) const; + + /** + * A Callable wrapper for GetSourceRepository that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetSourceRepositoryOutcomeCallable GetSourceRepositoryCallable(const GetSourceRepositoryRequestT& request) const + { + return SubmitCallable(&CodeCatalystClient::GetSourceRepository, request); + } + + /** + * An Async wrapper for GetSourceRepository that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetSourceRepositoryAsync(const GetSourceRepositoryRequestT& request, const GetSourceRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeCatalystClient::GetSourceRepository, request, handler, context); + } + /** *

    Returns information about the URLs that can be used with a Git client to * clone a source repository.

    See Also:

    Changes one or more values for a project.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateProjectOutcome UpdateProject(const Model::UpdateProjectRequest& request) const; + + /** + * A Callable wrapper for UpdateProject that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateProjectOutcomeCallable UpdateProjectCallable(const UpdateProjectRequestT& request) const + { + return SubmitCallable(&CodeCatalystClient::UpdateProject, request); + } + + /** + * An Async wrapper for UpdateProject that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateProjectAsync(const UpdateProjectRequestT& request, const UpdateProjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeCatalystClient::UpdateProject, request, handler, context); + } + + /** + *

    Changes one or more values for a space.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateSpaceOutcome UpdateSpace(const Model::UpdateSpaceRequest& request) const; + + /** + * A Callable wrapper for UpdateSpace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateSpaceOutcomeCallable UpdateSpaceCallable(const UpdateSpaceRequestT& request) const + { + return SubmitCallable(&CodeCatalystClient::UpdateSpace, request); + } + + /** + * An Async wrapper for UpdateSpace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateSpaceAsync(const UpdateSpaceRequestT& request, const UpdateSpaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeCatalystClient::UpdateSpace, request, handler, context); + } + /** *

    Verifies whether the calling user has a valid Amazon CodeCatalyst login and * session. If successful, this returns the ID of the user in Amazon diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystServiceClientModel.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystServiceClientModel.h index a175651ecaa..8ec03dd4fff 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystServiceClientModel.h @@ -21,11 +21,16 @@ #include #include #include +#include #include #include #include +#include +#include +#include #include #include +#include #include #include #include @@ -43,6 +48,8 @@ #include #include #include +#include +#include #include /* End of service model headers required in CodeCatalystClient header */ @@ -86,11 +93,16 @@ namespace Aws class CreateAccessTokenRequest; class CreateDevEnvironmentRequest; class CreateProjectRequest; + class CreateSourceRepositoryRequest; class CreateSourceRepositoryBranchRequest; class DeleteAccessTokenRequest; class DeleteDevEnvironmentRequest; + class DeleteProjectRequest; + class DeleteSourceRepositoryRequest; + class DeleteSpaceRequest; class GetDevEnvironmentRequest; class GetProjectRequest; + class GetSourceRepositoryRequest; class GetSourceRepositoryCloneUrlsRequest; class GetSpaceRequest; class GetSubscriptionRequest; @@ -108,17 +120,24 @@ namespace Aws class StopDevEnvironmentRequest; class StopDevEnvironmentSessionRequest; class UpdateDevEnvironmentRequest; + class UpdateProjectRequest; + class UpdateSpaceRequest; /* End of service model forward declarations required in CodeCatalystClient header */ /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome CreateAccessTokenOutcome; typedef Aws::Utils::Outcome CreateDevEnvironmentOutcome; typedef Aws::Utils::Outcome CreateProjectOutcome; + typedef Aws::Utils::Outcome CreateSourceRepositoryOutcome; typedef Aws::Utils::Outcome CreateSourceRepositoryBranchOutcome; typedef Aws::Utils::Outcome DeleteAccessTokenOutcome; typedef Aws::Utils::Outcome DeleteDevEnvironmentOutcome; + typedef Aws::Utils::Outcome DeleteProjectOutcome; + typedef Aws::Utils::Outcome DeleteSourceRepositoryOutcome; + typedef Aws::Utils::Outcome DeleteSpaceOutcome; typedef Aws::Utils::Outcome GetDevEnvironmentOutcome; typedef Aws::Utils::Outcome GetProjectOutcome; + typedef Aws::Utils::Outcome GetSourceRepositoryOutcome; typedef Aws::Utils::Outcome GetSourceRepositoryCloneUrlsOutcome; typedef Aws::Utils::Outcome GetSpaceOutcome; typedef Aws::Utils::Outcome GetSubscriptionOutcome; @@ -136,6 +155,8 @@ namespace Aws typedef Aws::Utils::Outcome StopDevEnvironmentOutcome; typedef Aws::Utils::Outcome StopDevEnvironmentSessionOutcome; typedef Aws::Utils::Outcome UpdateDevEnvironmentOutcome; + typedef Aws::Utils::Outcome UpdateProjectOutcome; + typedef Aws::Utils::Outcome UpdateSpaceOutcome; typedef Aws::Utils::Outcome VerifySessionOutcome; /* End of service model Outcome class definitions */ @@ -143,11 +164,16 @@ namespace Aws typedef std::future CreateAccessTokenOutcomeCallable; typedef std::future CreateDevEnvironmentOutcomeCallable; typedef std::future CreateProjectOutcomeCallable; + typedef std::future CreateSourceRepositoryOutcomeCallable; typedef std::future CreateSourceRepositoryBranchOutcomeCallable; typedef std::future DeleteAccessTokenOutcomeCallable; typedef std::future DeleteDevEnvironmentOutcomeCallable; + typedef std::future DeleteProjectOutcomeCallable; + typedef std::future DeleteSourceRepositoryOutcomeCallable; + typedef std::future DeleteSpaceOutcomeCallable; typedef std::future GetDevEnvironmentOutcomeCallable; typedef std::future GetProjectOutcomeCallable; + typedef std::future GetSourceRepositoryOutcomeCallable; typedef std::future GetSourceRepositoryCloneUrlsOutcomeCallable; typedef std::future GetSpaceOutcomeCallable; typedef std::future GetSubscriptionOutcomeCallable; @@ -165,6 +191,8 @@ namespace Aws typedef std::future StopDevEnvironmentOutcomeCallable; typedef std::future StopDevEnvironmentSessionOutcomeCallable; typedef std::future UpdateDevEnvironmentOutcomeCallable; + typedef std::future UpdateProjectOutcomeCallable; + typedef std::future UpdateSpaceOutcomeCallable; typedef std::future VerifySessionOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -175,11 +203,16 @@ namespace Aws typedef std::function&) > CreateAccessTokenResponseReceivedHandler; typedef std::function&) > CreateDevEnvironmentResponseReceivedHandler; typedef std::function&) > CreateProjectResponseReceivedHandler; + typedef std::function&) > CreateSourceRepositoryResponseReceivedHandler; typedef std::function&) > CreateSourceRepositoryBranchResponseReceivedHandler; typedef std::function&) > DeleteAccessTokenResponseReceivedHandler; typedef std::function&) > DeleteDevEnvironmentResponseReceivedHandler; + typedef std::function&) > DeleteProjectResponseReceivedHandler; + typedef std::function&) > DeleteSourceRepositoryResponseReceivedHandler; + typedef std::function&) > DeleteSpaceResponseReceivedHandler; typedef std::function&) > GetDevEnvironmentResponseReceivedHandler; typedef std::function&) > GetProjectResponseReceivedHandler; + typedef std::function&) > GetSourceRepositoryResponseReceivedHandler; typedef std::function&) > GetSourceRepositoryCloneUrlsResponseReceivedHandler; typedef std::function&) > GetSpaceResponseReceivedHandler; typedef std::function&) > GetSubscriptionResponseReceivedHandler; @@ -197,6 +230,8 @@ namespace Aws typedef std::function&) > StopDevEnvironmentResponseReceivedHandler; typedef std::function&) > StopDevEnvironmentSessionResponseReceivedHandler; typedef std::function&) > UpdateDevEnvironmentResponseReceivedHandler; + typedef std::function&) > UpdateProjectResponseReceivedHandler; + typedef std::function&) > UpdateSpaceResponseReceivedHandler; typedef std::function&) > VerifySessionResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace CodeCatalyst diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateDevEnvironmentRequest.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateDevEnvironmentRequest.h index 62815e367d8..07d0b670f9f 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateDevEnvironmentRequest.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateDevEnvironmentRequest.h @@ -278,7 +278,7 @@ namespace Model *

    Information about the integrated development environment (IDE) configured for * a Dev Environment.

    An IDE is required to create a Dev Environment. * For Dev Environment creation, this field contains configuration information and - * must be provided.

    + * must be provided.

    */ inline const Aws::Vector& GetIdes() const{ return m_ides; } @@ -286,7 +286,7 @@ namespace Model *

    Information about the integrated development environment (IDE) configured for * a Dev Environment.

    An IDE is required to create a Dev Environment. * For Dev Environment creation, this field contains configuration information and - * must be provided.

    + * must be provided.

    */ inline bool IdesHasBeenSet() const { return m_idesHasBeenSet; } @@ -294,7 +294,7 @@ namespace Model *

    Information about the integrated development environment (IDE) configured for * a Dev Environment.

    An IDE is required to create a Dev Environment. * For Dev Environment creation, this field contains configuration information and - * must be provided.

    + * must be provided.

    */ inline void SetIdes(const Aws::Vector& value) { m_idesHasBeenSet = true; m_ides = value; } @@ -302,7 +302,7 @@ namespace Model *

    Information about the integrated development environment (IDE) configured for * a Dev Environment.

    An IDE is required to create a Dev Environment. * For Dev Environment creation, this field contains configuration information and - * must be provided.

    + * must be provided.

    */ inline void SetIdes(Aws::Vector&& value) { m_idesHasBeenSet = true; m_ides = std::move(value); } @@ -310,7 +310,7 @@ namespace Model *

    Information about the integrated development environment (IDE) configured for * a Dev Environment.

    An IDE is required to create a Dev Environment. * For Dev Environment creation, this field contains configuration information and - * must be provided.

    + * must be provided.

    */ inline CreateDevEnvironmentRequest& WithIdes(const Aws::Vector& value) { SetIdes(value); return *this;} @@ -318,7 +318,7 @@ namespace Model *

    Information about the integrated development environment (IDE) configured for * a Dev Environment.

    An IDE is required to create a Dev Environment. * For Dev Environment creation, this field contains configuration information and - * must be provided.

    + * must be provided.

    */ inline CreateDevEnvironmentRequest& WithIdes(Aws::Vector&& value) { SetIdes(std::move(value)); return *this;} @@ -326,7 +326,7 @@ namespace Model *

    Information about the integrated development environment (IDE) configured for * a Dev Environment.

    An IDE is required to create a Dev Environment. * For Dev Environment creation, this field contains configuration information and - * must be provided.

    + * must be provided.

    */ inline CreateDevEnvironmentRequest& AddIdes(const IdeConfiguration& value) { m_idesHasBeenSet = true; m_ides.push_back(value); return *this; } @@ -334,7 +334,7 @@ namespace Model *

    Information about the integrated development environment (IDE) configured for * a Dev Environment.

    An IDE is required to create a Dev Environment. * For Dev Environment creation, this field contains configuration information and - * must be provided.

    + * must be provided.

    */ inline CreateDevEnvironmentRequest& AddIdes(IdeConfiguration&& value) { m_idesHasBeenSet = true; m_ides.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateSourceRepositoryRequest.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateSourceRepositoryRequest.h new file mode 100644 index 00000000000..b5186e49bcb --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateSourceRepositoryRequest.h @@ -0,0 +1,239 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CodeCatalyst +{ +namespace Model +{ + + /** + */ + class CreateSourceRepositoryRequest : public CodeCatalystRequest + { + public: + AWS_CODECATALYST_API CreateSourceRepositoryRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateSourceRepository"; } + + AWS_CODECATALYST_API Aws::String SerializePayload() const override; + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline bool SpaceNameHasBeenSet() const { return m_spaceNameHasBeenSet; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceNameHasBeenSet = true; m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceNameHasBeenSet = true; m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceNameHasBeenSet = true; m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline CreateSourceRepositoryRequest& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline CreateSourceRepositoryRequest& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline CreateSourceRepositoryRequest& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project in the space.

    + */ + inline const Aws::String& GetProjectName() const{ return m_projectName; } + + /** + *

    The name of the project in the space.

    + */ + inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const Aws::String& value) { m_projectNameHasBeenSet = true; m_projectName = value; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(Aws::String&& value) { m_projectNameHasBeenSet = true; m_projectName = std::move(value); } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const char* value) { m_projectNameHasBeenSet = true; m_projectName.assign(value); } + + /** + *

    The name of the project in the space.

    + */ + inline CreateSourceRepositoryRequest& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline CreateSourceRepositoryRequest& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline CreateSourceRepositoryRequest& WithProjectName(const char* value) { SetProjectName(value); return *this;} + + + /** + *

    The name of the source repository. For more information about name + * requirements, see Quotas + * for source repositories.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the source repository. For more information about name + * requirements, see Quotas + * for source repositories.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of the source repository. For more information about name + * requirements, see Quotas + * for source repositories.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of the source repository. For more information about name + * requirements, see Quotas + * for source repositories.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of the source repository. For more information about name + * requirements, see Quotas + * for source repositories.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name of the source repository. For more information about name + * requirements, see Quotas + * for source repositories.

    + */ + inline CreateSourceRepositoryRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the source repository. For more information about name + * requirements, see Quotas + * for source repositories.

    + */ + inline CreateSourceRepositoryRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the source repository. For more information about name + * requirements, see Quotas + * for source repositories.

    + */ + inline CreateSourceRepositoryRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The description of the source repository.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description of the source repository.

    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

    The description of the source repository.

    + */ + inline CreateSourceRepositoryRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description of the source repository.

    + */ + inline CreateSourceRepositoryRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description of the source repository.

    + */ + inline CreateSourceRepositoryRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + + private: + + Aws::String m_spaceName; + bool m_spaceNameHasBeenSet = false; + + Aws::String m_projectName; + bool m_projectNameHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateSourceRepositoryResult.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateSourceRepositoryResult.h new file mode 100644 index 00000000000..2e822e2c0c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/CreateSourceRepositoryResult.h @@ -0,0 +1,215 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeCatalyst +{ +namespace Model +{ + class CreateSourceRepositoryResult + { + public: + AWS_CODECATALYST_API CreateSourceRepositoryResult(); + AWS_CODECATALYST_API CreateSourceRepositoryResult(const Aws::AmazonWebServiceResult& result); + AWS_CODECATALYST_API CreateSourceRepositoryResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline CreateSourceRepositoryResult& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline CreateSourceRepositoryResult& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline CreateSourceRepositoryResult& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project in the space.

    + */ + inline const Aws::String& GetProjectName() const{ return m_projectName; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const Aws::String& value) { m_projectName = value; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(Aws::String&& value) { m_projectName = std::move(value); } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const char* value) { m_projectName.assign(value); } + + /** + *

    The name of the project in the space.

    + */ + inline CreateSourceRepositoryResult& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline CreateSourceRepositoryResult& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline CreateSourceRepositoryResult& WithProjectName(const char* value) { SetProjectName(value); return *this;} + + + /** + *

    The name of the source repository.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + *

    The name of the source repository.

    + */ + inline CreateSourceRepositoryResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the source repository.

    + */ + inline CreateSourceRepositoryResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the source repository.

    + */ + inline CreateSourceRepositoryResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The description of the source repository.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(const Aws::String& value) { m_description = value; } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(const char* value) { m_description.assign(value); } + + /** + *

    The description of the source repository.

    + */ + inline CreateSourceRepositoryResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description of the source repository.

    + */ + inline CreateSourceRepositoryResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description of the source repository.

    + */ + inline CreateSourceRepositoryResult& WithDescription(const char* value) { SetDescription(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline CreateSourceRepositoryResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateSourceRepositoryResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateSourceRepositoryResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_spaceName; + + Aws::String m_projectName; + + Aws::String m_name; + + Aws::String m_description; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteProjectRequest.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteProjectRequest.h new file mode 100644 index 00000000000..77ca84923eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteProjectRequest.h @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CodeCatalyst +{ +namespace Model +{ + + /** + */ + class DeleteProjectRequest : public CodeCatalystRequest + { + public: + AWS_CODECATALYST_API DeleteProjectRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteProject"; } + + AWS_CODECATALYST_API Aws::String SerializePayload() const override; + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline bool SpaceNameHasBeenSet() const { return m_spaceNameHasBeenSet; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceNameHasBeenSet = true; m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceNameHasBeenSet = true; m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceNameHasBeenSet = true; m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline DeleteProjectRequest& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteProjectRequest& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteProjectRequest& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project in the space. To retrieve a list of project names, + * use ListProjects.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the project in the space. To retrieve a list of project names, + * use ListProjects.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of the project in the space. To retrieve a list of project names, + * use ListProjects.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of the project in the space. To retrieve a list of project names, + * use ListProjects.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of the project in the space. To retrieve a list of project names, + * use ListProjects.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name of the project in the space. To retrieve a list of project names, + * use ListProjects.

    + */ + inline DeleteProjectRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the project in the space. To retrieve a list of project names, + * use ListProjects.

    + */ + inline DeleteProjectRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the project in the space. To retrieve a list of project names, + * use ListProjects.

    + */ + inline DeleteProjectRequest& WithName(const char* value) { SetName(value); return *this;} + + private: + + Aws::String m_spaceName; + bool m_spaceNameHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteProjectResult.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteProjectResult.h new file mode 100644 index 00000000000..2fb1c2b7438 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteProjectResult.h @@ -0,0 +1,184 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeCatalyst +{ +namespace Model +{ + class DeleteProjectResult + { + public: + AWS_CODECATALYST_API DeleteProjectResult(); + AWS_CODECATALYST_API DeleteProjectResult(const Aws::AmazonWebServiceResult& result); + AWS_CODECATALYST_API DeleteProjectResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline DeleteProjectResult& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteProjectResult& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteProjectResult& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project in the space.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + *

    The name of the project in the space.

    + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + *

    The name of the project in the space.

    + */ + inline DeleteProjectResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline DeleteProjectResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline DeleteProjectResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The friendly name displayed to users of the project in Amazon + * CodeCatalyst.

    + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + + /** + *

    The friendly name displayed to users of the project in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(const Aws::String& value) { m_displayName = value; } + + /** + *

    The friendly name displayed to users of the project in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(Aws::String&& value) { m_displayName = std::move(value); } + + /** + *

    The friendly name displayed to users of the project in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(const char* value) { m_displayName.assign(value); } + + /** + *

    The friendly name displayed to users of the project in Amazon + * CodeCatalyst.

    + */ + inline DeleteProjectResult& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + + /** + *

    The friendly name displayed to users of the project in Amazon + * CodeCatalyst.

    + */ + inline DeleteProjectResult& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + + /** + *

    The friendly name displayed to users of the project in Amazon + * CodeCatalyst.

    + */ + inline DeleteProjectResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline DeleteProjectResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteProjectResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteProjectResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_spaceName; + + Aws::String m_name; + + Aws::String m_displayName; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSourceRepositoryRequest.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSourceRepositoryRequest.h new file mode 100644 index 00000000000..2aa5705b3c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSourceRepositoryRequest.h @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CodeCatalyst +{ +namespace Model +{ + + /** + */ + class DeleteSourceRepositoryRequest : public CodeCatalystRequest + { + public: + AWS_CODECATALYST_API DeleteSourceRepositoryRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteSourceRepository"; } + + AWS_CODECATALYST_API Aws::String SerializePayload() const override; + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline bool SpaceNameHasBeenSet() const { return m_spaceNameHasBeenSet; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceNameHasBeenSet = true; m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceNameHasBeenSet = true; m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceNameHasBeenSet = true; m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline DeleteSourceRepositoryRequest& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteSourceRepositoryRequest& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteSourceRepositoryRequest& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project in the space.

    + */ + inline const Aws::String& GetProjectName() const{ return m_projectName; } + + /** + *

    The name of the project in the space.

    + */ + inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const Aws::String& value) { m_projectNameHasBeenSet = true; m_projectName = value; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(Aws::String&& value) { m_projectNameHasBeenSet = true; m_projectName = std::move(value); } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const char* value) { m_projectNameHasBeenSet = true; m_projectName.assign(value); } + + /** + *

    The name of the project in the space.

    + */ + inline DeleteSourceRepositoryRequest& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline DeleteSourceRepositoryRequest& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline DeleteSourceRepositoryRequest& WithProjectName(const char* value) { SetProjectName(value); return *this;} + + + /** + *

    The name of the source repository.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the source repository.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name of the source repository.

    + */ + inline DeleteSourceRepositoryRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the source repository.

    + */ + inline DeleteSourceRepositoryRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the source repository.

    + */ + inline DeleteSourceRepositoryRequest& WithName(const char* value) { SetName(value); return *this;} + + private: + + Aws::String m_spaceName; + bool m_spaceNameHasBeenSet = false; + + Aws::String m_projectName; + bool m_projectNameHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSourceRepositoryResult.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSourceRepositoryResult.h new file mode 100644 index 00000000000..f2b4662fdc0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSourceRepositoryResult.h @@ -0,0 +1,177 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeCatalyst +{ +namespace Model +{ + class DeleteSourceRepositoryResult + { + public: + AWS_CODECATALYST_API DeleteSourceRepositoryResult(); + AWS_CODECATALYST_API DeleteSourceRepositoryResult(const Aws::AmazonWebServiceResult& result); + AWS_CODECATALYST_API DeleteSourceRepositoryResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline DeleteSourceRepositoryResult& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteSourceRepositoryResult& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteSourceRepositoryResult& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project in the space.

    + */ + inline const Aws::String& GetProjectName() const{ return m_projectName; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const Aws::String& value) { m_projectName = value; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(Aws::String&& value) { m_projectName = std::move(value); } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const char* value) { m_projectName.assign(value); } + + /** + *

    The name of the project in the space.

    + */ + inline DeleteSourceRepositoryResult& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline DeleteSourceRepositoryResult& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline DeleteSourceRepositoryResult& WithProjectName(const char* value) { SetProjectName(value); return *this;} + + + /** + *

    The name of the repository.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the repository.

    + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + *

    The name of the repository.

    + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + *

    The name of the repository.

    + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + *

    The name of the repository.

    + */ + inline DeleteSourceRepositoryResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the repository.

    + */ + inline DeleteSourceRepositoryResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the repository.

    + */ + inline DeleteSourceRepositoryResult& WithName(const char* value) { SetName(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline DeleteSourceRepositoryResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteSourceRepositoryResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteSourceRepositoryResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_spaceName; + + Aws::String m_projectName; + + Aws::String m_name; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSpaceRequest.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSpaceRequest.h new file mode 100644 index 00000000000..89994745455 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSpaceRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CodeCatalyst +{ +namespace Model +{ + + /** + */ + class DeleteSpaceRequest : public CodeCatalystRequest + { + public: + AWS_CODECATALYST_API DeleteSpaceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteSpace"; } + + AWS_CODECATALYST_API Aws::String SerializePayload() const override; + + + /** + *

    The name of the space. To retrieve a list of space names, use + * ListSpaces.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the space. To retrieve a list of space names, use + * ListSpaces.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of the space. To retrieve a list of space names, use + * ListSpaces.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of the space. To retrieve a list of space names, use + * ListSpaces.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of the space. To retrieve a list of space names, use + * ListSpaces.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name of the space. To retrieve a list of space names, use + * ListSpaces.

    + */ + inline DeleteSpaceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the space. To retrieve a list of space names, use + * ListSpaces.

    + */ + inline DeleteSpaceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the space. To retrieve a list of space names, use + * ListSpaces.

    + */ + inline DeleteSpaceRequest& WithName(const char* value) { SetName(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSpaceResult.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSpaceResult.h new file mode 100644 index 00000000000..b36d67116d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/DeleteSpaceResult.h @@ -0,0 +1,146 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeCatalyst +{ +namespace Model +{ + class DeleteSpaceResult + { + public: + AWS_CODECATALYST_API DeleteSpaceResult(); + AWS_CODECATALYST_API DeleteSpaceResult(const Aws::AmazonWebServiceResult& result); + AWS_CODECATALYST_API DeleteSpaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the space.

    + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + *

    The name of the space.

    + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + *

    The name of the space.

    + */ + inline DeleteSpaceResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteSpaceResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline DeleteSpaceResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The friendly name of the space displayed to users of the space in Amazon + * CodeCatalyst.

    + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + + /** + *

    The friendly name of the space displayed to users of the space in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(const Aws::String& value) { m_displayName = value; } + + /** + *

    The friendly name of the space displayed to users of the space in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(Aws::String&& value) { m_displayName = std::move(value); } + + /** + *

    The friendly name of the space displayed to users of the space in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(const char* value) { m_displayName.assign(value); } + + /** + *

    The friendly name of the space displayed to users of the space in Amazon + * CodeCatalyst.

    + */ + inline DeleteSpaceResult& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + + /** + *

    The friendly name of the space displayed to users of the space in Amazon + * CodeCatalyst.

    + */ + inline DeleteSpaceResult& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + + /** + *

    The friendly name of the space displayed to users of the space in Amazon + * CodeCatalyst.

    + */ + inline DeleteSpaceResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline DeleteSpaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteSpaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteSpaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_name; + + Aws::String m_displayName; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/EventLogEntry.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/EventLogEntry.h index 1e2402b7e3b..5a016363168 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/EventLogEntry.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/EventLogEntry.h @@ -576,42 +576,42 @@ namespace Model /** - *

    + *

    The user agent whose actions are recorded in the event.

    */ inline const Aws::String& GetUserAgent() const{ return m_userAgent; } /** - *

    + *

    The user agent whose actions are recorded in the event.

    */ inline bool UserAgentHasBeenSet() const { return m_userAgentHasBeenSet; } /** - *

    + *

    The user agent whose actions are recorded in the event.

    */ inline void SetUserAgent(const Aws::String& value) { m_userAgentHasBeenSet = true; m_userAgent = value; } /** - *

    + *

    The user agent whose actions are recorded in the event.

    */ inline void SetUserAgent(Aws::String&& value) { m_userAgentHasBeenSet = true; m_userAgent = std::move(value); } /** - *

    + *

    The user agent whose actions are recorded in the event.

    */ inline void SetUserAgent(const char* value) { m_userAgentHasBeenSet = true; m_userAgent.assign(value); } /** - *

    + *

    The user agent whose actions are recorded in the event.

    */ inline EventLogEntry& WithUserAgent(const Aws::String& value) { SetUserAgent(value); return *this;} /** - *

    + *

    The user agent whose actions are recorded in the event.

    */ inline EventLogEntry& WithUserAgent(Aws::String&& value) { SetUserAgent(std::move(value)); return *this;} /** - *

    + *

    The user agent whose actions are recorded in the event.

    */ inline EventLogEntry& WithUserAgent(const char* value) { SetUserAgent(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/Filter.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/Filter.h index eee4fd3e07a..2a3d210598b 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/Filter.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/Filter.h @@ -25,7 +25,8 @@ namespace Model { /** - *

    See Also:

    Information about a filter used to limit results of a query.

    See + * Also:

    AWS * API Reference

    */ @@ -39,129 +40,129 @@ namespace Model /** - *

    + *

    A key that can be used to sort results.

    */ inline const Aws::String& GetKey() const{ return m_key; } /** - *

    + *

    A key that can be used to sort results.

    */ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** - *

    + *

    A key that can be used to sort results.

    */ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** - *

    + *

    A key that can be used to sort results.

    */ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** - *

    + *

    A key that can be used to sort results.

    */ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** - *

    + *

    A key that can be used to sort results.

    */ inline Filter& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** - *

    + *

    A key that can be used to sort results.

    */ inline Filter& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** - *

    + *

    A key that can be used to sort results.

    */ inline Filter& WithKey(const char* value) { SetKey(value); return *this;} /** - *

    + *

    The values of the key.

    */ inline const Aws::Vector& GetValues() const{ return m_values; } /** - *

    + *

    The values of the key.

    */ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** - *

    + *

    The values of the key.

    */ inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } /** - *

    + *

    The values of the key.

    */ inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } /** - *

    + *

    The values of the key.

    */ inline Filter& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} /** - *

    + *

    The values of the key.

    */ inline Filter& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} /** - *

    + *

    The values of the key.

    */ inline Filter& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** - *

    + *

    The values of the key.

    */ inline Filter& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } /** - *

    + *

    The values of the key.

    */ inline Filter& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** - *

    + *

    The operator used to compare the fields.

    */ inline const Aws::String& GetComparisonOperator() const{ return m_comparisonOperator; } /** - *

    + *

    The operator used to compare the fields.

    */ inline bool ComparisonOperatorHasBeenSet() const { return m_comparisonOperatorHasBeenSet; } /** - *

    + *

    The operator used to compare the fields.

    */ inline void SetComparisonOperator(const Aws::String& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = value; } /** - *

    + *

    The operator used to compare the fields.

    */ inline void SetComparisonOperator(Aws::String&& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = std::move(value); } /** - *

    + *

    The operator used to compare the fields.

    */ inline void SetComparisonOperator(const char* value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator.assign(value); } /** - *

    + *

    The operator used to compare the fields.

    */ inline Filter& WithComparisonOperator(const Aws::String& value) { SetComparisonOperator(value); return *this;} /** - *

    + *

    The operator used to compare the fields.

    */ inline Filter& WithComparisonOperator(Aws::String&& value) { SetComparisonOperator(std::move(value)); return *this;} /** - *

    + *

    The operator used to compare the fields.

    */ inline Filter& WithComparisonOperator(const char* value) { SetComparisonOperator(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/GetSourceRepositoryRequest.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/GetSourceRepositoryRequest.h new file mode 100644 index 00000000000..fee54101c63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/GetSourceRepositoryRequest.h @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CodeCatalyst +{ +namespace Model +{ + + /** + */ + class GetSourceRepositoryRequest : public CodeCatalystRequest + { + public: + AWS_CODECATALYST_API GetSourceRepositoryRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetSourceRepository"; } + + AWS_CODECATALYST_API Aws::String SerializePayload() const override; + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline bool SpaceNameHasBeenSet() const { return m_spaceNameHasBeenSet; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceNameHasBeenSet = true; m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceNameHasBeenSet = true; m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceNameHasBeenSet = true; m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline GetSourceRepositoryRequest& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline GetSourceRepositoryRequest& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline GetSourceRepositoryRequest& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project in the space.

    + */ + inline const Aws::String& GetProjectName() const{ return m_projectName; } + + /** + *

    The name of the project in the space.

    + */ + inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const Aws::String& value) { m_projectNameHasBeenSet = true; m_projectName = value; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(Aws::String&& value) { m_projectNameHasBeenSet = true; m_projectName = std::move(value); } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const char* value) { m_projectNameHasBeenSet = true; m_projectName.assign(value); } + + /** + *

    The name of the project in the space.

    + */ + inline GetSourceRepositoryRequest& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline GetSourceRepositoryRequest& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline GetSourceRepositoryRequest& WithProjectName(const char* value) { SetProjectName(value); return *this;} + + + /** + *

    The name of the source repository.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the source repository.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name of the source repository.

    + */ + inline GetSourceRepositoryRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the source repository.

    + */ + inline GetSourceRepositoryRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the source repository.

    + */ + inline GetSourceRepositoryRequest& WithName(const char* value) { SetName(value); return *this;} + + private: + + Aws::String m_spaceName; + bool m_spaceNameHasBeenSet = false; + + Aws::String m_projectName; + bool m_projectNameHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/GetSourceRepositoryResult.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/GetSourceRepositoryResult.h new file mode 100644 index 00000000000..a5115b9a0cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/GetSourceRepositoryResult.h @@ -0,0 +1,292 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeCatalyst +{ +namespace Model +{ + class GetSourceRepositoryResult + { + public: + AWS_CODECATALYST_API GetSourceRepositoryResult(); + AWS_CODECATALYST_API GetSourceRepositoryResult(const Aws::AmazonWebServiceResult& result); + AWS_CODECATALYST_API GetSourceRepositoryResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline GetSourceRepositoryResult& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline GetSourceRepositoryResult& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline GetSourceRepositoryResult& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project in the space.

    + */ + inline const Aws::String& GetProjectName() const{ return m_projectName; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const Aws::String& value) { m_projectName = value; } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(Aws::String&& value) { m_projectName = std::move(value); } + + /** + *

    The name of the project in the space.

    + */ + inline void SetProjectName(const char* value) { m_projectName.assign(value); } + + /** + *

    The name of the project in the space.

    + */ + inline GetSourceRepositoryResult& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline GetSourceRepositoryResult& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} + + /** + *

    The name of the project in the space.

    + */ + inline GetSourceRepositoryResult& WithProjectName(const char* value) { SetProjectName(value); return *this;} + + + /** + *

    The name of the source repository.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + *

    The name of the source repository.

    + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + *

    The name of the source repository.

    + */ + inline GetSourceRepositoryResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the source repository.

    + */ + inline GetSourceRepositoryResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the source repository.

    + */ + inline GetSourceRepositoryResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The description of the source repository.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(const Aws::String& value) { m_description = value; } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + + /** + *

    The description of the source repository.

    + */ + inline void SetDescription(const char* value) { m_description.assign(value); } + + /** + *

    The description of the source repository.

    + */ + inline GetSourceRepositoryResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description of the source repository.

    + */ + inline GetSourceRepositoryResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description of the source repository.

    + */ + inline GetSourceRepositoryResult& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

    The time the source repository was last updated, in coordinated universal + * time (UTC) timestamp format as specified in RFC 3339.

    + */ + inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } + + /** + *

    The time the source repository was last updated, in coordinated universal + * time (UTC) timestamp format as specified in RFC 3339.

    + */ + inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTime = value; } + + /** + *

    The time the source repository was last updated, in coordinated universal + * time (UTC) timestamp format as specified in RFC 3339.

    + */ + inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTime = std::move(value); } + + /** + *

    The time the source repository was last updated, in coordinated universal + * time (UTC) timestamp format as specified in RFC 3339.

    + */ + inline GetSourceRepositoryResult& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} + + /** + *

    The time the source repository was last updated, in coordinated universal + * time (UTC) timestamp format as specified in RFC 3339.

    + */ + inline GetSourceRepositoryResult& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} + + + /** + *

    The time the source repository was created, in coordinated universal time + * (UTC) timestamp format as specified in RFC 3339.

    + */ + inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } + + /** + *

    The time the source repository was created, in coordinated universal time + * (UTC) timestamp format as specified in RFC 3339.

    + */ + inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTime = value; } + + /** + *

    The time the source repository was created, in coordinated universal time + * (UTC) timestamp format as specified in RFC 3339.

    + */ + inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTime = std::move(value); } + + /** + *

    The time the source repository was created, in coordinated universal time + * (UTC) timestamp format as specified in RFC 3339.

    + */ + inline GetSourceRepositoryResult& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} + + /** + *

    The time the source repository was created, in coordinated universal time + * (UTC) timestamp format as specified in RFC 3339.

    + */ + inline GetSourceRepositoryResult& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline GetSourceRepositoryResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetSourceRepositoryResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetSourceRepositoryResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_spaceName; + + Aws::String m_projectName; + + Aws::String m_name; + + Aws::String m_description; + + Aws::Utils::DateTime m_lastUpdatedTime; + + Aws::Utils::DateTime m_createdTime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/ProjectListFilter.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/ProjectListFilter.h index 0753c97ac64..deaddb1e778 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/ProjectListFilter.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/ProjectListFilter.h @@ -73,47 +73,47 @@ namespace Model /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline const Aws::Vector& GetValues() const{ return m_values; } /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline ProjectListFilter& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline ProjectListFilter& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline ProjectListFilter& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline ProjectListFilter& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } /** - *

    The value of the key.

    + *

    The values of the key.

    */ inline ProjectListFilter& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateProjectRequest.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateProjectRequest.h new file mode 100644 index 00000000000..12de56dc0ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateProjectRequest.h @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CodeCatalyst +{ +namespace Model +{ + + /** + */ + class UpdateProjectRequest : public CodeCatalystRequest + { + public: + AWS_CODECATALYST_API UpdateProjectRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateProject"; } + + AWS_CODECATALYST_API Aws::String SerializePayload() const override; + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline bool SpaceNameHasBeenSet() const { return m_spaceNameHasBeenSet; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceNameHasBeenSet = true; m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceNameHasBeenSet = true; m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceNameHasBeenSet = true; m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline UpdateProjectRequest& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline UpdateProjectRequest& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline UpdateProjectRequest& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the project.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of the project.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of the project.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of the project.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name of the project.

    + */ + inline UpdateProjectRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the project.

    + */ + inline UpdateProjectRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the project.

    + */ + inline UpdateProjectRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The description of the project.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description of the project.

    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

    The description of the project.

    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

    The description of the project.

    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

    The description of the project.

    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

    The description of the project.

    + */ + inline UpdateProjectRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description of the project.

    + */ + inline UpdateProjectRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description of the project.

    + */ + inline UpdateProjectRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + + private: + + Aws::String m_spaceName; + bool m_spaceNameHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateProjectResult.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateProjectResult.h new file mode 100644 index 00000000000..98b3e7d9743 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateProjectResult.h @@ -0,0 +1,222 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeCatalyst +{ +namespace Model +{ + class UpdateProjectResult + { + public: + AWS_CODECATALYST_API UpdateProjectResult(); + AWS_CODECATALYST_API UpdateProjectResult(const Aws::AmazonWebServiceResult& result); + AWS_CODECATALYST_API UpdateProjectResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetSpaceName() const{ return m_spaceName; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const Aws::String& value) { m_spaceName = value; } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(Aws::String&& value) { m_spaceName = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetSpaceName(const char* value) { m_spaceName.assign(value); } + + /** + *

    The name of the space.

    + */ + inline UpdateProjectResult& WithSpaceName(const Aws::String& value) { SetSpaceName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline UpdateProjectResult& WithSpaceName(Aws::String&& value) { SetSpaceName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline UpdateProjectResult& WithSpaceName(const char* value) { SetSpaceName(value); return *this;} + + + /** + *

    The name of the project.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the project.

    + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + *

    The name of the project.

    + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + *

    The name of the project.

    + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + *

    The name of the project.

    + */ + inline UpdateProjectResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the project.

    + */ + inline UpdateProjectResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the project.

    + */ + inline UpdateProjectResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The friendly name of the project displayed to users in Amazon + * CodeCatalyst.

    + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + + /** + *

    The friendly name of the project displayed to users in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(const Aws::String& value) { m_displayName = value; } + + /** + *

    The friendly name of the project displayed to users in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(Aws::String&& value) { m_displayName = std::move(value); } + + /** + *

    The friendly name of the project displayed to users in Amazon + * CodeCatalyst.

    + */ + inline void SetDisplayName(const char* value) { m_displayName.assign(value); } + + /** + *

    The friendly name of the project displayed to users in Amazon + * CodeCatalyst.

    + */ + inline UpdateProjectResult& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + + /** + *

    The friendly name of the project displayed to users in Amazon + * CodeCatalyst.

    + */ + inline UpdateProjectResult& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + + /** + *

    The friendly name of the project displayed to users in Amazon + * CodeCatalyst.

    + */ + inline UpdateProjectResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + + + /** + *

    The description of the project.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description of the project.

    + */ + inline void SetDescription(const Aws::String& value) { m_description = value; } + + /** + *

    The description of the project.

    + */ + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + + /** + *

    The description of the project.

    + */ + inline void SetDescription(const char* value) { m_description.assign(value); } + + /** + *

    The description of the project.

    + */ + inline UpdateProjectResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description of the project.

    + */ + inline UpdateProjectResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description of the project.

    + */ + inline UpdateProjectResult& WithDescription(const char* value) { SetDescription(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline UpdateProjectResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateProjectResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateProjectResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_spaceName; + + Aws::String m_name; + + Aws::String m_displayName; + + Aws::String m_description; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateSpaceRequest.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateSpaceRequest.h new file mode 100644 index 00000000000..9d7448eeed3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateSpaceRequest.h @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CodeCatalyst +{ +namespace Model +{ + + /** + */ + class UpdateSpaceRequest : public CodeCatalystRequest + { + public: + AWS_CODECATALYST_API UpdateSpaceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateSpace"; } + + AWS_CODECATALYST_API Aws::String SerializePayload() const override; + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the space.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of the space.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of the space.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name of the space.

    + */ + inline UpdateSpaceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline UpdateSpaceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline UpdateSpaceRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The description of the space.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description of the space.

    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

    The description of the space.

    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

    The description of the space.

    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

    The description of the space.

    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

    The description of the space.

    + */ + inline UpdateSpaceRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description of the space.

    + */ + inline UpdateSpaceRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description of the space.

    + */ + inline UpdateSpaceRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateSpaceResult.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateSpaceResult.h new file mode 100644 index 00000000000..793116d1c49 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UpdateSpaceResult.h @@ -0,0 +1,177 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeCatalyst +{ +namespace Model +{ + class UpdateSpaceResult + { + public: + AWS_CODECATALYST_API UpdateSpaceResult(); + AWS_CODECATALYST_API UpdateSpaceResult(const Aws::AmazonWebServiceResult& result); + AWS_CODECATALYST_API UpdateSpaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The name of the space.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the space.

    + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + *

    The name of the space.

    + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + *

    The name of the space.

    + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + *

    The name of the space.

    + */ + inline UpdateSpaceResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the space.

    + */ + inline UpdateSpaceResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the space.

    + */ + inline UpdateSpaceResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The friendly name of the space displayed to users in Amazon CodeCatalyst.

    + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + + /** + *

    The friendly name of the space displayed to users in Amazon CodeCatalyst.

    + */ + inline void SetDisplayName(const Aws::String& value) { m_displayName = value; } + + /** + *

    The friendly name of the space displayed to users in Amazon CodeCatalyst.

    + */ + inline void SetDisplayName(Aws::String&& value) { m_displayName = std::move(value); } + + /** + *

    The friendly name of the space displayed to users in Amazon CodeCatalyst.

    + */ + inline void SetDisplayName(const char* value) { m_displayName.assign(value); } + + /** + *

    The friendly name of the space displayed to users in Amazon CodeCatalyst.

    + */ + inline UpdateSpaceResult& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + + /** + *

    The friendly name of the space displayed to users in Amazon CodeCatalyst.

    + */ + inline UpdateSpaceResult& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + + /** + *

    The friendly name of the space displayed to users in Amazon CodeCatalyst.

    + */ + inline UpdateSpaceResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + + + /** + *

    The description of the space.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description of the space.

    + */ + inline void SetDescription(const Aws::String& value) { m_description = value; } + + /** + *

    The description of the space.

    + */ + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + + /** + *

    The description of the space.

    + */ + inline void SetDescription(const char* value) { m_description.assign(value); } + + /** + *

    The description of the space.

    + */ + inline UpdateSpaceResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description of the space.

    + */ + inline UpdateSpaceResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description of the space.

    + */ + inline UpdateSpaceResult& WithDescription(const char* value) { SetDescription(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline UpdateSpaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateSpaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateSpaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_name; + + Aws::String m_displayName; + + Aws::String m_description; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UserIdentity.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UserIdentity.h index ca471417841..1e3f5cc3b88 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UserIdentity.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/model/UserIdentity.h @@ -77,42 +77,42 @@ namespace Model /** - *

    + *

    The ID of the Amazon CodeCatalyst service principal.

    */ inline const Aws::String& GetPrincipalId() const{ return m_principalId; } /** - *

    + *

    The ID of the Amazon CodeCatalyst service principal.

    */ inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } /** - *

    + *

    The ID of the Amazon CodeCatalyst service principal.

    */ inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } /** - *

    + *

    The ID of the Amazon CodeCatalyst service principal.

    */ inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } /** - *

    + *

    The ID of the Amazon CodeCatalyst service principal.

    */ inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } /** - *

    + *

    The ID of the Amazon CodeCatalyst service principal.

    */ inline UserIdentity& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} /** - *

    + *

    The ID of the Amazon CodeCatalyst service principal.

    */ inline UserIdentity& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} /** - *

    + *

    The ID of the Amazon CodeCatalyst service principal.

    */ inline UserIdentity& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClient.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClient.cpp index b35a3a2a38d..92ee396d369 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClient.cpp +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClient.cpp @@ -25,11 +25,16 @@ #include #include #include +#include #include #include #include +#include +#include +#include #include #include +#include #include #include #include @@ -47,6 +52,8 @@ #include #include #include +#include +#include #include @@ -212,6 +219,53 @@ CreateProjectOutcome CodeCatalystClient::CreateProject(const CreateProjectReques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateSourceRepositoryOutcome CodeCatalystClient::CreateSourceRepository(const CreateSourceRepositoryRequest& request) const +{ + AWS_OPERATION_GUARD(CreateSourceRepository); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateSourceRepository, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateSourceRepository", "Required field: SpaceName, is not set"); + return CreateSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceName]", false)); + } + if (!request.ProjectNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateSourceRepository", "Required field: ProjectName, is not set"); + return CreateSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ProjectName]", false)); + } + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateSourceRepository", "Required field: Name, is not set"); + return CreateSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateSourceRepository, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateSourceRepository, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateSourceRepository", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateSourceRepositoryOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateSourceRepository, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/projects/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetProjectName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sourceRepositories/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return CreateSourceRepositoryOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::BEARER_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateSourceRepositoryBranchOutcome CodeCatalystClient::CreateSourceRepositoryBranch(const CreateSourceRepositoryBranchRequest& request) const { AWS_OPERATION_GUARD(CreateSourceRepositoryBranch); @@ -346,6 +400,126 @@ DeleteDevEnvironmentOutcome CodeCatalystClient::DeleteDevEnvironment(const Delet {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteProjectOutcome CodeCatalystClient::DeleteProject(const DeleteProjectRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteProject); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteProject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteProject", "Required field: SpaceName, is not set"); + return DeleteProjectOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceName]", false)); + } + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteProject", "Required field: Name, is not set"); + return DeleteProjectOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteProject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteProject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteProject", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteProjectOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteProject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/projects/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return DeleteProjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::BEARER_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteSourceRepositoryOutcome CodeCatalystClient::DeleteSourceRepository(const DeleteSourceRepositoryRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteSourceRepository); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteSourceRepository, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteSourceRepository", "Required field: SpaceName, is not set"); + return DeleteSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceName]", false)); + } + if (!request.ProjectNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteSourceRepository", "Required field: ProjectName, is not set"); + return DeleteSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ProjectName]", false)); + } + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteSourceRepository", "Required field: Name, is not set"); + return DeleteSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteSourceRepository, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteSourceRepository, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteSourceRepository", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteSourceRepositoryOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteSourceRepository, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/projects/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetProjectName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sourceRepositories/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return DeleteSourceRepositoryOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::BEARER_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteSpaceOutcome CodeCatalystClient::DeleteSpace(const DeleteSpaceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteSpace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteSpace", "Required field: Name, is not set"); + return DeleteSpaceOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteSpace", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteSpaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return DeleteSpaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::BEARER_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetDevEnvironmentOutcome CodeCatalystClient::GetDevEnvironment(const GetDevEnvironmentRequest& request) const { AWS_OPERATION_GUARD(GetDevEnvironment); @@ -433,6 +607,53 @@ GetProjectOutcome CodeCatalystClient::GetProject(const GetProjectRequest& reques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetSourceRepositoryOutcome CodeCatalystClient::GetSourceRepository(const GetSourceRepositoryRequest& request) const +{ + AWS_OPERATION_GUARD(GetSourceRepository); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetSourceRepository, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSourceRepository", "Required field: SpaceName, is not set"); + return GetSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceName]", false)); + } + if (!request.ProjectNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSourceRepository", "Required field: ProjectName, is not set"); + return GetSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ProjectName]", false)); + } + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSourceRepository", "Required field: Name, is not set"); + return GetSourceRepositoryOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetSourceRepository, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetSourceRepository, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetSourceRepository", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetSourceRepositoryOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetSourceRepository, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/projects/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetProjectName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sourceRepositories/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return GetSourceRepositoryOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::BEARER_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetSourceRepositoryCloneUrlsOutcome CodeCatalystClient::GetSourceRepositoryCloneUrls(const GetSourceRepositoryCloneUrlsRequest& request) const { AWS_OPERATION_GUARD(GetSourceRepositoryCloneUrls); @@ -1120,6 +1341,79 @@ UpdateDevEnvironmentOutcome CodeCatalystClient::UpdateDevEnvironment(const Updat {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateProjectOutcome CodeCatalystClient::UpdateProject(const UpdateProjectRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateProject); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateProject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateProject", "Required field: SpaceName, is not set"); + return UpdateProjectOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceName]", false)); + } + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateProject", "Required field: Name, is not set"); + return UpdateProjectOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateProject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateProject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateProject", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateProjectOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateProject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/projects/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return UpdateProjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::BEARER_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateSpaceOutcome CodeCatalystClient::UpdateSpace(const UpdateSpaceRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateSpace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateSpace", "Required field: Name, is not set"); + return UpdateSpaceOutcome(Aws::Client::AWSError(CodeCatalystErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateSpace", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateSpaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return UpdateSpaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::BEARER_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + VerifySessionOutcome CodeCatalystClient::VerifySession() const { AWS_OPERATION_GUARD(VerifySession); diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/CreateSourceRepositoryRequest.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/CreateSourceRepositoryRequest.cpp new file mode 100644 index 00000000000..8a5e88089c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/CreateSourceRepositoryRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateSourceRepositoryRequest::CreateSourceRepositoryRequest() : + m_spaceNameHasBeenSet(false), + m_projectNameHasBeenSet(false), + m_nameHasBeenSet(false), + m_descriptionHasBeenSet(false) +{ +} + +Aws::String CreateSourceRepositoryRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/CreateSourceRepositoryResult.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/CreateSourceRepositoryResult.cpp new file mode 100644 index 00000000000..014d7459a79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/CreateSourceRepositoryResult.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateSourceRepositoryResult::CreateSourceRepositoryResult() +{ +} + +CreateSourceRepositoryResult::CreateSourceRepositoryResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateSourceRepositoryResult& CreateSourceRepositoryResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("spaceName")) + { + m_spaceName = jsonValue.GetString("spaceName"); + + } + + if(jsonValue.ValueExists("projectName")) + { + m_projectName = jsonValue.GetString("projectName"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteProjectRequest.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteProjectRequest.cpp new file mode 100644 index 00000000000..dded6971217 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteProjectRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteProjectRequest::DeleteProjectRequest() : + m_spaceNameHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Aws::String DeleteProjectRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteProjectResult.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteProjectResult.cpp new file mode 100644 index 00000000000..d4c73d353ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteProjectResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteProjectResult::DeleteProjectResult() +{ +} + +DeleteProjectResult::DeleteProjectResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteProjectResult& DeleteProjectResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("spaceName")) + { + m_spaceName = jsonValue.GetString("spaceName"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("displayName")) + { + m_displayName = jsonValue.GetString("displayName"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSourceRepositoryRequest.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSourceRepositoryRequest.cpp new file mode 100644 index 00000000000..a47d69dcb44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSourceRepositoryRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteSourceRepositoryRequest::DeleteSourceRepositoryRequest() : + m_spaceNameHasBeenSet(false), + m_projectNameHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Aws::String DeleteSourceRepositoryRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSourceRepositoryResult.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSourceRepositoryResult.cpp new file mode 100644 index 00000000000..a2b7fc43fcd --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSourceRepositoryResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteSourceRepositoryResult::DeleteSourceRepositoryResult() +{ +} + +DeleteSourceRepositoryResult::DeleteSourceRepositoryResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteSourceRepositoryResult& DeleteSourceRepositoryResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("spaceName")) + { + m_spaceName = jsonValue.GetString("spaceName"); + + } + + if(jsonValue.ValueExists("projectName")) + { + m_projectName = jsonValue.GetString("projectName"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSpaceRequest.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSpaceRequest.cpp new file mode 100644 index 00000000000..8d6544fcb8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSpaceRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteSpaceRequest::DeleteSpaceRequest() : + m_nameHasBeenSet(false) +{ +} + +Aws::String DeleteSpaceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSpaceResult.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSpaceResult.cpp new file mode 100644 index 00000000000..bb614ddc556 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/DeleteSpaceResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteSpaceResult::DeleteSpaceResult() +{ +} + +DeleteSpaceResult::DeleteSpaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteSpaceResult& DeleteSpaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("displayName")) + { + m_displayName = jsonValue.GetString("displayName"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/GetSourceRepositoryRequest.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/GetSourceRepositoryRequest.cpp new file mode 100644 index 00000000000..4be8cca6894 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/GetSourceRepositoryRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetSourceRepositoryRequest::GetSourceRepositoryRequest() : + m_spaceNameHasBeenSet(false), + m_projectNameHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Aws::String GetSourceRepositoryRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/GetSourceRepositoryResult.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/GetSourceRepositoryResult.cpp new file mode 100644 index 00000000000..62ed64cfe39 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/GetSourceRepositoryResult.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetSourceRepositoryResult::GetSourceRepositoryResult() +{ +} + +GetSourceRepositoryResult::GetSourceRepositoryResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetSourceRepositoryResult& GetSourceRepositoryResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("spaceName")) + { + m_spaceName = jsonValue.GetString("spaceName"); + + } + + if(jsonValue.ValueExists("projectName")) + { + m_projectName = jsonValue.GetString("projectName"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + } + + if(jsonValue.ValueExists("lastUpdatedTime")) + { + m_lastUpdatedTime = jsonValue.GetString("lastUpdatedTime"); + + } + + if(jsonValue.ValueExists("createdTime")) + { + m_createdTime = jsonValue.GetString("createdTime"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateProjectRequest.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateProjectRequest.cpp new file mode 100644 index 00000000000..43584165db1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateProjectRequest.cpp @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateProjectRequest::UpdateProjectRequest() : + m_spaceNameHasBeenSet(false), + m_nameHasBeenSet(false), + m_descriptionHasBeenSet(false) +{ +} + +Aws::String UpdateProjectRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateProjectResult.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateProjectResult.cpp new file mode 100644 index 00000000000..6dd625484ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateProjectResult.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateProjectResult::UpdateProjectResult() +{ +} + +UpdateProjectResult::UpdateProjectResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateProjectResult& UpdateProjectResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("spaceName")) + { + m_spaceName = jsonValue.GetString("spaceName"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("displayName")) + { + m_displayName = jsonValue.GetString("displayName"); + + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateSpaceRequest.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateSpaceRequest.cpp new file mode 100644 index 00000000000..b3265ce5e67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateSpaceRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateSpaceRequest::UpdateSpaceRequest() : + m_nameHasBeenSet(false), + m_descriptionHasBeenSet(false) +{ +} + +Aws::String UpdateSpaceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateSpaceResult.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateSpaceResult.cpp new file mode 100644 index 00000000000..251d5128732 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/model/UpdateSpaceResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CodeCatalyst::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateSpaceResult::UpdateSpaceResult() +{ +} + +UpdateSpaceResult::UpdateSpaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateSpaceResult& UpdateSpaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("displayName")) + { + m_displayName = jsonValue.GetString("displayName"); + + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClient.h b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClient.h index 5e4d3c487eb..383ac471c9d 100644 --- a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClient.h +++ b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClient.h @@ -176,7 +176,8 @@ namespace ConnectCases * API. You need specific IAM permissions to successfully associate the Cases * domain. For more information, see Onboard - * to Cases.

    See Also:

    .

     </important> 

    See + * Also:

    AWS * API Reference

    */ @@ -320,7 +321,12 @@ namespace ConnectCases } /** - *

    Deletes a domain.

    See Also:

    Deletes a Cases domain.

     <note> <p>After deleting
    +         * your domain you must disassociate the deleted domain from your Amazon Connect
    +         * instance with another API call before being able to use Cases again with this
    +         * Amazon Connect instance. See <a
    +         * href="https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html">DeleteIntegrationAssociation</a>.</p>
    +         * </note> 

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/CaseFilter.h b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/CaseFilter.h index 6af175e9dc9..eb360efb67b 100644 --- a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/CaseFilter.h +++ b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/CaseFilter.h @@ -129,6 +129,47 @@ namespace Model AWS_CONNECTCASES_API CaseFilter& WithNot(CaseFilter&& value); + + /** + *

    Provides "or all" filtering.

    + */ + inline const Aws::Vector& GetOrAll() const{ return m_orAll; } + + /** + *

    Provides "or all" filtering.

    + */ + inline bool OrAllHasBeenSet() const { return m_orAllHasBeenSet; } + + /** + *

    Provides "or all" filtering.

    + */ + inline void SetOrAll(const Aws::Vector& value) { m_orAllHasBeenSet = true; m_orAll = value; } + + /** + *

    Provides "or all" filtering.

    + */ + inline void SetOrAll(Aws::Vector&& value) { m_orAllHasBeenSet = true; m_orAll = std::move(value); } + + /** + *

    Provides "or all" filtering.

    + */ + inline CaseFilter& WithOrAll(const Aws::Vector& value) { SetOrAll(value); return *this;} + + /** + *

    Provides "or all" filtering.

    + */ + inline CaseFilter& WithOrAll(Aws::Vector&& value) { SetOrAll(std::move(value)); return *this;} + + /** + *

    Provides "or all" filtering.

    + */ + inline CaseFilter& AddOrAll(const CaseFilter& value) { m_orAllHasBeenSet = true; m_orAll.push_back(value); return *this; } + + /** + *

    Provides "or all" filtering.

    + */ + inline CaseFilter& AddOrAll(CaseFilter&& value) { m_orAllHasBeenSet = true; m_orAll.push_back(std::move(value)); return *this; } + private: Aws::Vector m_andAll; @@ -139,6 +180,9 @@ namespace Model std::shared_ptr m_not; bool m_notHasBeenSet = false; + + Aws::Vector m_orAll; + bool m_orAllHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/EmptyFieldValue.h b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/EmptyFieldValue.h new file mode 100644 index 00000000000..16baacc8017 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/EmptyFieldValue.h @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ConnectCases +{ +namespace Model +{ + + /** + *

    An empty value. You cannot set EmptyFieldValue on a field that + * is required on a case template.

    This structure will never have any data + * members. It signifies an empty value on a case field.

    See Also:

    + * AWS + * API Reference

    + */ + class EmptyFieldValue + { + public: + AWS_CONNECTCASES_API EmptyFieldValue(); + AWS_CONNECTCASES_API EmptyFieldValue(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCASES_API EmptyFieldValue& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCASES_API Aws::Utils::Json::JsonValue Jsonize() const; + + }; + +} // namespace Model +} // namespace ConnectCases +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/FieldValueUnion.h b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/FieldValueUnion.h index 7025b7cbdeb..9a51d26cb94 100644 --- a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/FieldValueUnion.h +++ b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/model/FieldValueUnion.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include @@ -87,6 +88,37 @@ namespace Model inline FieldValueUnion& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + /** + *

    An empty value.

    + */ + inline const EmptyFieldValue& GetEmptyValue() const{ return m_emptyValue; } + + /** + *

    An empty value.

    + */ + inline bool EmptyValueHasBeenSet() const { return m_emptyValueHasBeenSet; } + + /** + *

    An empty value.

    + */ + inline void SetEmptyValue(const EmptyFieldValue& value) { m_emptyValueHasBeenSet = true; m_emptyValue = value; } + + /** + *

    An empty value.

    + */ + inline void SetEmptyValue(EmptyFieldValue&& value) { m_emptyValueHasBeenSet = true; m_emptyValue = std::move(value); } + + /** + *

    An empty value.

    + */ + inline FieldValueUnion& WithEmptyValue(const EmptyFieldValue& value) { SetEmptyValue(value); return *this;} + + /** + *

    An empty value.

    + */ + inline FieldValueUnion& WithEmptyValue(EmptyFieldValue&& value) { SetEmptyValue(std::move(value)); return *this;} + + /** *

    String value type.

    */ @@ -135,6 +167,9 @@ namespace Model double m_doubleValue; bool m_doubleValueHasBeenSet = false; + EmptyFieldValue m_emptyValue; + bool m_emptyValueHasBeenSet = false; + Aws::String m_stringValue; bool m_stringValueHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-connectcases/source/model/CaseFilter.cpp b/generated/src/aws-cpp-sdk-connectcases/source/model/CaseFilter.cpp index 13294693c2f..5367dd1043f 100644 --- a/generated/src/aws-cpp-sdk-connectcases/source/model/CaseFilter.cpp +++ b/generated/src/aws-cpp-sdk-connectcases/source/model/CaseFilter.cpp @@ -21,14 +21,16 @@ namespace Model CaseFilter::CaseFilter() : m_andAllHasBeenSet(false), m_fieldHasBeenSet(false), - m_notHasBeenSet(false) + m_notHasBeenSet(false), + m_orAllHasBeenSet(false) { } CaseFilter::CaseFilter(JsonView jsonValue) : m_andAllHasBeenSet(false), m_fieldHasBeenSet(false), - m_notHasBeenSet(false) + m_notHasBeenSet(false), + m_orAllHasBeenSet(false) { *this = jsonValue; } @@ -66,6 +68,16 @@ CaseFilter& CaseFilter::operator =(JsonView jsonValue) m_notHasBeenSet = true; } + if(jsonValue.ValueExists("orAll")) + { + Aws::Utils::Array orAllJsonList = jsonValue.GetArray("orAll"); + for(unsigned orAllIndex = 0; orAllIndex < orAllJsonList.GetLength(); ++orAllIndex) + { + m_orAll.push_back(orAllJsonList[orAllIndex].AsObject()); + } + m_orAllHasBeenSet = true; + } + return *this; } @@ -96,6 +108,17 @@ JsonValue CaseFilter::Jsonize() const } + if(m_orAllHasBeenSet) + { + Aws::Utils::Array orAllJsonList(m_orAll.size()); + for(unsigned orAllIndex = 0; orAllIndex < orAllJsonList.GetLength(); ++orAllIndex) + { + orAllJsonList[orAllIndex].AsObject(m_orAll[orAllIndex].Jsonize()); + } + payload.WithArray("orAll", std::move(orAllJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-connectcases/source/model/EmptyFieldValue.cpp b/generated/src/aws-cpp-sdk-connectcases/source/model/EmptyFieldValue.cpp new file mode 100644 index 00000000000..a6b691c367e --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcases/source/model/EmptyFieldValue.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ConnectCases +{ +namespace Model +{ + +EmptyFieldValue::EmptyFieldValue() +{ +} + +EmptyFieldValue::EmptyFieldValue(JsonView jsonValue) +{ + *this = jsonValue; +} + +EmptyFieldValue& EmptyFieldValue::operator =(JsonView jsonValue) +{ + AWS_UNREFERENCED_PARAM(jsonValue); + return *this; +} + +JsonValue EmptyFieldValue::Jsonize() const +{ + JsonValue payload; + + return payload; +} + +} // namespace Model +} // namespace ConnectCases +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcases/source/model/FieldValueUnion.cpp b/generated/src/aws-cpp-sdk-connectcases/source/model/FieldValueUnion.cpp index 7f18fba7c2f..3114e06f2a0 100644 --- a/generated/src/aws-cpp-sdk-connectcases/source/model/FieldValueUnion.cpp +++ b/generated/src/aws-cpp-sdk-connectcases/source/model/FieldValueUnion.cpp @@ -23,6 +23,7 @@ FieldValueUnion::FieldValueUnion() : m_booleanValueHasBeenSet(false), m_doubleValue(0.0), m_doubleValueHasBeenSet(false), + m_emptyValueHasBeenSet(false), m_stringValueHasBeenSet(false) { } @@ -32,6 +33,7 @@ FieldValueUnion::FieldValueUnion(JsonView jsonValue) : m_booleanValueHasBeenSet(false), m_doubleValue(0.0), m_doubleValueHasBeenSet(false), + m_emptyValueHasBeenSet(false), m_stringValueHasBeenSet(false) { *this = jsonValue; @@ -53,6 +55,13 @@ FieldValueUnion& FieldValueUnion::operator =(JsonView jsonValue) m_doubleValueHasBeenSet = true; } + if(jsonValue.ValueExists("emptyValue")) + { + m_emptyValue = jsonValue.GetObject("emptyValue"); + + m_emptyValueHasBeenSet = true; + } + if(jsonValue.ValueExists("stringValue")) { m_stringValue = jsonValue.GetString("stringValue"); @@ -79,6 +88,12 @@ JsonValue FieldValueUnion::Jsonize() const } + if(m_emptyValueHasBeenSet) + { + payload.WithObject("emptyValue", m_emptyValue.Jsonize()); + + } + if(m_stringValueHasBeenSet) { payload.WithString("stringValue", m_stringValue); diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h index 40a50666bae..93583e3d27a 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h @@ -1731,8 +1731,9 @@ namespace LexModelsV2 } /** - *

    Retrieves summary metrics for the intent stages in your bot. The following - * fields are required:

    • metrics – A list of Retrieves summary metrics for the stages within intents in your bot. The + * following fields are required:

      • metrics – A list + * of AnalyticsIntentStageMetric * objects. In each object, use the name field to specify the metric * to calculate, the statistic field to specify whether to calculate @@ -2084,16 +2085,23 @@ namespace LexModelsV2 } /** - *

        Retrieves a list of metadata for individual user utterances to your bot. The - * startDateTime and endDateTime fields are required. - * These fields define a time range for which you want to retrieve results. Of the - * optional fields, you can organize the results in the following ways:

          - *
        • Use the filters field to filter the results and the - * sortBy field to specify the values by which to sort the - * results.

        • Use the maxResults field to limit the - * number of results to return in a single response and the nextToken - * field to return the next batch of results if the response does not return the - * full set of results.

        See Also:

        To use this API operation, your IAM role must have permissions to + * perform the ListAggregatedUtterances + * operation, which provides access to utterance-related analytics. See Viewing + * utterance statistics for the IAM policy to apply to the IAM role.

        + *

        Retrieves a list of metadata for individual user utterances to your + * bot. The following fields are required:

        • + * startDateTime and endDateTime – Define a time range + * for which you want to retrieve results.

        Of the optional + * fields, you can organize the results in the following ways:

        • Use + * the filters field to filter the results and the sortBy + * field to specify the values by which to sort the results.

        • Use + * the maxResults field to limit the number of results to return in a + * single response and the nextToken field to return the next batch of + * results if the response does not return the full set of results.

        • + *

        See Also:

        AWS * API Reference

        */ @@ -2118,8 +2126,15 @@ namespace LexModelsV2 } /** - *

        Retrieves summary metrics for the utterances in your bot. The following - * fields are required:

        • metrics – A list of To use this API operation, your IAM role must have permissions to + * perform the ListAggregatedUtterances + * operation, which provides access to utterance-related analytics. See Viewing + * utterance statistics for the IAM policy to apply to the IAM role.

          + *

          Retrieves summary metrics for the utterances in your bot. The + * following fields are required:

          • metrics – A list + * of AnalyticsUtteranceMetric * objects. In each object, use the name field to specify the metric * to calculate, the statistic field to specify whether to calculate diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/AnalyticsUtteranceMetricResult.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/AnalyticsUtteranceMetricResult.h index d5137cfcdac..2b2ca73a1e5 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/AnalyticsUtteranceMetricResult.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/AnalyticsUtteranceMetricResult.h @@ -44,7 +44,7 @@ namespace Model * number of utterances.

          • Missed – The number of * utterances that Amazon Lex failed to recognize.

          • * Detected – The number of utterances that Amazon Lex managed to - * detect.

          • UtteranceTimeStamp – The date and time + * detect.

          • UtteranceTimestamp – The date and time * of the utterance.

          */ inline const AnalyticsUtteranceMetricName& GetName() const{ return m_name; } @@ -54,7 +54,7 @@ namespace Model * number of utterances.

        • Missed – The number of * utterances that Amazon Lex failed to recognize.

        • * Detected – The number of utterances that Amazon Lex managed to - * detect.

        • UtteranceTimeStamp – The date and time + * detect.

        • UtteranceTimestamp – The date and time * of the utterance.

        */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } @@ -64,7 +64,7 @@ namespace Model * number of utterances.

      • Missed – The number of * utterances that Amazon Lex failed to recognize.

      • * Detected – The number of utterances that Amazon Lex managed to - * detect.

      • UtteranceTimeStamp – The date and time + * detect.

      • UtteranceTimestamp – The date and time * of the utterance.

      */ inline void SetName(const AnalyticsUtteranceMetricName& value) { m_nameHasBeenSet = true; m_name = value; } @@ -74,7 +74,7 @@ namespace Model * number of utterances.

    • Missed – The number of * utterances that Amazon Lex failed to recognize.

    • * Detected – The number of utterances that Amazon Lex managed to - * detect.

    • UtteranceTimeStamp – The date and time + * detect.

    • UtteranceTimestamp – The date and time * of the utterance.

    */ inline void SetName(AnalyticsUtteranceMetricName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } @@ -84,7 +84,7 @@ namespace Model * number of utterances.

  • Missed – The number of * utterances that Amazon Lex failed to recognize.

  • * Detected – The number of utterances that Amazon Lex managed to - * detect.

  • UtteranceTimeStamp – The date and time + * detect.

  • UtteranceTimestamp – The date and time * of the utterance.

  • */ inline AnalyticsUtteranceMetricResult& WithName(const AnalyticsUtteranceMetricName& value) { SetName(value); return *this;} @@ -94,7 +94,7 @@ namespace Model * number of utterances.

  • Missed – The number of * utterances that Amazon Lex failed to recognize.

  • * Detected – The number of utterances that Amazon Lex managed to - * detect.

  • UtteranceTimeStamp – The date and time + * detect.

  • UtteranceTimestamp – The date and time * of the utterance.

  • */ inline AnalyticsUtteranceMetricResult& WithName(AnalyticsUtteranceMetricName&& value) { SetName(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BotChannelType.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BotChannelType.h deleted file mode 100644 index eacbc01f4db..00000000000 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BotChannelType.h +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -#pragma once -#include -#include - -namespace Aws -{ -namespace LexModelsV2 -{ -namespace Model -{ - enum class BotChannelType - { - NOT_SET, - Facebook, - Slack, - TwilioSms - }; - -namespace BotChannelTypeMapper -{ -AWS_LEXMODELSV2_API BotChannelType GetBotChannelTypeForName(const Aws::String& name); - -AWS_LEXMODELSV2_API Aws::String GetNameForBotChannelType(BotChannelType value); -} // namespace BotChannelTypeMapper -} // namespace Model -} // namespace LexModelsV2 -} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SessionSpecification.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SessionSpecification.h index 7452ec8eff3..d1bddf3712c 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SessionSpecification.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SessionSpecification.h @@ -6,7 +6,6 @@ #pragma once #include #include -#include #include #include #include @@ -171,7 +170,7 @@ namespace Model *

    The channel that is integrated with the bot that the session was held * with.

    */ - inline const BotChannelType& GetChannel() const{ return m_channel; } + inline const Aws::String& GetChannel() const{ return m_channel; } /** *

    The channel that is integrated with the bot that the session was held @@ -183,25 +182,37 @@ namespace Model *

    The channel that is integrated with the bot that the session was held * with.

    */ - inline void SetChannel(const BotChannelType& value) { m_channelHasBeenSet = true; m_channel = value; } + inline void SetChannel(const Aws::String& value) { m_channelHasBeenSet = true; m_channel = value; } /** *

    The channel that is integrated with the bot that the session was held * with.

    */ - inline void SetChannel(BotChannelType&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } + inline void SetChannel(Aws::String&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } /** *

    The channel that is integrated with the bot that the session was held * with.

    */ - inline SessionSpecification& WithChannel(const BotChannelType& value) { SetChannel(value); return *this;} + inline void SetChannel(const char* value) { m_channelHasBeenSet = true; m_channel.assign(value); } /** *

    The channel that is integrated with the bot that the session was held * with.

    */ - inline SessionSpecification& WithChannel(BotChannelType&& value) { SetChannel(std::move(value)); return *this;} + inline SessionSpecification& WithChannel(const Aws::String& value) { SetChannel(value); return *this;} + + /** + *

    The channel that is integrated with the bot that the session was held + * with.

    + */ + inline SessionSpecification& WithChannel(Aws::String&& value) { SetChannel(std::move(value)); return *this;} + + /** + *

    The channel that is integrated with the bot that the session was held + * with.

    + */ + inline SessionSpecification& WithChannel(const char* value) { SetChannel(value); return *this;} /** @@ -577,7 +588,7 @@ namespace Model Aws::String m_localeId; bool m_localeIdHasBeenSet = false; - BotChannelType m_channel; + Aws::String m_channel; bool m_channelHasBeenSet = false; Aws::String m_sessionId; diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UtteranceDataSortBy.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UtteranceDataSortBy.h index c7fe08c8d7b..85fd517e8a7 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UtteranceDataSortBy.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UtteranceDataSortBy.h @@ -42,7 +42,7 @@ namespace Model /** *

    The measure by which to sort the utterance analytics data.

    • * Count – The number of utterances.

    • - * UtteranceTimeStamp – The date and time of the utterance.

    • + * UtteranceTimestamp – The date and time of the utterance.

      *
    */ inline const AnalyticsUtteranceSortByName& GetName() const{ return m_name; } @@ -50,7 +50,7 @@ namespace Model /** *

    The measure by which to sort the utterance analytics data.

    • * Count – The number of utterances.

    • - * UtteranceTimeStamp – The date and time of the utterance.

    • + * UtteranceTimestamp – The date and time of the utterance.

      *
    */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } @@ -58,7 +58,7 @@ namespace Model /** *

    The measure by which to sort the utterance analytics data.

    • * Count – The number of utterances.

    • - * UtteranceTimeStamp – The date and time of the utterance.

    • + * UtteranceTimestamp – The date and time of the utterance.

      *
    */ inline void SetName(const AnalyticsUtteranceSortByName& value) { m_nameHasBeenSet = true; m_name = value; } @@ -66,7 +66,7 @@ namespace Model /** *

    The measure by which to sort the utterance analytics data.

    • * Count – The number of utterances.

    • - * UtteranceTimeStamp – The date and time of the utterance.

    • + * UtteranceTimestamp – The date and time of the utterance.

      *
    */ inline void SetName(AnalyticsUtteranceSortByName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } @@ -74,7 +74,7 @@ namespace Model /** *

    The measure by which to sort the utterance analytics data.

    • * Count – The number of utterances.

    • - * UtteranceTimeStamp – The date and time of the utterance.

    • + * UtteranceTimestamp – The date and time of the utterance.

      *
    */ inline UtteranceDataSortBy& WithName(const AnalyticsUtteranceSortByName& value) { SetName(value); return *this;} @@ -82,7 +82,7 @@ namespace Model /** *

    The measure by which to sort the utterance analytics data.

    • * Count – The number of utterances.

    • - * UtteranceTimeStamp – The date and time of the utterance.

    • + * UtteranceTimestamp – The date and time of the utterance.

      *
    */ inline UtteranceDataSortBy& WithName(AnalyticsUtteranceSortByName&& value) { SetName(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UtteranceSpecification.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UtteranceSpecification.h index 8891d085f3a..328ade8efe2 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UtteranceSpecification.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UtteranceSpecification.h @@ -6,7 +6,6 @@ #pragma once #include #include -#include #include #include #include @@ -212,7 +211,7 @@ namespace Model *

    The channel that is integrated with the bot that the utterance was made * to.

    */ - inline const BotChannelType& GetChannel() const{ return m_channel; } + inline const Aws::String& GetChannel() const{ return m_channel; } /** *

    The channel that is integrated with the bot that the utterance was made @@ -224,25 +223,37 @@ namespace Model *

    The channel that is integrated with the bot that the utterance was made * to.

    */ - inline void SetChannel(const BotChannelType& value) { m_channelHasBeenSet = true; m_channel = value; } + inline void SetChannel(const Aws::String& value) { m_channelHasBeenSet = true; m_channel = value; } /** *

    The channel that is integrated with the bot that the utterance was made * to.

    */ - inline void SetChannel(BotChannelType&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } + inline void SetChannel(Aws::String&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } /** *

    The channel that is integrated with the bot that the utterance was made * to.

    */ - inline UtteranceSpecification& WithChannel(const BotChannelType& value) { SetChannel(value); return *this;} + inline void SetChannel(const char* value) { m_channelHasBeenSet = true; m_channel.assign(value); } /** *

    The channel that is integrated with the bot that the utterance was made * to.

    */ - inline UtteranceSpecification& WithChannel(BotChannelType&& value) { SetChannel(std::move(value)); return *this;} + inline UtteranceSpecification& WithChannel(const Aws::String& value) { SetChannel(value); return *this;} + + /** + *

    The channel that is integrated with the bot that the utterance was made + * to.

    + */ + inline UtteranceSpecification& WithChannel(Aws::String&& value) { SetChannel(std::move(value)); return *this;} + + /** + *

    The channel that is integrated with the bot that the utterance was made + * to.

    + */ + inline UtteranceSpecification& WithChannel(const char* value) { SetChannel(value); return *this;} /** @@ -1069,7 +1080,7 @@ namespace Model Aws::String m_sessionId; bool m_sessionIdHasBeenSet = false; - BotChannelType m_channel; + Aws::String m_channel; bool m_channelHasBeenSet = false; AnalyticsModality m_mode; diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/BotChannelType.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/BotChannelType.cpp deleted file mode 100644 index afca3711b14..00000000000 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/BotChannelType.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/** - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -#include -#include -#include -#include - -using namespace Aws::Utils; - - -namespace Aws -{ - namespace LexModelsV2 - { - namespace Model - { - namespace BotChannelTypeMapper - { - - static const int Facebook_HASH = HashingUtils::HashString("Facebook"); - static const int Slack_HASH = HashingUtils::HashString("Slack"); - static const int TwilioSms_HASH = HashingUtils::HashString("TwilioSms"); - - - BotChannelType GetBotChannelTypeForName(const Aws::String& name) - { - int hashCode = HashingUtils::HashString(name.c_str()); - if (hashCode == Facebook_HASH) - { - return BotChannelType::Facebook; - } - else if (hashCode == Slack_HASH) - { - return BotChannelType::Slack; - } - else if (hashCode == TwilioSms_HASH) - { - return BotChannelType::TwilioSms; - } - EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); - if(overflowContainer) - { - overflowContainer->StoreOverflow(hashCode, name); - return static_cast(hashCode); - } - - return BotChannelType::NOT_SET; - } - - Aws::String GetNameForBotChannelType(BotChannelType enumValue) - { - switch(enumValue) - { - case BotChannelType::Facebook: - return "Facebook"; - case BotChannelType::Slack: - return "Slack"; - case BotChannelType::TwilioSms: - return "TwilioSms"; - default: - EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); - if(overflowContainer) - { - return overflowContainer->RetrieveOverflow(static_cast(enumValue)); - } - - return {}; - } - } - - } // namespace BotChannelTypeMapper - } // namespace Model - } // namespace LexModelsV2 -} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/SessionSpecification.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SessionSpecification.cpp index f700b1af53f..34ebb0262bc 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/SessionSpecification.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SessionSpecification.cpp @@ -22,7 +22,6 @@ SessionSpecification::SessionSpecification() : m_botAliasIdHasBeenSet(false), m_botVersionHasBeenSet(false), m_localeIdHasBeenSet(false), - m_channel(BotChannelType::NOT_SET), m_channelHasBeenSet(false), m_sessionIdHasBeenSet(false), m_conversationStartTimeHasBeenSet(false), @@ -44,7 +43,6 @@ SessionSpecification::SessionSpecification(JsonView jsonValue) : m_botAliasIdHasBeenSet(false), m_botVersionHasBeenSet(false), m_localeIdHasBeenSet(false), - m_channel(BotChannelType::NOT_SET), m_channelHasBeenSet(false), m_sessionIdHasBeenSet(false), m_conversationStartTimeHasBeenSet(false), @@ -88,7 +86,7 @@ SessionSpecification& SessionSpecification::operator =(JsonView jsonValue) if(jsonValue.ValueExists("channel")) { - m_channel = BotChannelTypeMapper::GetBotChannelTypeForName(jsonValue.GetString("channel")); + m_channel = jsonValue.GetString("channel"); m_channelHasBeenSet = true; } @@ -186,7 +184,8 @@ JsonValue SessionSpecification::Jsonize() const if(m_channelHasBeenSet) { - payload.WithString("channel", BotChannelTypeMapper::GetNameForBotChannelType(m_channel)); + payload.WithString("channel", m_channel); + } if(m_sessionIdHasBeenSet) diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/UtteranceSpecification.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/UtteranceSpecification.cpp index 215e97f90a4..6ee3eb5c27e 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/UtteranceSpecification.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/UtteranceSpecification.cpp @@ -23,7 +23,6 @@ UtteranceSpecification::UtteranceSpecification() : m_botVersionHasBeenSet(false), m_localeIdHasBeenSet(false), m_sessionIdHasBeenSet(false), - m_channel(BotChannelType::NOT_SET), m_channelHasBeenSet(false), m_mode(AnalyticsModality::NOT_SET), m_modeHasBeenSet(false), @@ -54,7 +53,6 @@ UtteranceSpecification::UtteranceSpecification(JsonView jsonValue) : m_botVersionHasBeenSet(false), m_localeIdHasBeenSet(false), m_sessionIdHasBeenSet(false), - m_channel(BotChannelType::NOT_SET), m_channelHasBeenSet(false), m_mode(AnalyticsModality::NOT_SET), m_modeHasBeenSet(false), @@ -113,7 +111,7 @@ UtteranceSpecification& UtteranceSpecification::operator =(JsonView jsonValue) if(jsonValue.ValueExists("channel")) { - m_channel = BotChannelTypeMapper::GetBotChannelTypeForName(jsonValue.GetString("channel")); + m_channel = jsonValue.GetString("channel"); m_channelHasBeenSet = true; } @@ -273,7 +271,8 @@ JsonValue UtteranceSpecification::Jsonize() const if(m_channelHasBeenSet) { - payload.WithString("channel", BotChannelTypeMapper::GetNameForBotChannelType(m_channel)); + payload.WithString("channel", m_channel); + } if(m_modeHasBeenSet) diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClient.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClient.h index 777a4d493a8..6b1bdc20609 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClient.h +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClient.h @@ -306,6 +306,31 @@ namespace Route53Resolver return SubmitAsync(&Route53ResolverClient::CreateFirewallRuleGroup, request, handler, context); } + /** + *

    Creates an Route 53 Resolver on an Outpost.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateOutpostResolverOutcome CreateOutpostResolver(const Model::CreateOutpostResolverRequest& request) const; + + /** + * A Callable wrapper for CreateOutpostResolver that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateOutpostResolverOutcomeCallable CreateOutpostResolverCallable(const CreateOutpostResolverRequestT& request) const + { + return SubmitCallable(&Route53ResolverClient::CreateOutpostResolver, request); + } + + /** + * An Async wrapper for CreateOutpostResolver that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateOutpostResolverAsync(const CreateOutpostResolverRequestT& request, const CreateOutpostResolverResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Route53ResolverClient::CreateOutpostResolver, request, handler, context); + } + /** *

    Creates a Resolver endpoint. There are two types of Resolver endpoints, * inbound and outbound:

    + *

    In the Resource section of the statement, you specify the ARNs + * for the query logging configurations that you want to share with the account + * that you specified in Arn.

    */ inline bool ResolverQueryLogConfigPolicyHasBeenSet() const { return m_resolverQueryLogConfigPolicyHasBeenSet; } @@ -123,11 +121,10 @@ namespace Model * statement:

    • * route53resolver:AssociateResolverQueryLogConfig

    • * route53resolver:DisassociateResolverQueryLogConfig

    • - *

      route53resolver:ListResolverQueryLogConfigAssociations

      - *
    • route53resolver:ListResolverQueryLogConfigs

      - *

    In the Resource section of the statement, you - * specify the ARNs for the query logging configurations that you want to share - * with the account that you specified in Arn.

    + *

    route53resolver:ListResolverQueryLogConfigs

    + *

    In the Resource section of the statement, you specify the ARNs + * for the query logging configurations that you want to share with the account + * that you specified in Arn.

    */ inline void SetResolverQueryLogConfigPolicy(const Aws::String& value) { m_resolverQueryLogConfigPolicyHasBeenSet = true; m_resolverQueryLogConfigPolicy = value; } @@ -139,11 +136,10 @@ namespace Model * statement:

    • * route53resolver:AssociateResolverQueryLogConfig

    • * route53resolver:DisassociateResolverQueryLogConfig

    • - *

      route53resolver:ListResolverQueryLogConfigAssociations

      - *
    • route53resolver:ListResolverQueryLogConfigs

      - *

    In the Resource section of the statement, you - * specify the ARNs for the query logging configurations that you want to share - * with the account that you specified in Arn.

    + *

    route53resolver:ListResolverQueryLogConfigs

    + *

    In the Resource section of the statement, you specify the ARNs + * for the query logging configurations that you want to share with the account + * that you specified in Arn.

    */ inline void SetResolverQueryLogConfigPolicy(Aws::String&& value) { m_resolverQueryLogConfigPolicyHasBeenSet = true; m_resolverQueryLogConfigPolicy = std::move(value); } @@ -155,11 +151,10 @@ namespace Model * statement:

    • * route53resolver:AssociateResolverQueryLogConfig

    • * route53resolver:DisassociateResolverQueryLogConfig

    • - *

      route53resolver:ListResolverQueryLogConfigAssociations

      - *
    • route53resolver:ListResolverQueryLogConfigs

      - *

    In the Resource section of the statement, you - * specify the ARNs for the query logging configurations that you want to share - * with the account that you specified in Arn.

    + *

    route53resolver:ListResolverQueryLogConfigs

    + *

    In the Resource section of the statement, you specify the ARNs + * for the query logging configurations that you want to share with the account + * that you specified in Arn.

    */ inline void SetResolverQueryLogConfigPolicy(const char* value) { m_resolverQueryLogConfigPolicyHasBeenSet = true; m_resolverQueryLogConfigPolicy.assign(value); } @@ -171,11 +166,10 @@ namespace Model * statement:

    • * route53resolver:AssociateResolverQueryLogConfig

    • * route53resolver:DisassociateResolverQueryLogConfig

    • - *

      route53resolver:ListResolverQueryLogConfigAssociations

      - *
    • route53resolver:ListResolverQueryLogConfigs

      - *

    In the Resource section of the statement, you - * specify the ARNs for the query logging configurations that you want to share - * with the account that you specified in Arn.

    + *

    route53resolver:ListResolverQueryLogConfigs

    + *

    In the Resource section of the statement, you specify the ARNs + * for the query logging configurations that you want to share with the account + * that you specified in Arn.

    */ inline PutResolverQueryLogConfigPolicyRequest& WithResolverQueryLogConfigPolicy(const Aws::String& value) { SetResolverQueryLogConfigPolicy(value); return *this;} @@ -187,11 +181,10 @@ namespace Model * statement:

    • * route53resolver:AssociateResolverQueryLogConfig

    • * route53resolver:DisassociateResolverQueryLogConfig

    • - *

      route53resolver:ListResolverQueryLogConfigAssociations

      - *
    • route53resolver:ListResolverQueryLogConfigs

      - *

    In the Resource section of the statement, you - * specify the ARNs for the query logging configurations that you want to share - * with the account that you specified in Arn.

    + *

    route53resolver:ListResolverQueryLogConfigs

    + *

    In the Resource section of the statement, you specify the ARNs + * for the query logging configurations that you want to share with the account + * that you specified in Arn.

    */ inline PutResolverQueryLogConfigPolicyRequest& WithResolverQueryLogConfigPolicy(Aws::String&& value) { SetResolverQueryLogConfigPolicy(std::move(value)); return *this;} @@ -203,11 +196,10 @@ namespace Model * statement:

    • * route53resolver:AssociateResolverQueryLogConfig

    • * route53resolver:DisassociateResolverQueryLogConfig

    • - *

      route53resolver:ListResolverQueryLogConfigAssociations

      - *
    • route53resolver:ListResolverQueryLogConfigs

      - *

    In the Resource section of the statement, you - * specify the ARNs for the query logging configurations that you want to share - * with the account that you specified in Arn.

    + *

    route53resolver:ListResolverQueryLogConfigs

    + *

    In the Resource section of the statement, you specify the ARNs + * for the query logging configurations that you want to share with the account + * that you specified in Arn.

    */ inline PutResolverQueryLogConfigPolicyRequest& WithResolverQueryLogConfigPolicy(const char* value) { SetResolverQueryLogConfigPolicy(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ResolverEndpoint.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ResolverEndpoint.h index 6e2ca571d0a..809dc0e7e58 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ResolverEndpoint.h +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ResolverEndpoint.h @@ -799,6 +799,88 @@ namespace Model */ inline ResolverEndpoint& WithResolverEndpointType(ResolverEndpointType&& value) { SetResolverEndpointType(std::move(value)); return *this;} + + /** + *

    The ARN (Amazon Resource Name) for the Outpost.

    + */ + inline const Aws::String& GetOutpostArn() const{ return m_outpostArn; } + + /** + *

    The ARN (Amazon Resource Name) for the Outpost.

    + */ + inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; } + + /** + *

    The ARN (Amazon Resource Name) for the Outpost.

    + */ + inline void SetOutpostArn(const Aws::String& value) { m_outpostArnHasBeenSet = true; m_outpostArn = value; } + + /** + *

    The ARN (Amazon Resource Name) for the Outpost.

    + */ + inline void SetOutpostArn(Aws::String&& value) { m_outpostArnHasBeenSet = true; m_outpostArn = std::move(value); } + + /** + *

    The ARN (Amazon Resource Name) for the Outpost.

    + */ + inline void SetOutpostArn(const char* value) { m_outpostArnHasBeenSet = true; m_outpostArn.assign(value); } + + /** + *

    The ARN (Amazon Resource Name) for the Outpost.

    + */ + inline ResolverEndpoint& WithOutpostArn(const Aws::String& value) { SetOutpostArn(value); return *this;} + + /** + *

    The ARN (Amazon Resource Name) for the Outpost.

    + */ + inline ResolverEndpoint& WithOutpostArn(Aws::String&& value) { SetOutpostArn(std::move(value)); return *this;} + + /** + *

    The ARN (Amazon Resource Name) for the Outpost.

    + */ + inline ResolverEndpoint& WithOutpostArn(const char* value) { SetOutpostArn(value); return *this;} + + + /** + *

    The Amazon EC2 instance type.

    + */ + inline const Aws::String& GetPreferredInstanceType() const{ return m_preferredInstanceType; } + + /** + *

    The Amazon EC2 instance type.

    + */ + inline bool PreferredInstanceTypeHasBeenSet() const { return m_preferredInstanceTypeHasBeenSet; } + + /** + *

    The Amazon EC2 instance type.

    + */ + inline void SetPreferredInstanceType(const Aws::String& value) { m_preferredInstanceTypeHasBeenSet = true; m_preferredInstanceType = value; } + + /** + *

    The Amazon EC2 instance type.

    + */ + inline void SetPreferredInstanceType(Aws::String&& value) { m_preferredInstanceTypeHasBeenSet = true; m_preferredInstanceType = std::move(value); } + + /** + *

    The Amazon EC2 instance type.

    + */ + inline void SetPreferredInstanceType(const char* value) { m_preferredInstanceTypeHasBeenSet = true; m_preferredInstanceType.assign(value); } + + /** + *

    The Amazon EC2 instance type.

    + */ + inline ResolverEndpoint& WithPreferredInstanceType(const Aws::String& value) { SetPreferredInstanceType(value); return *this;} + + /** + *

    The Amazon EC2 instance type.

    + */ + inline ResolverEndpoint& WithPreferredInstanceType(Aws::String&& value) { SetPreferredInstanceType(std::move(value)); return *this;} + + /** + *

    The Amazon EC2 instance type.

    + */ + inline ResolverEndpoint& WithPreferredInstanceType(const char* value) { SetPreferredInstanceType(value); return *this;} + private: Aws::String m_id; @@ -839,6 +921,12 @@ namespace Model ResolverEndpointType m_resolverEndpointType; bool m_resolverEndpointTypeHasBeenSet = false; + + Aws::String m_outpostArn; + bool m_outpostArnHasBeenSet = false; + + Aws::String m_preferredInstanceType; + bool m_preferredInstanceTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ResolverRule.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ResolverRule.h index 4506ca68f89..ff2734501a2 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ResolverRule.h +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/ResolverRule.h @@ -475,56 +475,56 @@ namespace Model /** *

    An array that contains the IP addresses and ports that an outbound endpoint * forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - * on your network. Specify IPv4 addresses. IPv6 is not supported.

    + * on your network.

    */ inline const Aws::Vector& GetTargetIps() const{ return m_targetIps; } /** *

    An array that contains the IP addresses and ports that an outbound endpoint * forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - * on your network. Specify IPv4 addresses. IPv6 is not supported.

    + * on your network.

    */ inline bool TargetIpsHasBeenSet() const { return m_targetIpsHasBeenSet; } /** *

    An array that contains the IP addresses and ports that an outbound endpoint * forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - * on your network. Specify IPv4 addresses. IPv6 is not supported.

    + * on your network.

    */ inline void SetTargetIps(const Aws::Vector& value) { m_targetIpsHasBeenSet = true; m_targetIps = value; } /** *

    An array that contains the IP addresses and ports that an outbound endpoint * forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - * on your network. Specify IPv4 addresses. IPv6 is not supported.

    + * on your network.

    */ inline void SetTargetIps(Aws::Vector&& value) { m_targetIpsHasBeenSet = true; m_targetIps = std::move(value); } /** *

    An array that contains the IP addresses and ports that an outbound endpoint * forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - * on your network. Specify IPv4 addresses. IPv6 is not supported.

    + * on your network.

    */ inline ResolverRule& WithTargetIps(const Aws::Vector& value) { SetTargetIps(value); return *this;} /** *

    An array that contains the IP addresses and ports that an outbound endpoint * forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - * on your network. Specify IPv4 addresses. IPv6 is not supported.

    + * on your network.

    */ inline ResolverRule& WithTargetIps(Aws::Vector&& value) { SetTargetIps(std::move(value)); return *this;} /** *

    An array that contains the IP addresses and ports that an outbound endpoint * forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - * on your network. Specify IPv4 addresses. IPv6 is not supported.

    + * on your network.

    */ inline ResolverRule& AddTargetIps(const TargetAddress& value) { m_targetIpsHasBeenSet = true; m_targetIps.push_back(value); return *this; } /** *

    An array that contains the IP addresses and ports that an outbound endpoint * forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - * on your network. Specify IPv4 addresses. IPv6 is not supported.

    + * on your network.

    */ inline ResolverRule& AddTargetIps(TargetAddress&& value) { m_targetIpsHasBeenSet = true; m_targetIps.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateOutpostResolverRequest.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateOutpostResolverRequest.h new file mode 100644 index 00000000000..c5b75307424 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateOutpostResolverRequest.h @@ -0,0 +1,197 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Route53Resolver +{ +namespace Model +{ + + /** + */ + class UpdateOutpostResolverRequest : public Route53ResolverRequest + { + public: + AWS_ROUTE53RESOLVER_API UpdateOutpostResolverRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateOutpostResolver"; } + + AWS_ROUTE53RESOLVER_API Aws::String SerializePayload() const override; + + AWS_ROUTE53RESOLVER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

    A unique string that identifies Resolver on an Outpost.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

    A unique string that identifies Resolver on an Outpost.

    + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

    A unique string that identifies Resolver on an Outpost.

    + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

    A unique string that identifies Resolver on an Outpost.

    + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

    A unique string that identifies Resolver on an Outpost.

    + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

    A unique string that identifies Resolver on an Outpost.

    + */ + inline UpdateOutpostResolverRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

    A unique string that identifies Resolver on an Outpost.

    + */ + inline UpdateOutpostResolverRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

    A unique string that identifies Resolver on an Outpost.

    + */ + inline UpdateOutpostResolverRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

    Name of the Resolver on the Outpost.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    Name of the Resolver on the Outpost.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    Name of the Resolver on the Outpost.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    Name of the Resolver on the Outpost.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    Name of the Resolver on the Outpost.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    Name of the Resolver on the Outpost.

    + */ + inline UpdateOutpostResolverRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    Name of the Resolver on the Outpost.

    + */ + inline UpdateOutpostResolverRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    Name of the Resolver on the Outpost.

    + */ + inline UpdateOutpostResolverRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The Amazon EC2 instance count for a Resolver on the Outpost.

    + */ + inline int GetInstanceCount() const{ return m_instanceCount; } + + /** + *

    The Amazon EC2 instance count for a Resolver on the Outpost.

    + */ + inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } + + /** + *

    The Amazon EC2 instance count for a Resolver on the Outpost.

    + */ + inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } + + /** + *

    The Amazon EC2 instance count for a Resolver on the Outpost.

    + */ + inline UpdateOutpostResolverRequest& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} + + + /** + *

    Amazon EC2 instance type.

    + */ + inline const Aws::String& GetPreferredInstanceType() const{ return m_preferredInstanceType; } + + /** + *

    Amazon EC2 instance type.

    + */ + inline bool PreferredInstanceTypeHasBeenSet() const { return m_preferredInstanceTypeHasBeenSet; } + + /** + *

    Amazon EC2 instance type.

    + */ + inline void SetPreferredInstanceType(const Aws::String& value) { m_preferredInstanceTypeHasBeenSet = true; m_preferredInstanceType = value; } + + /** + *

    Amazon EC2 instance type.

    + */ + inline void SetPreferredInstanceType(Aws::String&& value) { m_preferredInstanceTypeHasBeenSet = true; m_preferredInstanceType = std::move(value); } + + /** + *

    Amazon EC2 instance type.

    + */ + inline void SetPreferredInstanceType(const char* value) { m_preferredInstanceTypeHasBeenSet = true; m_preferredInstanceType.assign(value); } + + /** + *

    Amazon EC2 instance type.

    + */ + inline UpdateOutpostResolverRequest& WithPreferredInstanceType(const Aws::String& value) { SetPreferredInstanceType(value); return *this;} + + /** + *

    Amazon EC2 instance type.

    + */ + inline UpdateOutpostResolverRequest& WithPreferredInstanceType(Aws::String&& value) { SetPreferredInstanceType(std::move(value)); return *this;} + + /** + *

    Amazon EC2 instance type.

    + */ + inline UpdateOutpostResolverRequest& WithPreferredInstanceType(const char* value) { SetPreferredInstanceType(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + int m_instanceCount; + bool m_instanceCountHasBeenSet = false; + + Aws::String m_preferredInstanceType; + bool m_preferredInstanceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Route53Resolver +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateOutpostResolverResult.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateOutpostResolverResult.h new file mode 100644 index 00000000000..f3bbf6c0b44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateOutpostResolverResult.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Route53Resolver +{ +namespace Model +{ + class UpdateOutpostResolverResult + { + public: + AWS_ROUTE53RESOLVER_API UpdateOutpostResolverResult(); + AWS_ROUTE53RESOLVER_API UpdateOutpostResolverResult(const Aws::AmazonWebServiceResult& result); + AWS_ROUTE53RESOLVER_API UpdateOutpostResolverResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The response to an UpdateOutpostResolver request.

    + */ + inline const OutpostResolver& GetOutpostResolver() const{ return m_outpostResolver; } + + /** + *

    The response to an UpdateOutpostResolver request.

    + */ + inline void SetOutpostResolver(const OutpostResolver& value) { m_outpostResolver = value; } + + /** + *

    The response to an UpdateOutpostResolver request.

    + */ + inline void SetOutpostResolver(OutpostResolver&& value) { m_outpostResolver = std::move(value); } + + /** + *

    The response to an UpdateOutpostResolver request.

    + */ + inline UpdateOutpostResolverResult& WithOutpostResolver(const OutpostResolver& value) { SetOutpostResolver(value); return *this;} + + /** + *

    The response to an UpdateOutpostResolver request.

    + */ + inline UpdateOutpostResolverResult& WithOutpostResolver(OutpostResolver&& value) { SetOutpostResolver(std::move(value)); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline UpdateOutpostResolverResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateOutpostResolverResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateOutpostResolverResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + OutpostResolver m_outpostResolver; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Route53Resolver +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateResolverEndpointRequest.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateResolverEndpointRequest.h index ad378668a43..88a6e1cf14d 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateResolverEndpointRequest.h +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/model/UpdateResolverEndpointRequest.h @@ -121,78 +121,100 @@ namespace Model /** *

    Specifies the endpoint type for what type of IP address the endpoint uses to - * forward DNS queries.

    + * forward DNS queries.

    Updating to IPV6 type isn't currently + * supported.

    */ inline const ResolverEndpointType& GetResolverEndpointType() const{ return m_resolverEndpointType; } /** *

    Specifies the endpoint type for what type of IP address the endpoint uses to - * forward DNS queries.

    + * forward DNS queries.

    Updating to IPV6 type isn't currently + * supported.

    */ inline bool ResolverEndpointTypeHasBeenSet() const { return m_resolverEndpointTypeHasBeenSet; } /** *

    Specifies the endpoint type for what type of IP address the endpoint uses to - * forward DNS queries.

    + * forward DNS queries.

    Updating to IPV6 type isn't currently + * supported.

    */ inline void SetResolverEndpointType(const ResolverEndpointType& value) { m_resolverEndpointTypeHasBeenSet = true; m_resolverEndpointType = value; } /** *

    Specifies the endpoint type for what type of IP address the endpoint uses to - * forward DNS queries.

    + * forward DNS queries.

    Updating to IPV6 type isn't currently + * supported.

    */ inline void SetResolverEndpointType(ResolverEndpointType&& value) { m_resolverEndpointTypeHasBeenSet = true; m_resolverEndpointType = std::move(value); } /** *

    Specifies the endpoint type for what type of IP address the endpoint uses to - * forward DNS queries.

    + * forward DNS queries.

    Updating to IPV6 type isn't currently + * supported.

    */ inline UpdateResolverEndpointRequest& WithResolverEndpointType(const ResolverEndpointType& value) { SetResolverEndpointType(value); return *this;} /** *

    Specifies the endpoint type for what type of IP address the endpoint uses to - * forward DNS queries.

    + * forward DNS queries.

    Updating to IPV6 type isn't currently + * supported.

    */ inline UpdateResolverEndpointRequest& WithResolverEndpointType(ResolverEndpointType&& value) { SetResolverEndpointType(std::move(value)); return *this;} /** - *

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    + *

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 + * to dual-stack. If you don't specify an IPv6 address, one will be automatically + * chosen from your subnet.

    */ inline const Aws::Vector& GetUpdateIpAddresses() const{ return m_updateIpAddresses; } /** - *

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    + *

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 + * to dual-stack. If you don't specify an IPv6 address, one will be automatically + * chosen from your subnet.

    */ inline bool UpdateIpAddressesHasBeenSet() const { return m_updateIpAddressesHasBeenSet; } /** - *

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    + *

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 + * to dual-stack. If you don't specify an IPv6 address, one will be automatically + * chosen from your subnet.

    */ inline void SetUpdateIpAddresses(const Aws::Vector& value) { m_updateIpAddressesHasBeenSet = true; m_updateIpAddresses = value; } /** - *

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    + *

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 + * to dual-stack. If you don't specify an IPv6 address, one will be automatically + * chosen from your subnet.

    */ inline void SetUpdateIpAddresses(Aws::Vector&& value) { m_updateIpAddressesHasBeenSet = true; m_updateIpAddresses = std::move(value); } /** - *

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    + *

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 + * to dual-stack. If you don't specify an IPv6 address, one will be automatically + * chosen from your subnet.

    */ inline UpdateResolverEndpointRequest& WithUpdateIpAddresses(const Aws::Vector& value) { SetUpdateIpAddresses(value); return *this;} /** - *

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    + *

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 + * to dual-stack. If you don't specify an IPv6 address, one will be automatically + * chosen from your subnet.

    */ inline UpdateResolverEndpointRequest& WithUpdateIpAddresses(Aws::Vector&& value) { SetUpdateIpAddresses(std::move(value)); return *this;} /** - *

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    + *

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 + * to dual-stack. If you don't specify an IPv6 address, one will be automatically + * chosen from your subnet.

    */ inline UpdateResolverEndpointRequest& AddUpdateIpAddresses(const UpdateIpAddress& value) { m_updateIpAddressesHasBeenSet = true; m_updateIpAddresses.push_back(value); return *this; } /** - *

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    + *

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 + * to dual-stack. If you don't specify an IPv6 address, one will be automatically + * chosen from your subnet.

    */ inline UpdateResolverEndpointRequest& AddUpdateIpAddresses(UpdateIpAddress&& value) { m_updateIpAddressesHasBeenSet = true; m_updateIpAddresses.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClient.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClient.cpp index 9ab2bd6f1dc..bccc07bf2a6 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClient.cpp +++ b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClient.cpp @@ -28,12 +28,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -46,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -62,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -80,6 +84,7 @@ #include #include #include +#include #include #include #include @@ -399,6 +404,32 @@ CreateFirewallRuleGroupOutcome Route53ResolverClient::CreateFirewallRuleGroup(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateOutpostResolverOutcome Route53ResolverClient::CreateOutpostResolver(const CreateOutpostResolverRequest& request) const +{ + AWS_OPERATION_GUARD(CreateOutpostResolver); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateOutpostResolver, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateOutpostResolver, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateOutpostResolver, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateOutpostResolver", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateOutpostResolverOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateOutpostResolver, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateOutpostResolverOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateResolverEndpointOutcome Route53ResolverClient::CreateResolverEndpoint(const CreateResolverEndpointRequest& request) const { AWS_OPERATION_GUARD(CreateResolverEndpoint); @@ -555,6 +586,32 @@ DeleteFirewallRuleGroupOutcome Route53ResolverClient::DeleteFirewallRuleGroup(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteOutpostResolverOutcome Route53ResolverClient::DeleteOutpostResolver(const DeleteOutpostResolverRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteOutpostResolver); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteOutpostResolver, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteOutpostResolver, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteOutpostResolver, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteOutpostResolver", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteOutpostResolverOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteOutpostResolver, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteOutpostResolverOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteResolverEndpointOutcome Route53ResolverClient::DeleteResolverEndpoint(const DeleteResolverEndpointRequest& request) const { AWS_OPERATION_GUARD(DeleteResolverEndpoint); @@ -867,6 +924,32 @@ GetFirewallRuleGroupPolicyOutcome Route53ResolverClient::GetFirewallRuleGroupPol {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetOutpostResolverOutcome Route53ResolverClient::GetOutpostResolver(const GetOutpostResolverRequest& request) const +{ + AWS_OPERATION_GUARD(GetOutpostResolver); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetOutpostResolver, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetOutpostResolver, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetOutpostResolver, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetOutpostResolver", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetOutpostResolverOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetOutpostResolver, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetOutpostResolverOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetResolverConfigOutcome Route53ResolverClient::GetResolverConfig(const GetResolverConfigRequest& request) const { AWS_OPERATION_GUARD(GetResolverConfig); @@ -1283,6 +1366,32 @@ ListFirewallRulesOutcome Route53ResolverClient::ListFirewallRules(const ListFire {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListOutpostResolversOutcome Route53ResolverClient::ListOutpostResolvers(const ListOutpostResolversRequest& request) const +{ + AWS_OPERATION_GUARD(ListOutpostResolvers); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListOutpostResolvers, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListOutpostResolvers, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListOutpostResolvers, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListOutpostResolvers", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListOutpostResolversOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListOutpostResolvers, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListOutpostResolversOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListResolverConfigsOutcome Route53ResolverClient::ListResolverConfigs(const ListResolverConfigsRequest& request) const { AWS_OPERATION_GUARD(ListResolverConfigs); @@ -1751,6 +1860,32 @@ UpdateFirewallRuleGroupAssociationOutcome Route53ResolverClient::UpdateFirewallR {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateOutpostResolverOutcome Route53ResolverClient::UpdateOutpostResolver(const UpdateOutpostResolverRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateOutpostResolver); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateOutpostResolver, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateOutpostResolver, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateOutpostResolver, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateOutpostResolver", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateOutpostResolverOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateOutpostResolver, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateOutpostResolverOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateResolverConfigOutcome Route53ResolverClient::UpdateResolverConfig(const UpdateResolverConfigRequest& request) const { AWS_OPERATION_GUARD(UpdateResolverConfig); diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverEndpointRules.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverEndpointRules.cpp index 298761671d0..0450d6b16f6 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverEndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace Route53Resolver { -const size_t Route53ResolverEndpointRules::RulesBlobStrLen = 4162; -const size_t Route53ResolverEndpointRules::RulesBlobSize = 4163; +const size_t Route53ResolverEndpointRules::RulesBlobStrLen = 3760; +const size_t Route53ResolverEndpointRules::RulesBlobSize = 3761; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -122,66 +122,50 @@ static constexpr RulesBlobT RulesBlob = {{ '}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', '[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', '"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','u','s','-','g','o','v','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','r','o', -'u','t','e','5','3','r','e','s','o','l','v','e','r','.','u','s','-','g','o','v','-','e','a','s','t', -'-','1','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','u','s','-','g','o','v','-','w','e','s','t','-','1','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','r', -'o','u','t','e','5','3','r','e','s','o','l','v','e','r','.','u','s','-','g','o','v','-','w','e','s', -'t','-','1','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','r','o','u','t','e','5','3','r','e','s','o','l','v','e','r', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', 'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','r','o','u','t','e','5','3','r','e','s','o','l','v', -'e','r','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I', +'P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a', +'r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ', +'F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s', +'u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','r','o','u','t','e','5','3','r','e','s','o','l','v','e','r','.','{','R','e','g', +'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a', +'l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a', +'l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i', +'s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', +'o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','r','o','u','t','e','5','3','r', +'e','s','o','l','v','e','r','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', 'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ', -'p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r', -'t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','r','o','u','t','e','5','3','r','e','s','o','l','v','e','r','.','{','R', -'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D', -'u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t', -'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u', -'p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','r','o','u','t','e','5', -'3','r','e','s','o','l','v','e','r','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n', -':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',']','}','\0' +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', +'M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']','}',']','}','\0' }}; const char* Route53ResolverEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverErrors.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverErrors.cpp index 1807ed8d443..b8b83dcc710 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverErrors.cpp +++ b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverErrors.cpp @@ -64,14 +64,15 @@ namespace Route53ResolverErrorMapper static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); static const int RESOURCE_EXISTS_HASH = HashingUtils::HashString("ResourceExistsException"); static const int INVALID_POLICY_DOCUMENT_HASH = HashingUtils::HashString("InvalidPolicyDocument"); -static const int INVALID_PARAMETER_HASH = HashingUtils::HashString("InvalidParameterException"); static const int LIMIT_EXCEEDED_HASH = HashingUtils::HashString("LimitExceededException"); static const int INVALID_TAG_HASH = HashingUtils::HashString("InvalidTagException"); +static const int UNKNOWN_RESOURCE_HASH = HashingUtils::HashString("UnknownResourceException"); +static const int INVALID_NEXT_TOKEN_HASH = HashingUtils::HashString("InvalidNextTokenException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INVALID_PARAMETER_HASH = HashingUtils::HashString("InvalidParameterException"); static const int RESOURCE_IN_USE_HASH = HashingUtils::HashString("ResourceInUseException"); static const int INTERNAL_SERVICE_ERROR_HASH = HashingUtils::HashString("InternalServiceErrorException"); static const int RESOURCE_UNAVAILABLE_HASH = HashingUtils::HashString("ResourceUnavailableException"); -static const int UNKNOWN_RESOURCE_HASH = HashingUtils::HashString("UnknownResourceException"); -static const int INVALID_NEXT_TOKEN_HASH = HashingUtils::HashString("InvalidNextTokenException"); static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequestException"); @@ -91,10 +92,6 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(Route53ResolverErrors::INVALID_POLICY_DOCUMENT), false); } - else if (hashCode == INVALID_PARAMETER_HASH) - { - return AWSError(static_cast(Route53ResolverErrors::INVALID_PARAMETER), false); - } else if (hashCode == LIMIT_EXCEEDED_HASH) { return AWSError(static_cast(Route53ResolverErrors::LIMIT_EXCEEDED), true); @@ -103,6 +100,22 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(Route53ResolverErrors::INVALID_TAG), false); } + else if (hashCode == UNKNOWN_RESOURCE_HASH) + { + return AWSError(static_cast(Route53ResolverErrors::UNKNOWN_RESOURCE), false); + } + else if (hashCode == INVALID_NEXT_TOKEN_HASH) + { + return AWSError(static_cast(Route53ResolverErrors::INVALID_NEXT_TOKEN), false); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(Route53ResolverErrors::SERVICE_QUOTA_EXCEEDED), false); + } + else if (hashCode == INVALID_PARAMETER_HASH) + { + return AWSError(static_cast(Route53ResolverErrors::INVALID_PARAMETER), false); + } else if (hashCode == RESOURCE_IN_USE_HASH) { return AWSError(static_cast(Route53ResolverErrors::RESOURCE_IN_USE), false); @@ -115,14 +128,6 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(Route53ResolverErrors::RESOURCE_UNAVAILABLE), false); } - else if (hashCode == UNKNOWN_RESOURCE_HASH) - { - return AWSError(static_cast(Route53ResolverErrors::UNKNOWN_RESOURCE), false); - } - else if (hashCode == INVALID_NEXT_TOKEN_HASH) - { - return AWSError(static_cast(Route53ResolverErrors::INVALID_NEXT_TOKEN), false); - } else if (hashCode == INVALID_REQUEST_HASH) { return AWSError(static_cast(Route53ResolverErrors::INVALID_REQUEST), false); diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateOutpostResolverRequest.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateOutpostResolverRequest.cpp new file mode 100644 index 00000000000..0e946236a19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateOutpostResolverRequest.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateOutpostResolverRequest::CreateOutpostResolverRequest() : + m_creatorRequestIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_instanceCount(0), + m_instanceCountHasBeenSet(false), + m_preferredInstanceTypeHasBeenSet(false), + m_outpostArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateOutpostResolverRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_creatorRequestIdHasBeenSet) + { + payload.WithString("CreatorRequestId", m_creatorRequestId); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_instanceCountHasBeenSet) + { + payload.WithInteger("InstanceCount", m_instanceCount); + + } + + if(m_preferredInstanceTypeHasBeenSet) + { + payload.WithString("PreferredInstanceType", m_preferredInstanceType); + + } + + if(m_outpostArnHasBeenSet) + { + payload.WithString("OutpostArn", m_outpostArn); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateOutpostResolverRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Route53Resolver.CreateOutpostResolver")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateOutpostResolverResult.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateOutpostResolverResult.cpp new file mode 100644 index 00000000000..155dede0580 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateOutpostResolverResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateOutpostResolverResult::CreateOutpostResolverResult() +{ +} + +CreateOutpostResolverResult::CreateOutpostResolverResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateOutpostResolverResult& CreateOutpostResolverResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("OutpostResolver")) + { + m_outpostResolver = jsonValue.GetObject("OutpostResolver"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateResolverEndpointRequest.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateResolverEndpointRequest.cpp index 03b8ea3e004..8990ddcf51c 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateResolverEndpointRequest.cpp +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/CreateResolverEndpointRequest.cpp @@ -21,7 +21,9 @@ CreateResolverEndpointRequest::CreateResolverEndpointRequest() : m_ipAddressesHasBeenSet(false), m_tagsHasBeenSet(false), m_resolverEndpointType(ResolverEndpointType::NOT_SET), - m_resolverEndpointTypeHasBeenSet(false) + m_resolverEndpointTypeHasBeenSet(false), + m_outpostArnHasBeenSet(false), + m_preferredInstanceTypeHasBeenSet(false) { } @@ -84,6 +86,18 @@ Aws::String CreateResolverEndpointRequest::SerializePayload() const payload.WithString("ResolverEndpointType", ResolverEndpointTypeMapper::GetNameForResolverEndpointType(m_resolverEndpointType)); } + if(m_outpostArnHasBeenSet) + { + payload.WithString("OutpostArn", m_outpostArn); + + } + + if(m_preferredInstanceTypeHasBeenSet) + { + payload.WithString("PreferredInstanceType", m_preferredInstanceType); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/DeleteOutpostResolverRequest.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/DeleteOutpostResolverRequest.cpp new file mode 100644 index 00000000000..e62caefeebb --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/DeleteOutpostResolverRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteOutpostResolverRequest::DeleteOutpostResolverRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String DeleteOutpostResolverRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteOutpostResolverRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Route53Resolver.DeleteOutpostResolver")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/DeleteOutpostResolverResult.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/DeleteOutpostResolverResult.cpp new file mode 100644 index 00000000000..ac9c954c756 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/DeleteOutpostResolverResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteOutpostResolverResult::DeleteOutpostResolverResult() +{ +} + +DeleteOutpostResolverResult::DeleteOutpostResolverResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteOutpostResolverResult& DeleteOutpostResolverResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("OutpostResolver")) + { + m_outpostResolver = jsonValue.GetObject("OutpostResolver"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/GetOutpostResolverRequest.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/GetOutpostResolverRequest.cpp new file mode 100644 index 00000000000..a7fe432e67d --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/GetOutpostResolverRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetOutpostResolverRequest::GetOutpostResolverRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String GetOutpostResolverRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetOutpostResolverRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Route53Resolver.GetOutpostResolver")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/GetOutpostResolverResult.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/GetOutpostResolverResult.cpp new file mode 100644 index 00000000000..76f8bd754fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/GetOutpostResolverResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetOutpostResolverResult::GetOutpostResolverResult() +{ +} + +GetOutpostResolverResult::GetOutpostResolverResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetOutpostResolverResult& GetOutpostResolverResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("OutpostResolver")) + { + m_outpostResolver = jsonValue.GetObject("OutpostResolver"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/IpAddressStatus.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/IpAddressStatus.cpp index 6814604d3f7..d546f6f0826 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/source/model/IpAddressStatus.cpp +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/IpAddressStatus.cpp @@ -31,6 +31,7 @@ namespace Aws static const int DELETING_HASH = HashingUtils::HashString("DELETING"); static const int DELETE_FAILED_FAS_EXPIRED_HASH = HashingUtils::HashString("DELETE_FAILED_FAS_EXPIRED"); static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); + static const int UPDATE_FAILED_HASH = HashingUtils::HashString("UPDATE_FAILED"); IpAddressStatus GetIpAddressStatusForName(const Aws::String& name) @@ -80,6 +81,10 @@ namespace Aws { return IpAddressStatus::UPDATING; } + else if (hashCode == UPDATE_FAILED_HASH) + { + return IpAddressStatus::UPDATE_FAILED; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -116,6 +121,8 @@ namespace Aws return "DELETE_FAILED_FAS_EXPIRED"; case IpAddressStatus::UPDATING: return "UPDATING"; + case IpAddressStatus::UPDATE_FAILED: + return "UPDATE_FAILED"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/ListOutpostResolversRequest.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/ListOutpostResolversRequest.cpp new file mode 100644 index 00000000000..c6561e501a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/ListOutpostResolversRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListOutpostResolversRequest::ListOutpostResolversRequest() : + m_outpostArnHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListOutpostResolversRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_outpostArnHasBeenSet) + { + payload.WithString("OutpostArn", m_outpostArn); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListOutpostResolversRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Route53Resolver.ListOutpostResolvers")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/ListOutpostResolversResult.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/ListOutpostResolversResult.cpp new file mode 100644 index 00000000000..3c4a900c3d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/ListOutpostResolversResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListOutpostResolversResult::ListOutpostResolversResult() +{ +} + +ListOutpostResolversResult::ListOutpostResolversResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListOutpostResolversResult& ListOutpostResolversResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("OutpostResolvers")) + { + Aws::Utils::Array outpostResolversJsonList = jsonValue.GetArray("OutpostResolvers"); + for(unsigned outpostResolversIndex = 0; outpostResolversIndex < outpostResolversJsonList.GetLength(); ++outpostResolversIndex) + { + m_outpostResolvers.push_back(outpostResolversJsonList[outpostResolversIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/OutpostResolver.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/OutpostResolver.cpp new file mode 100644 index 00000000000..b5832ba72e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/OutpostResolver.cpp @@ -0,0 +1,212 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Route53Resolver +{ +namespace Model +{ + +OutpostResolver::OutpostResolver() : + m_arnHasBeenSet(false), + m_creationTimeHasBeenSet(false), + m_modificationTimeHasBeenSet(false), + m_creatorRequestIdHasBeenSet(false), + m_idHasBeenSet(false), + m_instanceCount(0), + m_instanceCountHasBeenSet(false), + m_preferredInstanceTypeHasBeenSet(false), + m_nameHasBeenSet(false), + m_status(OutpostResolverStatus::NOT_SET), + m_statusHasBeenSet(false), + m_statusMessageHasBeenSet(false), + m_outpostArnHasBeenSet(false) +{ +} + +OutpostResolver::OutpostResolver(JsonView jsonValue) : + m_arnHasBeenSet(false), + m_creationTimeHasBeenSet(false), + m_modificationTimeHasBeenSet(false), + m_creatorRequestIdHasBeenSet(false), + m_idHasBeenSet(false), + m_instanceCount(0), + m_instanceCountHasBeenSet(false), + m_preferredInstanceTypeHasBeenSet(false), + m_nameHasBeenSet(false), + m_status(OutpostResolverStatus::NOT_SET), + m_statusHasBeenSet(false), + m_statusMessageHasBeenSet(false), + m_outpostArnHasBeenSet(false) +{ + *this = jsonValue; +} + +OutpostResolver& OutpostResolver::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + + m_creationTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("ModificationTime")) + { + m_modificationTime = jsonValue.GetString("ModificationTime"); + + m_modificationTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatorRequestId")) + { + m_creatorRequestId = jsonValue.GetString("CreatorRequestId"); + + m_creatorRequestIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("InstanceCount")) + { + m_instanceCount = jsonValue.GetInteger("InstanceCount"); + + m_instanceCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("PreferredInstanceType")) + { + m_preferredInstanceType = jsonValue.GetString("PreferredInstanceType"); + + m_preferredInstanceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = OutpostResolverStatusMapper::GetOutpostResolverStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + + m_statusMessageHasBeenSet = true; + } + + if(jsonValue.ValueExists("OutpostArn")) + { + m_outpostArn = jsonValue.GetString("OutpostArn"); + + m_outpostArnHasBeenSet = true; + } + + return *this; +} + +JsonValue OutpostResolver::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_creationTimeHasBeenSet) + { + payload.WithString("CreationTime", m_creationTime); + + } + + if(m_modificationTimeHasBeenSet) + { + payload.WithString("ModificationTime", m_modificationTime); + + } + + if(m_creatorRequestIdHasBeenSet) + { + payload.WithString("CreatorRequestId", m_creatorRequestId); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_instanceCountHasBeenSet) + { + payload.WithInteger("InstanceCount", m_instanceCount); + + } + + if(m_preferredInstanceTypeHasBeenSet) + { + payload.WithString("PreferredInstanceType", m_preferredInstanceType); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", OutpostResolverStatusMapper::GetNameForOutpostResolverStatus(m_status)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + if(m_outpostArnHasBeenSet) + { + payload.WithString("OutpostArn", m_outpostArn); + + } + + return payload; +} + +} // namespace Model +} // namespace Route53Resolver +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/OutpostResolverStatus.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/OutpostResolverStatus.cpp new file mode 100644 index 00000000000..254c7341651 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/OutpostResolverStatus.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Route53Resolver + { + namespace Model + { + namespace OutpostResolverStatusMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int OPERATIONAL_HASH = HashingUtils::HashString("OPERATIONAL"); + static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int ACTION_NEEDED_HASH = HashingUtils::HashString("ACTION_NEEDED"); + static const int FAILED_CREATION_HASH = HashingUtils::HashString("FAILED_CREATION"); + static const int FAILED_DELETION_HASH = HashingUtils::HashString("FAILED_DELETION"); + + + OutpostResolverStatus GetOutpostResolverStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return OutpostResolverStatus::CREATING; + } + else if (hashCode == OPERATIONAL_HASH) + { + return OutpostResolverStatus::OPERATIONAL; + } + else if (hashCode == UPDATING_HASH) + { + return OutpostResolverStatus::UPDATING; + } + else if (hashCode == DELETING_HASH) + { + return OutpostResolverStatus::DELETING; + } + else if (hashCode == ACTION_NEEDED_HASH) + { + return OutpostResolverStatus::ACTION_NEEDED; + } + else if (hashCode == FAILED_CREATION_HASH) + { + return OutpostResolverStatus::FAILED_CREATION; + } + else if (hashCode == FAILED_DELETION_HASH) + { + return OutpostResolverStatus::FAILED_DELETION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OutpostResolverStatus::NOT_SET; + } + + Aws::String GetNameForOutpostResolverStatus(OutpostResolverStatus enumValue) + { + switch(enumValue) + { + case OutpostResolverStatus::CREATING: + return "CREATING"; + case OutpostResolverStatus::OPERATIONAL: + return "OPERATIONAL"; + case OutpostResolverStatus::UPDATING: + return "UPDATING"; + case OutpostResolverStatus::DELETING: + return "DELETING"; + case OutpostResolverStatus::ACTION_NEEDED: + return "ACTION_NEEDED"; + case OutpostResolverStatus::FAILED_CREATION: + return "FAILED_CREATION"; + case OutpostResolverStatus::FAILED_DELETION: + return "FAILED_DELETION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OutpostResolverStatusMapper + } // namespace Model + } // namespace Route53Resolver +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/ResolverEndpoint.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/ResolverEndpoint.cpp index 7cda2b2e473..182da64c2fd 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/source/model/ResolverEndpoint.cpp +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/ResolverEndpoint.cpp @@ -35,7 +35,9 @@ ResolverEndpoint::ResolverEndpoint() : m_creationTimeHasBeenSet(false), m_modificationTimeHasBeenSet(false), m_resolverEndpointType(ResolverEndpointType::NOT_SET), - m_resolverEndpointTypeHasBeenSet(false) + m_resolverEndpointTypeHasBeenSet(false), + m_outpostArnHasBeenSet(false), + m_preferredInstanceTypeHasBeenSet(false) { } @@ -56,7 +58,9 @@ ResolverEndpoint::ResolverEndpoint(JsonView jsonValue) : m_creationTimeHasBeenSet(false), m_modificationTimeHasBeenSet(false), m_resolverEndpointType(ResolverEndpointType::NOT_SET), - m_resolverEndpointTypeHasBeenSet(false) + m_resolverEndpointTypeHasBeenSet(false), + m_outpostArnHasBeenSet(false), + m_preferredInstanceTypeHasBeenSet(false) { *this = jsonValue; } @@ -157,6 +161,20 @@ ResolverEndpoint& ResolverEndpoint::operator =(JsonView jsonValue) m_resolverEndpointTypeHasBeenSet = true; } + if(jsonValue.ValueExists("OutpostArn")) + { + m_outpostArn = jsonValue.GetString("OutpostArn"); + + m_outpostArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("PreferredInstanceType")) + { + m_preferredInstanceType = jsonValue.GetString("PreferredInstanceType"); + + m_preferredInstanceTypeHasBeenSet = true; + } + return *this; } @@ -244,6 +262,18 @@ JsonValue ResolverEndpoint::Jsonize() const payload.WithString("ResolverEndpointType", ResolverEndpointTypeMapper::GetNameForResolverEndpointType(m_resolverEndpointType)); } + if(m_outpostArnHasBeenSet) + { + payload.WithString("OutpostArn", m_outpostArn); + + } + + if(m_preferredInstanceTypeHasBeenSet) + { + payload.WithString("PreferredInstanceType", m_preferredInstanceType); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/UpdateOutpostResolverRequest.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/UpdateOutpostResolverRequest.cpp new file mode 100644 index 00000000000..d367e90c7f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/UpdateOutpostResolverRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateOutpostResolverRequest::UpdateOutpostResolverRequest() : + m_idHasBeenSet(false), + m_nameHasBeenSet(false), + m_instanceCount(0), + m_instanceCountHasBeenSet(false), + m_preferredInstanceTypeHasBeenSet(false) +{ +} + +Aws::String UpdateOutpostResolverRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_instanceCountHasBeenSet) + { + payload.WithInteger("InstanceCount", m_instanceCount); + + } + + if(m_preferredInstanceTypeHasBeenSet) + { + payload.WithString("PreferredInstanceType", m_preferredInstanceType); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateOutpostResolverRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Route53Resolver.UpdateOutpostResolver")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/model/UpdateOutpostResolverResult.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/model/UpdateOutpostResolverResult.cpp new file mode 100644 index 00000000000..ba08750ff3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/model/UpdateOutpostResolverResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Route53Resolver::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateOutpostResolverResult::UpdateOutpostResolverResult() +{ +} + +UpdateOutpostResolverResult::UpdateOutpostResolverResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateOutpostResolverResult& UpdateOutpostResolverResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("OutpostResolver")) + { + m_outpostResolver = jsonValue.GetObject("OutpostResolver"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp index eecefadc155..6a134d1734c 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace S3Crt { -const size_t S3CrtEndpointRules::RulesBlobStrLen = 104103; -const size_t S3CrtEndpointRules::RulesBlobSize = 104104; +const size_t S3CrtEndpointRules::RulesBlobStrLen = 64175; +const size_t S3CrtEndpointRules::RulesBlobSize = 64176; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -59,272 +59,353 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t','r','i','n', 'g','"','}',',','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"',':','{','"','b','u', 'i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','F','o','r','c','e','P','a','t', -'h','S','t','y','l','e','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',', -'"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u', -'e',',',' ','f','o','r','c','e',' ','a',' ','p','a','t','h','-','s','t','y','l','e',' ','e','n','d', -'p','o','i','n','t',' ','t','o',' ','b','e',' ','u','s','e','d',' ','w','h','e','r','e',' ','t','h', -'e',' ','b','u','c','k','e','t',' ','n','a','m','e',' ','i','s',' ','p','a','r','t',' ','o','f',' ', -'t','h','e',' ','p','a','t','h','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', -'n','"','}',',','"','A','c','c','e','l','e','r','a','t','e','"',':','{','"','b','u','i','l','t','I', -'n','"',':','"','A','W','S',':',':','S','3',':',':','A','c','c','e','l','e','r','a','t','e','"',',', -'"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"', -':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W', -'h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','S','3',' ','A','c','c','e','l','e','r','a', -'t','e','.',' ','N','O','T','E',':',' ','N','o','t',' ','a','l','l',' ','r','e','g','i','o','n','s', -' ','s','u','p','p','o','r','t',' ','S','3',' ','a','c','c','e','l','e','r','a','t','e','.','"',',', -'"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"', -'A','W','S',':',':','S','3',':',':','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', -'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', -':','"','W','h','e','t','h','e','r',' ','t','h','e',' ','g','l','o','b','a','l',' ','e','n','d','p', -'o','i','n','t',' ','s','h','o','u','l','d',' ','b','e',' ','u','s','e','d',',',' ','r','a','t','h', -'e','r',' ','t','h','e','n',' ','t','h','e',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p', -'o','i','n','t',' ','f','o','r',' ','u','s','-','e','a','s','t','-','1','.','"',',','"','t','y','p', -'e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','O','b','j','e','c','t','L', -'a','m','b','d','a','E','n','d','p','o','i','n','t','"',':','{','"','r','e','q','u','i','r','e','d', -'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', -'I','n','t','e','r','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','o',' ','u','s','e', -' ','o','b','j','e','c','t',' ','l','a','m','b','d','a',' ','e','n','d','p','o','i','n','t',' ','f', -'o','r',' ','a','n',' ','o','p','e','r','a','t','i','o','n',' ','(','e','g',':',' ','W','r','i','t', -'e','G','e','t','O','b','j','e','c','t','R','e','s','p','o','n','s','e',')','"',',','"','t','y','p', -'e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','D','i','s','a','b','l','e','A','c','c', -'e','s','s','P','o','i','n','t','s','"',':','{','"','r','e','q','u','i','r','e','d','"',':','f','a', -'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','I','n','t','e', -'r','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','o',' ','d','i','s','a','b','l','e', -' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','B','u','c','k','e','t','s','"',',','"','t', -'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','D','i','s','a','b','l','e','M', -'u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s','"',':','{', -'"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','D','i','s','a','b', -'l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s', -'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', -'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', -'"','W','h','e','t','h','e','r',' ','m','u','l','t','i','-','r','e','g','i','o','n',' ','a','c','c', -'e','s','s',' ','p','o','i','n','t','s',' ','(','M','R','A','P',')',' ','s','h','o','u','l','d',' ', -'b','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"','B','o','o', -'l','e','a','n','"','}',',','"','U','s','e','A','r','n','R','e','g','i','o','n','"',':','{','"','b', -'u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','U','s','e','A','r','n','R', -'e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', -'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','a','n',' ','A', -'c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','i','s',' ','p','r','o','v','i','d', -'e','d',' ','a','n','d',' ','t','h','i','s',' ','f','l','a','g',' ','i','s',' ','e','n','a','b','l', -'e','d',',',' ','t','h','e',' ','S','D','K',' ','M','U','S','T',' ','u','s','e',' ','t','h','e',' ', -'A','R','N','\'','s',' ','r','e','g','i','o','n',' ','w','h','e','n',' ','c','o','n','s','t','r','u', -'c','t','i','n','g',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','i','n','s','t','e','a', -'d',' ','o','f',' ','t','h','e',' ','c','l','i','e','n','t','\'','s',' ','c','o','n','f','i','g','u', -'r','e','d',' ','r','e','g','i','o','n','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l', -'e','a','n','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'h','S','t','y','l','e','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"', +'d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a', +'t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','f','o','r','c','e',' ','a', +' ','p','a','t','h','-','s','t','y','l','e',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b', +'e',' ','u','s','e','d',' ','w','h','e','r','e',' ','t','h','e',' ','b','u','c','k','e','t',' ','n', +'a','m','e',' ','i','s',' ','p','a','r','t',' ','o','f',' ','t','h','e',' ','p','a','t','h','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','A','c','c','e','l', +'e','r','a','t','e','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S', +'3',':',':','A','c','c','e','l','e','r','a','t','e','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o', +'c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ', +'u','s','e',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','.',' ','N','O','T','E',':',' ', +'N','o','t',' ','a','l','l',' ','r','e','g','i','o','n','s',' ','s','u','p','p','o','r','t',' ','S', +'3',' ','a','c','c','e','l','e','r','a','t','e','.','"',',','"','t','y','p','e','"',':','"','B','o', +'o','l','e','a','n','"','}',',','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r', +'e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',', +'"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','t','h','e','r',' ', +'t','h','e',' ','g','l','o','b','a','l',' ','e','n','d','p','o','i','n','t',' ','s','h','o','u','l', +'d',' ','b','e',' ','u','s','e','d',',',' ','r','a','t','h','e','r',' ','t','h','e','n',' ','t','h', +'e',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t',' ','f','o','r',' ','u', +'s','-','e','a','s','t','-','1','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o', +'i','n','t','"',':','{','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d', +'o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','I','n','t','e','r','n','a','l',' ','p', +'a','r','a','m','e','t','e','r',' ','t','o',' ','u','s','e',' ','o','b','j','e','c','t',' ','l','a', +'m','b','d','a',' ','e','n','d','p','o','i','n','t',' ','f','o','r',' ','a','n',' ','o','p','e','r', +'a','t','i','o','n',' ','(','e','g',':',' ','W','r','i','t','e','G','e','t','O','b','j','e','c','t', +'R','e','s','p','o','n','s','e',')','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"', +':','{','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m', +'e','n','t','a','t','i','o','n','"',':','"','I','n','t','e','r','n','a','l',' ','p','a','r','a','m', +'e','t','e','r',' ','t','o',' ','d','i','s','a','b','l','e',' ','A','c','c','e','s','s',' ','P','o', +'i','n','t',' ','B','u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','B','o','o','l', +'e','a','n','"','}',',','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n', +'A','c','c','e','s','s','P','o','i','n','t','s','"',':','{','"','b','u','i','l','t','I','n','"',':', +'"','A','W','S',':',':','S','3',':',':','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g', +'i','o','n','A','c','c','e','s','s','P','o','i','n','t','s','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','t','h','e','r',' ','m', +'u','l','t','i','-','r','e','g','i','o','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t','s', +' ','(','M','R','A','P',')',' ','s','h','o','u','l','d',' ','b','e',' ','d','i','s','a','b','l','e', +'d','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s', +'e','A','r','n','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A', +'W','S',':',':','S','3',':',':','U','s','e','A','r','n','R','e','g','i','o','n','"',',','"','r','e', +'q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','a','n',' ','A','c','c','e','s','s',' ','P','o','i','n', +'t',' ','A','R','N',' ','i','s',' ','p','r','o','v','i','d','e','d',' ','a','n','d',' ','t','h','i', +'s',' ','f','l','a','g',' ','i','s',' ','e','n','a','b','l','e','d',',',' ','t','h','e',' ','S','D', +'K',' ','M','U','S','T',' ','u','s','e',' ','t','h','e',' ','A','R','N','\'','s',' ','r','e','g','i', +'o','n',' ','w','h','e','n',' ','c','o','n','s','t','r','u','c','t','i','n','g',' ','t','h','e',' ', +'e','n','d','p','o','i','n','t',' ','i','n','s','t','e','a','d',' ','o','f',' ','t','h','e',' ','c', +'l','i','e','n','t','\'','s',' ','c','o','n','f','i','g','u','r','e','d',' ','r','e','g','i','o','n', +'.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}','}',',','"','r','u', 'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', '"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','R','e','g','i','o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', '"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', -'e','t','"','}',']','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', -'4','9',',','5','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','h','a','r', -'d','w','a','r','e','T','y','p','e','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r', -'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', -'e','t','"','}',',','8',',','1','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':', -'"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u', -'b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'B','u','c','k','e','t','"','}',',','0',',','7',',','t','r','u','e',']',',','"','a','s','s','i','g', -'n','"',':','"','a','b','b','a','S','u','f','f','i','x','"','}',',','{','"','f','n','"',':','"','s', -'u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','B','u','c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',','"','a','s', -'s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f','n','"',':', -'"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','a','b','b','a','S','u','f','f','i','x','"','}',',','"','-','-','o','p', -'-','s','3','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f', -'a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a', -'r','d','w','a','r','e','T','y','p','e','"','}',',','"','e','"',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o', -'n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"', -'e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i', -'n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o', -' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', -'u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'{','B','u','c','k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.', -'{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n', -'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', -'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', -'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', -':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','o','"', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d', -' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i', -'e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o', -'u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"', -'a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', -'}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t', -'h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A', +'c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ', +'w','i','t','h',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r', +'o','r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s','t','a','c', +'k',' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ','a',' ','c', +'u','s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r', +'r','o','r','"',':','"','A',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','c', +'a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h',' ','F','I', +'P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', +'e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A',' ','c','u', +'s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','c','a','n','n','o','t',' ','b','e',' ','c', +'o','m','b','i','n','e','d',' ','w','i','t','h',' ','S','3',' ','A','c','c','e','l','e','r','a','t', +'e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.', +'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"', +']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P', +'a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', +' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', +'}',']','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','4','9',',', +'5','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','h','a','r','d','w','a', +'r','e','T','y','p','e','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', +'}',',','8',',','1','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','r','e', +'g','i','o','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t', +'r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c', +'k','e','t','"','}',',','0',',','7',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':', +'"','b','u','c','k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','{','"','f','n', +'"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','B','u','c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']', +',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','l','i','a','s','S','u','f', +'f','i','x','"','}',',','"','-','-','o','p','-','s','3','"',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t', +'L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u', +'t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a', +'r','e','T','y','p','e','"','}',',','"','e','"',']','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n','P','r','e', +'f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r','r','o', +'r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t', +'o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d', +'p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', +'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','{','u','r','l','#','a','u', +'t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e','g', +'i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', 'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', 'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', '"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', '-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', '"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', ':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t', -'p','o','s','t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r', -'t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','o','"',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e', +'n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b', +'u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','o','p', +'-','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t', +'p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t', +'s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i', +'o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ','h','a','r','d', +'w','a','r','e',' ','t','y','p','e',':',' ','\\','"','E','x','p','e','c','t','e','d',' ','h','a','r', +'d','w','a','r','e',' ','t','y','p','e',' ','o',' ','o','r',' ','e',' ','b','u','t',' ','g','o','t', +' ','{','h','a','r','d','w','a','r','e','T','y','p','e','}','\\','"','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ','o','n','l','y', +' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n', +'d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s','t','o','m',' ','e','n', +'d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`',' ','w','a','s',' ','n', +'o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V','i', +'r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','f','a', +'l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', +'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"', +']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o','t',' ','b','e',' ','u','s', +'e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i','o','n','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s', +'t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', 'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', 'd','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', 'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ', -'h','a','r','d','w','a','r','e',' ','t','y','p','e',':',' ','\\','"','E','x','p','e','c','t','e','d', -' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',' ','o',' ','o','r',' ','e',' ','b','u','t', -' ','g','o','t',' ','{','h','a','r','d','w','a','r','e','T','y','p','e','}','\\','"','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s', -'t',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ', -'0','-','9',' ','a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`', -' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o', -'r','c','e','P','a','t','h','S','t','y','l','e','"','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u', -'e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A', -'r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', -'t','"','}',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l', -'e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s', -'e','d',' ','w','i','t','h',' ','A','R','N',' ','b','u','c','k','e','t','s','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','u','r','i','E','n','c','o','d','e','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', 'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r','o', -'r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s','t','a','c','k', -' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ','a',' ','c','u', -'s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a', -'r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', '"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', -'3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R', +'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', -'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c', +'k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', +'3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', 't','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', @@ -333,119 +414,102 @@ static constexpr RulesBlobT RulesBlob = {{ 'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', '"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', -'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', -'{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_', -'e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', +'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', +'t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', 'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', 'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', -'n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d', -'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', -'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', -'m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_', -'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l', +'s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u', +'e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', +'c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s', +'t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', 'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', 'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', '"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', @@ -454,134 +518,127 @@ static constexpr RulesBlobT RulesBlob = {{ 'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', 'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', 'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', -'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', -'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', -'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p', -'s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d', -'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l', +'s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a', +'l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', 't','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', 'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', +'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.', -'u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', -'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', +'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l', +'"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', +'r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}', +'{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', 'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', 'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', ':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', @@ -590,648 +647,297 @@ static constexpr RulesBlobT RulesBlob = {{ 'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', 'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', 'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u', +'r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', +'i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u', +'s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z', +'e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', +'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l', +'i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', +'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', +'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', '"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', 's','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', 'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', 's','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', +'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', +'B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a', -'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l', +'"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', ':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', 'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', 'E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', -'d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r', -'i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', -'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e', +'}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', '}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', 's','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', -':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o', -'r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d', -'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', -'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', -'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', ':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', -'{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_', -'e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', +'e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', +'3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', 's','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', ',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', 'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', -'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l', -'i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', -'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t', +'e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', 'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', 'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', 'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', 's','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', '}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', -'u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', -'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', -'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', -'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', -'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', -'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i', -'n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S','3', -' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t','i','t','i','o', -'n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m','i','n','e','d', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', -'t','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"', -'a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L', -'a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', -'}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e', -'r','r','o','r','"',':','"','P','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o', -'t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','F','I','P','S','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',', -'"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a', -'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i', -'o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ','o','v','e','r','r','i','d', -'e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h', -' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ','o','r',' ','S','3',' ','A', -'c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ','o','v','e','r','r', -'i','d','e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i', -'t','h',' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ','o','r',' ','S','3', -' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', -'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ', -'o','v','e','r','r','i','d','e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n', -'e','d',' ','w','i','t','h',' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ', -'o','r',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', -'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', -'.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r', +'a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', 'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', 't','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', 'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', 's','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.', -'d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', 'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', 'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', -'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', 'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a', -'c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', -'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', -'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i', -'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', +'/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', '"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', -'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R', -'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t', -'-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', -'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', -'r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r', -'a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', -'e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', '"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', ']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', @@ -1239,719 +945,354 @@ static constexpr RulesBlobT RulesBlob = {{ 'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', '-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', -'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', -'r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', -'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', -'t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a', -'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', +',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o', +'t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"', +'}',',','"','s','c','h','e','m','e','"',']','}',',','"','h','t','t','p','"',']','}',',','{','"','f', +'n','"',':','"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e', +'S','3','B','u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','B','u','c','k','e','t','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','f','a','l', 's','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', -'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', -'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', -'i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', -'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', -'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c', -'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', -'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}', -',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u', -'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', +':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a', +'l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', +'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i', +'o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i', +'d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r', +'s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', +'c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[', +'0',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','r','n','T','y','p','e','"','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','"',']','}',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s', +'3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y', +'p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s', +'i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"', +'"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ', +'L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D', +'u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']', +',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d', +'a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c', +'e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b', +'l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t', +'s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e', +'s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t', +'e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I', +'d','[','2',']','"',']','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', +'}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}', +']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f', +'i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R', +'N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o', +'e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o', +'n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e', +'g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', +'g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"', +'a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e', +'"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', +'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', +'A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',', +'"','"',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ','i','d','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', +'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', +'A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}', +',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', '"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', 'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', 'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p', -'"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', +'l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N', +'a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e', +'c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', ',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', 'd','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s', -'I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a', -'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-', +'o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i', +'t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o', +'i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u', +'n','t','I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b', +'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P', +'a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', 't','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', -'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', -'B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', -'o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h', -'}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', -'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d', +'a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','e', +'s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c','o', +'n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`', +'-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','N', +'a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t', +' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',', +' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':', +' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N', +'S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ', +'f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{', +'B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r', +'t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n', +' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o','n', +'e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N',' ','i','s',' ','m','i','s', +'s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p', +'e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f', +'o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s', +'s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e', +' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','O','b','j', +'e','c','t',' ','L','a','m','b','d','a',' ','A','R','N','s',' ','o','n','l','y',' ','s','u','p','p', +'o','r','t',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',' ','a','r','n',' ','t','y','p', +'e','s',',',' ','b','u','t',' ','f','o','u','n','d',':',' ','`','{','a','r','n','T','y','p','e','}', +'`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', -'B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', -'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', -'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', -'#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', -'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p', -'"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c', -'k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', -'p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', -'r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', -'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', -'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', -'B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{', -'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', -'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', -'}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', -'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', -'k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', -'}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g', -'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r', +'n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"', +'a','s','s','i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"', +'}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',']','}',']','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', -'v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ', -'n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i', -'d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ', -'d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', -'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','s','c','h','e','m','e','"',']', -'}',',','"','h','t','t','p','"',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V', -'i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', -'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', -'a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o', -'n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m', -'e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'A',' ','v','a','l','i','d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n', -'o','t',' ','b','e',' ','d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','r','n','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i', -'g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n', -'T','y','p','e','"','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 's','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', 'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', -']','}',',','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':', -'"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', -'S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']', -',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d', -'a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c', -'e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', -'e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s', -'P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', -'"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u', -'p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o', -'n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', -'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', -'c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"', -']','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']', +'}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c','c','e', +'s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n', +'"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A', +'c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r', +'r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n', +'o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e', +'r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}',']','}',']',',','"','t', 'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g', @@ -1969,725 +1310,405 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n', 'd',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`', '"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', -'g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g', +'n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r', +'t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', '"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',', -'"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', -',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i', +'o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','n','a','m','e','}','"',']','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', +'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"', +'s','3','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c', +'c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e', '"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c', -'o','u','n','t','I','d','"',']','}',',','"','"',']','}',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','R','N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o', -'u','n','t',' ','i','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t', -'L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c', -'c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s', -'-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i','o', -'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', -'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', -'e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t', -'-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b', -'u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b', -'j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#', -'r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n', -'t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t', -'I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c', -'k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r', -'t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t', -'A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c', -'c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s', +'t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a', +'c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e', +'r','r','o','r','"',':','"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t', +'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p', +'o','i','n','t','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t', +'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i', +'p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u', +'c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s', +'p','o','i','n','t','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', +'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', +'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', +'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e', +' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-', +'Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{', +'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ', 'c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d', -' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n', -'t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', -'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c', -'o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ', -'a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o', -'u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']', +' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#', +'a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A', +'R','N',' ','w','a','s',' ','n','o','t',' ','f','o','r',' ','t','h','e',' ','S','3',' ','s','e','r', +'v','i','c','e',',',' ','f','o','u','n','d',':',' ','{','b','u','c','k','e','t','A','r','n','#','s', +'e','r','v','i','c','e','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', '}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', '"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':', ' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n', 'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c', -'o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b', -'u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`', -'{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a', -'l','i','d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b', -'e',' ','d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ', -'p','a','r','t','i','t','i','o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ', -'`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', -'i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ', -'c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e', -' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p', -'o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t', -' ','A','R','N',' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ', -'r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a', -'c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n', -'a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o', -'v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a', -'m','b','d','a',' ','A','R','N','s',' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a', -'c','c','e','s','s','p','o','i','n','t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u', -'t',' ','f','o','u','n','d',':',' ','`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"', -'}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', -',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n', -'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', -'"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p', -'e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c', -'c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', -'o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o', -'t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r', -'a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d', -'[','2',']','"',']','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r', -'n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n', +'f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t', +' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b', +'u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y', +' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c', +'e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s', +'p','o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a', +'m','e','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M', +'R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l', +'-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o', +'r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', +'o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e', +'M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s','"','}', +',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', +' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','u','l','t','i','-','R','e','g', +'i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N','s',' ','a','r','e', +' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','m','r','a','p','P','a','r','t', +'i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','p','a','r','t','i','t','i','o','n','"',']','}',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e', +'s','s','P','o','i','n','t','N','a','m','e','}','.','a','c','c','e','s','s','p','o','i','n','t','.', +'s','3','-','g','l','o','b','a','l','.','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':', +'[','"','*','"',']','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n', +'t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t', +'i','t','i','o','n',' ','`','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','n','a','m', +'e','}','`',' ','b','u','t',' ','b','u','c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t', +'o',' ','p','a','r','t','i','t','i','o','n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p', +'a','r','t','i','t','i','o','n','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ','P','o', +'i','n','t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d', +' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t', +' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n', +'t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ', +'p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 's','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', 'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']', -'}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', -'r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c', -'h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}', -'`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a', -'l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', -',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u', -'c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', +']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r', +'"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s', +'u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t', +'s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I', +'d','[','4',']','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t',' ','A','c','c','e','s','s',' ','P','o', +'i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n','s',' ','s','u','b',' ','r','e','s','o', +'u','r','c','e','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"', +'a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',']',',','"','t','y', 'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', +'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i', +'o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r', +'n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R', +'e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o', +'n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e', +'g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i', +'e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d', +' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', +'A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n', +'"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t', +'i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', ',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', 'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o', -'n','"','}',',','"','n','a','m','e','"',']','}',',','"','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','n','a','m','e','}','"',']','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g', -'i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', -']','}',',','"','s','3','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a', -'l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I', -'d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', -'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}', -',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',', '"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r', -'r','o','r','"',':','"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n','o', -'t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l', +'i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}', +',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r', 'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']', -',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r','o','r','"', -':','"','D','u','a','l','S','t','a','c','k',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m', -'b','i','n','e','d',' ','w','i','t','h',' ','a',' ','H','o','s','t',' ','o','v','e','r','r','i','d', -'e',' ','(','P','r','i','v','a','t','e','L','i','n','k',')','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', -'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a', -'c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', -'.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k', -'e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', -'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A', -'r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o', -'i','n','t','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', -'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-', -'a','c','c','e','s','s','p','o','i','n','t','.','d','u','a','l','s','t','a','c','k','.','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', -'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', +'a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']',',','"','a','s','s', +'i','g','n','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', +'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i', +'g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o', +'u','t','p','o','s','t','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t', +'"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', 'd','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', 'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', 'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', -'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e', 'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', '{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t', -'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p', -'o','i','n','t','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{', -'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', +'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g', 'n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r', 'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',']','}',']', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', -'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c', -'e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c', -'o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ', -'`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o', -'u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a', -'-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u', -'n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', -'}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ', -'n','o','t',' ','f','o','r',' ','t','h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f', -'o','u','n','d',':',' ','{','b','u','c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', -'v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d', -' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g', -'u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R', -'N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k', -'e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p', -'a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t', -'e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', -'o','r','"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ','p','a','r','t','i', -'t','i','o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ','`','{','b','u','c', -'k','e','t','A','r','n','#','r','e','g','i','o','n','}','`','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', -'N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a', -'i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p', -'o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`', -'.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N',' ', -'i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a', -'m','e','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', -'o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o', -'r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', -'o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e', -'s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':', -' ','M','u','l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n', -'t',' ','A','R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',',','"','n', -'a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', -',','"','p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', -'e','}','.','a','c','c','e','s','s','p','o','i','n','t','.','s','3','-','g','l','o','b','a','l','.', -'{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f', -'i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','m','r', -'a','p','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b','u','t',' ','b','u', -'c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r','t','i','t','i','o', -'n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t','i','o','n','}','`', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','{','R', -'e','g','i','o','n','}',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','r','e', -'g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}', -']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ', -'P','o','i','n','t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x', -'p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ', -'f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e', -'s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m', -'e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e', -'r','v','i','c','e','"',']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']', -',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e', -'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a', -'t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e', -'I','d','[','4',']','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t',' ','A','c','c','e','s','s',' ','P', -'o','i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n','s',' ','s','u','b',' ','r','e','s', -'o','u','r','c','e','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', -'e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"', -'o','u','t','p','o','s','t','I','d','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g', -'i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o', -'n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r', -'o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', -'}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ', -'r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e', -'A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"', -']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i', -'t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r', -'t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e', -'"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g', -'i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o', -'u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I', -'d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','T', -'y','p','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', -'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s', -'i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y','p', -'e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', -'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', -'"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', -'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t', -'p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', +'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', +'d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t', +'s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c', +'k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',', '"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', 's','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', 'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', 's','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s', '"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e', 't','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', -'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', -'c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o', -'u','t','p','o','s','t','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', -'}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u', -'t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o','u', -'t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',',', -' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','A','R','N',':',' ','e','x','p','e','c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ', -'p','o','i','n','t',' ','n','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e', -'c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u','r', -'c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ', -'i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ', -'A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ', -'`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k', -'e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D', -'N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r', -'e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ', -'(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r', -'t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r', -'m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', '}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ','p','a','r','t','i','t','i', -'o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ','{','b','u','c','k','e','t', -'A','r','n','#','r','e','g','i','o','n','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o','u','t','p','o','s','t',' ','t','y', +'p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',',',' ','f','o','u','n','d',' ','{', +'o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e', +'c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','4','-','c','o','m', +'p','o','n','e','n','t',' ','r','e','s','o','u','r','c','e','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', ']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T', -'h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','a','y',' ','o','n','l','y',' ','c','o', +'h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o', 'n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`', -'-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u','t','p','o','s','t','I','d','}','`','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', -'a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ', -'w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', -'N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':',' ','{', -'B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e','}',')', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', +'-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R', +'N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(', +'i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c', +'o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b', +'u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`', +'{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d', +' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-', +'Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{', +'o','u','t','p','o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O', +'u','t','p','o','s','t',' ','I','d',' ','w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', +'A','R','N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':', +' ','{','B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e', +'}',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c', 'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', 'v','a','l','i','d',' ','A','R','N',':',' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p', 'e','c','i','f','i','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', @@ -2704,1305 +1725,641 @@ static constexpr RulesBlobT RulesBlob = {{ 'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B','u','c','k','e', 't','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A','R','N','"',',', '"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E','n','c','o','d','e','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', -'k','e','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"', -'e','r','r','o','r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s', -'t','a','c','k',' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ', -'a',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P', +'a','t','h','S','t','y','l','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','e','r','r','o','r','"',':', +'"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a', +'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','A','R','N',' ','b','u','c', +'k','e','t','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E','n','c', +'o','d','e','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c','o','d', +'e','d','_','b','u','c','k','e','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"', +'a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', +'.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', +'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', +'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e', -'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e', +'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', 's','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', 'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', 'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', 'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', 'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-', -'f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', -'.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', -'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', -'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', -'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', -'u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', -'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', -'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', -'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', -'#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t', +'a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o', 'd','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', ':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', 'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', 'm','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', ':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', 'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/', '{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r', 'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', '[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', ':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', 'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', '"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e', -'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b', +'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e', +'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', 's','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', 'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', 'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', 'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', 'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', '}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n', -'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', +'d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c', +'k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', +'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s', +'t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c', +'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', +'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t', -'a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', -'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', -'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', -'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', -'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', -'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', -'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', -'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', -'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', -':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o', -'r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d', -'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', -'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', -'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', -'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', -'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', -'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u', -'s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g', -'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k', -'e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{', -'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r', -'e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t', -'h',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t', -'i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m', -'i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t', -'L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p', -'a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', -'3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ', -'s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a', -' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e', -'l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w', -'s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i', -'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', -'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', -'}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', -'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', -'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', -':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i', -'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','R','e', -'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r', -'e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v', -'a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t','i', -'t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m','i', -'n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s', -'.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', -'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', -'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"', -'a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i', -'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P', -'S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', -'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', -':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a', -'t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', -'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', -'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s', -'t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s', -'t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', -'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', -'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', +'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', +'m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_', +'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', +'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', -'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', +'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', +'u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', 'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', '{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u', -'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i', +'z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k', +'e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', 'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', 't','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', 'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', ']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', -'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', +'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n', +'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', +'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s', +'-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_', +'e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', +'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', 'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', 'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', '4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', 'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', '}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', -'p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', 'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', '"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', 'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', ':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', '"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', 'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', 'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', 'd','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', -'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s', +'i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S', +'3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', 'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', +'O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r', +'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"', +':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b', +'j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', +'o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', 'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', +'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.', +'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n', +':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ', +'D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l', +'i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i', 'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t', -'h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e', +'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', 'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', 's','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', '"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', ':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', '{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', '"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l', -'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a', +'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s', +'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', +'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', 'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', ':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', '"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', 'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', 'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', 'd','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c', -'k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e', -'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', -'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', +'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', ']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{', -'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', -'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', -'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t', +'a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', 't','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', 'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', 'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', @@ -4013,173 +2370,219 @@ static constexpr RulesBlobT RulesBlob = {{ 'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', '"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', -'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', -'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', -'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.', +'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', +'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a', +'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', 'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', '"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', 'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', 'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', 'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', 's','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', -'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', 'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e', -'a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e', -'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', +'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', 'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', 'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', ':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', +'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', +'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"', +'a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t', '"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', 'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', 'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', 'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i', -'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', -'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',']','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o', -'t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ', -'p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e', -'t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ', -'s','e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u','e','s','t','s', -' ','t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -'}',']','}','\0' +':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', +'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a', +'l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ', +'r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N', +'S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ','s', +'e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u','e','s','t','s',' ', +'t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', +'\0' }}; const char* S3CrtEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp b/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp index 9ddc0df36f1..115ac50a2b1 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace S3 { -const size_t S3EndpointRules::RulesBlobStrLen = 104103; -const size_t S3EndpointRules::RulesBlobSize = 104104; +const size_t S3EndpointRules::RulesBlobStrLen = 64175; +const size_t S3EndpointRules::RulesBlobSize = 64176; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -59,272 +59,353 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t','r','i','n', 'g','"','}',',','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"',':','{','"','b','u', 'i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','F','o','r','c','e','P','a','t', -'h','S','t','y','l','e','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',', -'"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u', -'e',',',' ','f','o','r','c','e',' ','a',' ','p','a','t','h','-','s','t','y','l','e',' ','e','n','d', -'p','o','i','n','t',' ','t','o',' ','b','e',' ','u','s','e','d',' ','w','h','e','r','e',' ','t','h', -'e',' ','b','u','c','k','e','t',' ','n','a','m','e',' ','i','s',' ','p','a','r','t',' ','o','f',' ', -'t','h','e',' ','p','a','t','h','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', -'n','"','}',',','"','A','c','c','e','l','e','r','a','t','e','"',':','{','"','b','u','i','l','t','I', -'n','"',':','"','A','W','S',':',':','S','3',':',':','A','c','c','e','l','e','r','a','t','e','"',',', -'"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"', -':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W', -'h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','S','3',' ','A','c','c','e','l','e','r','a', -'t','e','.',' ','N','O','T','E',':',' ','N','o','t',' ','a','l','l',' ','r','e','g','i','o','n','s', -' ','s','u','p','p','o','r','t',' ','S','3',' ','a','c','c','e','l','e','r','a','t','e','.','"',',', -'"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"', -'A','W','S',':',':','S','3',':',':','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', -'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', -':','"','W','h','e','t','h','e','r',' ','t','h','e',' ','g','l','o','b','a','l',' ','e','n','d','p', -'o','i','n','t',' ','s','h','o','u','l','d',' ','b','e',' ','u','s','e','d',',',' ','r','a','t','h', -'e','r',' ','t','h','e','n',' ','t','h','e',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p', -'o','i','n','t',' ','f','o','r',' ','u','s','-','e','a','s','t','-','1','.','"',',','"','t','y','p', -'e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','O','b','j','e','c','t','L', -'a','m','b','d','a','E','n','d','p','o','i','n','t','"',':','{','"','r','e','q','u','i','r','e','d', -'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', -'I','n','t','e','r','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','o',' ','u','s','e', -' ','o','b','j','e','c','t',' ','l','a','m','b','d','a',' ','e','n','d','p','o','i','n','t',' ','f', -'o','r',' ','a','n',' ','o','p','e','r','a','t','i','o','n',' ','(','e','g',':',' ','W','r','i','t', -'e','G','e','t','O','b','j','e','c','t','R','e','s','p','o','n','s','e',')','"',',','"','t','y','p', -'e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','D','i','s','a','b','l','e','A','c','c', -'e','s','s','P','o','i','n','t','s','"',':','{','"','r','e','q','u','i','r','e','d','"',':','f','a', -'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','I','n','t','e', -'r','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','o',' ','d','i','s','a','b','l','e', -' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','B','u','c','k','e','t','s','"',',','"','t', -'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','D','i','s','a','b','l','e','M', -'u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s','"',':','{', -'"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','D','i','s','a','b', -'l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s', -'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', -'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', -'"','W','h','e','t','h','e','r',' ','m','u','l','t','i','-','r','e','g','i','o','n',' ','a','c','c', -'e','s','s',' ','p','o','i','n','t','s',' ','(','M','R','A','P',')',' ','s','h','o','u','l','d',' ', -'b','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"','B','o','o', -'l','e','a','n','"','}',',','"','U','s','e','A','r','n','R','e','g','i','o','n','"',':','{','"','b', -'u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','U','s','e','A','r','n','R', -'e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', -'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','a','n',' ','A', -'c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','i','s',' ','p','r','o','v','i','d', -'e','d',' ','a','n','d',' ','t','h','i','s',' ','f','l','a','g',' ','i','s',' ','e','n','a','b','l', -'e','d',',',' ','t','h','e',' ','S','D','K',' ','M','U','S','T',' ','u','s','e',' ','t','h','e',' ', -'A','R','N','\'','s',' ','r','e','g','i','o','n',' ','w','h','e','n',' ','c','o','n','s','t','r','u', -'c','t','i','n','g',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','i','n','s','t','e','a', -'d',' ','o','f',' ','t','h','e',' ','c','l','i','e','n','t','\'','s',' ','c','o','n','f','i','g','u', -'r','e','d',' ','r','e','g','i','o','n','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l', -'e','a','n','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'h','S','t','y','l','e','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"', +'d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a', +'t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','f','o','r','c','e',' ','a', +' ','p','a','t','h','-','s','t','y','l','e',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b', +'e',' ','u','s','e','d',' ','w','h','e','r','e',' ','t','h','e',' ','b','u','c','k','e','t',' ','n', +'a','m','e',' ','i','s',' ','p','a','r','t',' ','o','f',' ','t','h','e',' ','p','a','t','h','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','A','c','c','e','l', +'e','r','a','t','e','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S', +'3',':',':','A','c','c','e','l','e','r','a','t','e','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o', +'c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ', +'u','s','e',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','.',' ','N','O','T','E',':',' ', +'N','o','t',' ','a','l','l',' ','r','e','g','i','o','n','s',' ','s','u','p','p','o','r','t',' ','S', +'3',' ','a','c','c','e','l','e','r','a','t','e','.','"',',','"','t','y','p','e','"',':','"','B','o', +'o','l','e','a','n','"','}',',','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r', +'e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',', +'"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','t','h','e','r',' ', +'t','h','e',' ','g','l','o','b','a','l',' ','e','n','d','p','o','i','n','t',' ','s','h','o','u','l', +'d',' ','b','e',' ','u','s','e','d',',',' ','r','a','t','h','e','r',' ','t','h','e','n',' ','t','h', +'e',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t',' ','f','o','r',' ','u', +'s','-','e','a','s','t','-','1','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o', +'i','n','t','"',':','{','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d', +'o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','I','n','t','e','r','n','a','l',' ','p', +'a','r','a','m','e','t','e','r',' ','t','o',' ','u','s','e',' ','o','b','j','e','c','t',' ','l','a', +'m','b','d','a',' ','e','n','d','p','o','i','n','t',' ','f','o','r',' ','a','n',' ','o','p','e','r', +'a','t','i','o','n',' ','(','e','g',':',' ','W','r','i','t','e','G','e','t','O','b','j','e','c','t', +'R','e','s','p','o','n','s','e',')','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"', +':','{','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m', +'e','n','t','a','t','i','o','n','"',':','"','I','n','t','e','r','n','a','l',' ','p','a','r','a','m', +'e','t','e','r',' ','t','o',' ','d','i','s','a','b','l','e',' ','A','c','c','e','s','s',' ','P','o', +'i','n','t',' ','B','u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','B','o','o','l', +'e','a','n','"','}',',','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n', +'A','c','c','e','s','s','P','o','i','n','t','s','"',':','{','"','b','u','i','l','t','I','n','"',':', +'"','A','W','S',':',':','S','3',':',':','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g', +'i','o','n','A','c','c','e','s','s','P','o','i','n','t','s','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','t','h','e','r',' ','m', +'u','l','t','i','-','r','e','g','i','o','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t','s', +' ','(','M','R','A','P',')',' ','s','h','o','u','l','d',' ','b','e',' ','d','i','s','a','b','l','e', +'d','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s', +'e','A','r','n','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A', +'W','S',':',':','S','3',':',':','U','s','e','A','r','n','R','e','g','i','o','n','"',',','"','r','e', +'q','u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','a','n',' ','A','c','c','e','s','s',' ','P','o','i','n', +'t',' ','A','R','N',' ','i','s',' ','p','r','o','v','i','d','e','d',' ','a','n','d',' ','t','h','i', +'s',' ','f','l','a','g',' ','i','s',' ','e','n','a','b','l','e','d',',',' ','t','h','e',' ','S','D', +'K',' ','M','U','S','T',' ','u','s','e',' ','t','h','e',' ','A','R','N','\'','s',' ','r','e','g','i', +'o','n',' ','w','h','e','n',' ','c','o','n','s','t','r','u','c','t','i','n','g',' ','t','h','e',' ', +'e','n','d','p','o','i','n','t',' ','i','n','s','t','e','a','d',' ','o','f',' ','t','h','e',' ','c', +'l','i','e','n','t','\'','s',' ','c','o','n','f','i','g','u','r','e','d',' ','r','e','g','i','o','n', +'.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}','}',',','"','r','u', 'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', '"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','R','e','g','i','o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', '"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', -'e','t','"','}',']','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', -'4','9',',','5','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','h','a','r', -'d','w','a','r','e','T','y','p','e','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r', -'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', -'e','t','"','}',',','8',',','1','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':', -'"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u', -'b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'B','u','c','k','e','t','"','}',',','0',',','7',',','t','r','u','e',']',',','"','a','s','s','i','g', -'n','"',':','"','a','b','b','a','S','u','f','f','i','x','"','}',',','{','"','f','n','"',':','"','s', -'u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','B','u','c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',','"','a','s', -'s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f','n','"',':', -'"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','a','b','b','a','S','u','f','f','i','x','"','}',',','"','-','-','o','p', -'-','s','3','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f', -'a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a', -'r','d','w','a','r','e','T','y','p','e','"','}',',','"','e','"',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o', -'n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"', -'e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i', -'n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o', -' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', -'u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'{','B','u','c','k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.', -'{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n', -'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', -'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', -'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', -':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','o','"', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d', -' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i', -'e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o', -'u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"', -'a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', -'}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t', -'h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A', +'c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ', +'w','i','t','h',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r', +'o','r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s','t','a','c', +'k',' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ','a',' ','c', +'u','s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r', +'r','o','r','"',':','"','A',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','c', +'a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h',' ','F','I', +'P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', +'e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A',' ','c','u', +'s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','c','a','n','n','o','t',' ','b','e',' ','c', +'o','m','b','i','n','e','d',' ','w','i','t','h',' ','S','3',' ','A','c','c','e','l','e','r','a','t', +'e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.', +'p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"', +']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P', +'a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', +' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', +'}',']','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','4','9',',', +'5','0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','h','a','r','d','w','a', +'r','e','T','y','p','e','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', +'}',',','8',',','1','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','r','e', +'g','i','o','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t', +'r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c', +'k','e','t','"','}',',','0',',','7',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':', +'"','b','u','c','k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','{','"','f','n', +'"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','B','u','c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']', +',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','l','i','a','s','S','u','f', +'f','i','x','"','}',',','"','-','-','o','p','-','s','3','"',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t', +'L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u', +'t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a', +'r','e','T','y','p','e','"','}',',','"','e','"',']','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n','P','r','e', +'f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r','r','o', +'r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t', +'o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d', +'p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', +'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','{','u','r','l','#','a','u', +'t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e','g', +'i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', 'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', 'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', '"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', '-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', '"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', ':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t', -'p','o','s','t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r', -'t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','o','"',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e', +'n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b', +'u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','o','p', +'-','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t', +'p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t', +'s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i', +'o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ','h','a','r','d', +'w','a','r','e',' ','t','y','p','e',':',' ','\\','"','E','x','p','e','c','t','e','d',' ','h','a','r', +'d','w','a','r','e',' ','t','y','p','e',' ','o',' ','o','r',' ','e',' ','b','u','t',' ','g','o','t', +' ','{','h','a','r','d','w','a','r','e','T','y','p','e','}','\\','"','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ','o','n','l','y', +' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n', +'d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s','t','o','m',' ','e','n', +'d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`',' ','w','a','s',' ','n', +'o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V','i', +'r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','f','a', +'l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', +'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"', +']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o','t',' ','b','e',' ','u','s', +'e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i','o','n','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s', +'t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', 'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', 'd','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', 'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ', -'h','a','r','d','w','a','r','e',' ','t','y','p','e',':',' ','\\','"','E','x','p','e','c','t','e','d', -' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',' ','o',' ','o','r',' ','e',' ','b','u','t', -' ','g','o','t',' ','{','h','a','r','d','w','a','r','e','T','y','p','e','}','\\','"','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s', -'t',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ', -'0','-','9',' ','a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`', -' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o', -'r','c','e','P','a','t','h','S','t','y','l','e','"','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u', -'e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A', -'r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', -'t','"','}',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l', -'e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s', -'e','d',' ','w','i','t','h',' ','A','R','N',' ','b','u','c','k','e','t','s','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','u','r','i','E','n','c','o','d','e','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', 'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r','o', -'r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s','t','a','c','k', -' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ','a',' ','c','u', -'s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a', -'r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', '"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', -'3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R', +'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', -'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c', +'k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', +'3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', 't','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', @@ -333,119 +414,102 @@ static constexpr RulesBlobT RulesBlob = {{ 'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', '"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', -'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', -'{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_', -'e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', +'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', +'t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', 'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', 'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', -'n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d', -'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', -'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', -'m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_', -'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l', +'s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u', +'e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', +'c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s', +'t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', 'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', 'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', '"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', @@ -454,134 +518,127 @@ static constexpr RulesBlobT RulesBlob = {{ 'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', 'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', 'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', -'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', -'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', -'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p', -'s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d', -'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l', +'s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', +':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a', +'l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', 't','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', 'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', +'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.', -'u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', -'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', +'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', +'B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l', +'"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', +'r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}', +'{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', 'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', 'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', ':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', @@ -590,648 +647,297 @@ static constexpr RulesBlobT RulesBlob = {{ 'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', 'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', 'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u', +'r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', +':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', +'i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u', +'s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', +'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z', +'e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', +'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l', +'i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', +'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', +'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', '"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', 's','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', 'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', 's','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', +'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', +'B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a', -'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l', +'"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', ':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', 'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', 'E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', -'d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r', -'i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', -'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e', +'}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', '}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', 's','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', -':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o', -'r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d', -'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', -'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', -'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', ':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', -'{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_', -'e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', +'e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', +'3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', 's','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', ',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', 'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', -'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l', -'i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', -'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t', +'e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', 'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', 'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', 'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', 's','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', '}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', -'u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', -'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', -'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', -'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', -'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', -'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i', -'n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S','3', -' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t','i','t','i','o', -'n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m','i','n','e','d', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', -'t','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"', -'a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L', -'a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', -'}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e', -'r','r','o','r','"',':','"','P','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o', -'t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','F','I','P','S','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',', -'"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a', -'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i', -'o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ','o','v','e','r','r','i','d', -'e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h', -' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ','o','r',' ','S','3',' ','A', -'c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ','o','v','e','r','r', -'i','d','e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i', -'t','h',' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ','o','r',' ','S','3', -' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', -'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','H','o','s','t',' ', -'o','v','e','r','r','i','d','e',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n', -'e','d',' ','w','i','t','h',' ','D','u','a','l','s','t','a','c','k',',',' ','F','I','P','S',',',' ', -'o','r',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', -'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', -'.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r', +'a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', 'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', 't','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', 'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', 's','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.', -'d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', 'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', 'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', -'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', 'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a', -'c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', -'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', -'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i', -'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{', +'/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', '"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', -'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R', -'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t', -'-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', -'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', -'r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r', -'a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', -'e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', '"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', ']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', @@ -1239,719 +945,354 @@ static constexpr RulesBlobT RulesBlob = {{ 'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', '-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', -'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', -'r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', -'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', -'t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a', -'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', +',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o', +'t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"', +'}',',','"','s','c','h','e','m','e','"',']','}',',','"','h','t','t','p','"',']','}',',','{','"','f', +'n','"',':','"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e', +'S','3','B','u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','B','u','c','k','e','t','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','f','a','l', 's','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r', -'a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', -'u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', -'i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', -'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', -'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c', -'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', -'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}', -',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u', -'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', +':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a', +'l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', +'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i', +'o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i', +'d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r', +'s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', +'c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[', +'0',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','r','n','T','y','p','e','"','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','"',']','}',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s', +'3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y', +'p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s', +'i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"', +'"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ', +'L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D', +'u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']', +',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d', +'a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c', +'e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b', +'l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t', +'s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e', +'s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t', +'e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I', +'d','[','2',']','"',']','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', +'}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}', +']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f', +'i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R', +'N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o', +'e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o', +'n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e', +'g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', +'g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"', +'a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e', +'"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', +'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', +'A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',', +'"','"',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ','i','d','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', +'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', +'A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e', +']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}', +',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', '"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', 'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', 'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p', -'"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', +'l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N', +'a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e', +'c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', ',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', 'd','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s', -'I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a', -'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-', +'o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i', +'t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o', +'i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u', +'n','t','I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b', +'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P', +'a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', 't','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', -'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', -'B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', -'o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h', -'}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', -'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d', +'a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','e', +'s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c','o', +'n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`', +'-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','N', +'a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t', +' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',', +' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':', +' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N', +'S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ', +'f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{', +'B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r', +'t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n', +' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o','n', +'e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N',' ','i','s',' ','m','i','s', +'s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p', +'e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f', +'o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s', +'s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e', +' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','O','b','j', +'e','c','t',' ','L','a','m','b','d','a',' ','A','R','N','s',' ','o','n','l','y',' ','s','u','p','p', +'o','r','t',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',' ','a','r','n',' ','t','y','p', +'e','s',',',' ','b','u','t',' ','f','o','u','n','d',':',' ','`','{','a','r','n','T','y','p','e','}', +'`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', -'B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', -'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', -'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', -'#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', -'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p', -'"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c', -'k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', -'p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e', -'r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', -'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', -'e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', -'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', -'B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{', -'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', -'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', -'}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', -'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', -'k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', -'}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g', -'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r', +'n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"', +'a','s','s','i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"', +'}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',']','}',']','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', -'v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ', -'n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i', -'d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ', -'d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', -'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','s','c','h','e','m','e','"',']', -'}',',','"','h','t','t','p','"',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V', -'i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', -'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', -'a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o', -'n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m', -'e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'A',' ','v','a','l','i','d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n', -'o','t',' ','b','e',' ','d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','r','n','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i', -'g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n', -'T','y','p','e','"','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 's','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', 'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', -']','}',',','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':', -'"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', -'S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']', -',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d', -'a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c', -'e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', -'e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s', -'P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', -'"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u', -'p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o', -'n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', -'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', -'c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"', -']','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']', +'}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c','c','e', +'s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n', +'"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A', +'c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r', +'r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n', +'o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e', +'r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}',']','}',']',',','"','t', 'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g', @@ -1969,725 +1310,405 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n', 'd',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`', '"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', -'g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g', +'n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r', +'t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', '"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',', -'"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', -',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i', +'o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','n','a','m','e','}','"',']','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', +'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"', +'s','3','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c', +'c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e', '"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c', -'o','u','n','t','I','d','"',']','}',',','"','"',']','}',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','R','N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o', -'u','n','t',' ','i','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t', -'L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c', -'c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s', -'-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i','o', -'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', -'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', -'e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t', -'-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b', -'u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b', -'j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#', -'r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n', -'t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t', -'I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c', -'k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r', -'t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t', -'A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c', -'c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s', +'t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a', +'c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e', +'r','r','o','r','"',':','"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t', +'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p', +'o','i','n','t','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t', +'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i', +'p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u', +'c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s', +'p','o','i','n','t','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', +'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', +'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', +'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e', +' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-', +'Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{', +'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ', 'c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d', -' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n', -'t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', -'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c', -'o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ', -'a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o', -'u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']', +' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#', +'a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A', +'R','N',' ','w','a','s',' ','n','o','t',' ','f','o','r',' ','t','h','e',' ','S','3',' ','s','e','r', +'v','i','c','e',',',' ','f','o','u','n','d',':',' ','{','b','u','c','k','e','t','A','r','n','#','s', +'e','r','v','i','c','e','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', '}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', '"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':', ' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n', 'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c', -'o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b', -'u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`', -'{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a', -'l','i','d',' ','p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b', -'e',' ','d','e','t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ', -'p','a','r','t','i','t','i','o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ', -'`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', -'i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ', -'c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e', -' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p', -'o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t', -' ','A','R','N',' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ', -'r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a', -'c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n', -'a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o', -'v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a', -'m','b','d','a',' ','A','R','N','s',' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a', -'c','c','e','s','s','p','o','i','n','t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u', -'t',' ','f','o','u','n','d',':',' ','`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"', -'}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', -',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n', -'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', -'"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p', -'e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c', -'c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', -'o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o', -'t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r', -'a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d', -'[','2',']','"',']','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r', -'n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n', +'f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t', +' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b', +'u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y', +' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c', +'e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s', +'p','o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a', +'m','e','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M', +'R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l', +'-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o', +'r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', +'o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',', +'"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e', +'M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s','"','}', +',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', +' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','u','l','t','i','-','R','e','g', +'i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N','s',' ','a','r','e', +' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','m','r','a','p','P','a','r','t', +'i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','p','a','r','t','i','t','i','o','n','"',']','}',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e', +'s','s','P','o','i','n','t','N','a','m','e','}','.','a','c','c','e','s','s','p','o','i','n','t','.', +'s','3','-','g','l','o','b','a','l','.','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':', +'[','"','*','"',']','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n', +'t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t', +'i','t','i','o','n',' ','`','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','n','a','m', +'e','}','`',' ','b','u','t',' ','b','u','c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t', +'o',' ','p','a','r','t','i','t','i','o','n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p', +'a','r','t','i','t','i','o','n','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ','P','o', +'i','n','t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d', +' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t', +' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n', +'t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ', +'p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 's','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', 'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']', -'}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', -'r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c', -'h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}', -'`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a', -'l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', -',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u', -'c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', +']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r', +'"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s', +'u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t', +'s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I', +'d','[','4',']','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t',' ','A','c','c','e','s','s',' ','P','o', +'i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n','s',' ','s','u','b',' ','r','e','s','o', +'u','r','c','e','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"', +'a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',']',',','"','t','y', 'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', +'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i', +'o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r', +'n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R', +'e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o', +'n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e', +'g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i', +'e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d', +' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', +'A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n', +'"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t', +'i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', ',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', 'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o', -'n','"','}',',','"','n','a','m','e','"',']','}',',','"','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','n','a','m','e','}','"',']','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g', -'i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', -']','}',',','"','s','3','"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a', -'l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I', -'d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', -'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}', -',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',', '"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r', -'r','o','r','"',':','"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n','o', -'t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l', +'i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}', +',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r', 'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']', -',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r','o','r','"', -':','"','D','u','a','l','S','t','a','c','k',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m', -'b','i','n','e','d',' ','w','i','t','h',' ','a',' ','H','o','s','t',' ','o','v','e','r','r','i','d', -'e',' ','(','P','r','i','v','a','t','e','L','i','n','k',')','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', -'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a', -'c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', -'.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k', -'e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', -'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A', -'r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o', -'i','n','t','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', -'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-', -'a','c','c','e','s','s','p','o','i','n','t','.','d','u','a','l','s','t','a','c','k','.','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', -'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', +'a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']',',','"','a','s','s', +'i','g','n','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', +'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i', +'g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o', +'u','t','p','o','s','t','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t', +'"',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', 'd','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R', 'L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', 'n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-', -'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e', 'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', '{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t', -'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p', -'o','i','n','t','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{', -'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', +'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g', 'n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r', 'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',']','}',']', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', -'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c', -'e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c', -'o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ', -'`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o', -'u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a', -'-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u', -'n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', -'}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ', -'n','o','t',' ','f','o','r',' ','t','h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f', -'o','u','n','d',':',' ','{','b','u','c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', -'v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u', -'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d', -' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g', -'u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R', -'N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k', -'e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p', -'a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t', -'e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', -'o','r','"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ','p','a','r','t','i', -'t','i','o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ','`','{','b','u','c', -'k','e','t','A','r','n','#','r','e','g','i','o','n','}','`','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', -'N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a', -'i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p', -'o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`', -'.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N',' ', -'i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a', -'m','e','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', -'o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o', -'r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', -'o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e', -'s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':', -' ','M','u','l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n', -'t',' ','A','R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',',','"','n', -'a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', -',','"','p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', -'e','}','.','a','c','c','e','s','s','p','o','i','n','t','.','s','3','-','g','l','o','b','a','l','.', -'{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f', -'i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','m','r', -'a','p','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b','u','t',' ','b','u', -'c','k','e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r','t','i','t','i','o', -'n',' ','`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t','i','o','n','}','`', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','{','R', -'e','g','i','o','n','}',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','r','e', -'g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}', -']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s','s',' ', -'P','o','i','n','t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x', -'p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ', -'f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e', -'s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m', -'e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e', -'r','v','i','c','e','"',']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']', -',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e', -'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a', -'t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e', -'I','d','[','4',']','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t',' ','A','c','c','e','s','s',' ','P', -'o','i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n','s',' ','s','u','b',' ','r','e','s', -'o','u','r','c','e','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', -'e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"', -'o','u','t','p','o','s','t','I','d','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g', -'i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o', -'n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r', -'o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', -'}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ', -'r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e', -'A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"', -']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i', -'t','i','o','n','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r', -'t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e', -'"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g', -'i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o', -'u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I', -'d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','T', -'y','p','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', -'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s', -'i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y','p', -'e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', -'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', -'"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', -'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t', -'p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', +'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', +'d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t', +'s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c', +'k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',', '"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', 's','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', 'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', 's','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s', '"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e', 't','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', -'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', -'c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o', -'u','t','p','o','s','t','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', -'}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u', -'t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o','u', -'t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',',', -' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','A','R','N',':',' ','e','x','p','e','c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ', -'p','o','i','n','t',' ','n','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e', -'c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u','r', -'c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ', -'i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ', -'A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ', -'`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k', -'e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D', -'N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r', -'e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ', -'(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r', -'t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r', -'m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', '}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','C','o','u','l','d',' ','n','o','t',' ','l','o','a','d',' ','p','a','r','t','i','t','i', -'o','n',' ','f','o','r',' ','A','R','N',' ','r','e','g','i','o','n',' ','{','b','u','c','k','e','t', -'A','r','n','#','r','e','g','i','o','n','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o','u','t','p','o','s','t',' ','t','y', +'p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',',',' ','f','o','u','n','d',' ','{', +'o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e', +'c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','4','-','c','o','m', +'p','o','n','e','n','t',' ','r','e','s','o','u','r','c','e','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', ']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T', -'h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','a','y',' ','o','n','l','y',' ','c','o', +'h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o', 'n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`', -'-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u','t','p','o','s','t','I','d','}','`','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', -'a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ', -'w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', -'N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':',' ','{', -'B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e','}',')', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c', +'-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R', +'N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(', +'i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c', +'o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b', +'u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`', +'{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',']','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d', +' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-', +'Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{', +'o','u','t','p','o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O', +'u','t','p','o','s','t',' ','I','d',' ','w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', +'A','R','N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':', +' ','{','B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e', +'}',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c', 'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', 'v','a','l','i','d',' ','A','R','N',':',' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p', 'e','c','i','f','i','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', @@ -2704,1305 +1725,641 @@ static constexpr RulesBlobT RulesBlob = {{ 'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B','u','c','k','e', 't','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A','R','N','"',',', '"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E','n','c','o','d','e','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', -'k','e','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"', -'e','r','r','o','r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s', -'t','a','c','k',' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ', -'a',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P', +'a','t','h','S','t','y','l','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','e','r','r','o','r','"',':', +'"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a', +'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','A','R','N',' ','b','u','c', +'k','e','t','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E','n','c', +'o','d','e','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c','o','d', +'e','d','_','b','u','c','k','e','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"', +'a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', +'.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', +'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', +'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l', -'s','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e', -'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e', +'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', 's','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', 'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', 'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', 'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', 'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-', -'f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', -'.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', -'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', -'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f', -'n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', -'u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', -'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', -'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', -'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', -'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', -'#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t', +'a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o', 'd','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', ':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', 'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', 'm','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', ':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', 'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/', '{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r', 'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', '[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', ':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', 'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', '"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e', -'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', +'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b', +'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e', +'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', 's','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', 'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', 'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', 'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', 'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', '}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n', -'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', +'d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c', +'k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', +'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s', +'t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c', +'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', +'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t', -'a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', -'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', -'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', -'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', -'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', -'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', -':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', -'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', -'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', -'}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', -'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', -'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r', -'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', -'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', -':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o', -'r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d', -'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', -'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', -'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', -'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', -'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e', -'a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u', -'s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g', -'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k', -'e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{', -'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r', -'e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t', -'h',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t', -'i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m', -'i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',']','}', -']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t', -'L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p', -'a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', -'3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ', -'s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a', -' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e', -'l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w', -'s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i', -'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', -'#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y', -'}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', -'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', -'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', -':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i', -'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','R','e', -'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',']','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r', -'e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v', -'a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ','p','a','r','t','i', -'t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e','t','e','r','m','i', -'n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s', -'.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', -'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', -'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"', -'a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a','r','t','i', -'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P', -'S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', -'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', -':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a', -'t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', -'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s', -'s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r', -'l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s', -'t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s', -'t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', -'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', -'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', -'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', +'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', +'m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_', +'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', +'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', -'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', +'c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{', +'u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', 'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', '{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u', -'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i', +'z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k', +'e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', 'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', 't','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', 'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', ']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', -'d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', -'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', +'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n', +'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', +'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s', +'-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_', +'e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', +'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', 'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', 'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', '4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', 'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', '}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', -'p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', 'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', '"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', -'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', -'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p', 'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', ':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', '"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', 'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', 'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', 'd','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', -'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', -'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s', +'i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S', +'3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', 'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', +'O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r', +'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"', +':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b', +'j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', +'o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', 'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', +'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', +'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', +'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', +'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.', +'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n', +':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ', +'D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l', +'i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i', 'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t', -'h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e', +'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', +'"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g', +'i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', 'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', 's','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', '"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', ':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', '{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', '"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l', -'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a', +'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s', +'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', +'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', 'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', ':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', '"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', 'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', 'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', 'd','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c', -'k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', -'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e', -'a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', -'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', +'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', ']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{', -'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', -'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', -'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', -'l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h', -'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t', +'a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', 't','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', 'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', 'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', @@ -4013,173 +2370,219 @@ static constexpr RulesBlobT RulesBlob = {{ 'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', '"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', '"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', -'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', -'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', -'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', +'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', +'l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.', +'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', +'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a', +'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', 'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', '"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', 'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', 'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', 'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', 's','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', -'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', +'i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', 'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t', -'-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e', -'a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e', -'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', +'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', 'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', 'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', ':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#', +'s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}', +'{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', +'u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"', +'a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t', '"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', 'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', 'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', 'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i', -'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', -'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',']','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o', -'t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','v','a','l','i','d',' ', -'p','a','r','t','i','t','i','o','n',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','d','e', -'t','e','r','m','i','n','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ', -'s','e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u','e','s','t','s', -' ','t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -'}',']','}','\0' +':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', +'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a', +'l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ', +'r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N', +'S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +'}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ','s', +'e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u','e','s','t','s',' ', +'t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', +'\0' }}; const char* S3EndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClient.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClient.h index ecbb166794d..d1b0b346f78 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClient.h @@ -187,13 +187,23 @@ namespace SageMakerFeatureStoreRuntime } /** - *

    Used for data ingestion into the FeatureStore. The - * PutRecord API writes to both the OnlineStore and - * OfflineStore. If the record is the latest record for the - * recordIdentifier, the record is written to both the - * OnlineStore and OfflineStore. If the record is a - * historic record, it is written only to the - * OfflineStore.

    See Also:

    The PutRecord API is used to ingest a list of + * Records into your feature group.

    If a new record��s + * EventTime is greater, the new record is written to both the + * OnlineStore and OfflineStore. Otherwise, the record is + * a historic record and it is written only to the OfflineStore.

    + *

    You can specify the ingestion to be applied to the OnlineStore, + * OfflineStore, or both by using the TargetStores + * request parameter.

    You can set the ingested record to expire at a given + * time to live (TTL) duration after the record’s event time, + * ExpiresAt = EventTime + TtlDuration, by + * specifying the TtlDuration parameter. A record level + * TtlDuration is set when specifying the TtlDuration + * parameter using the PutRecord API call. If the input + * TtlDuration is null or unspecified, + * TtlDuration is set to the default feature group level + * TtlDuration. A record level TtlDuration supersedes the + * group level TtlDuration.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordIdentifier.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordIdentifier.h index 578e71cd577..103f962f1a6 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordIdentifier.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordIdentifier.h @@ -40,50 +40,50 @@ namespace Model /** - *

    A FeatureGroupName containing Records you are retrieving in a - * batch.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup + * containing the records you are retrieving in a batch.

    */ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** - *

    A FeatureGroupName containing Records you are retrieving in a - * batch.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup + * containing the records you are retrieving in a batch.

    */ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** - *

    A FeatureGroupName containing Records you are retrieving in a - * batch.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup + * containing the records you are retrieving in a batch.

    */ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** - *

    A FeatureGroupName containing Records you are retrieving in a - * batch.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup + * containing the records you are retrieving in a batch.

    */ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** - *

    A FeatureGroupName containing Records you are retrieving in a - * batch.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup + * containing the records you are retrieving in a batch.

    */ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** - *

    A FeatureGroupName containing Records you are retrieving in a - * batch.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup + * containing the records you are retrieving in a batch.

    */ inline BatchGetRecordIdentifier& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** - *

    A FeatureGroupName containing Records you are retrieving in a - * batch.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup + * containing the records you are retrieving in a batch.

    */ inline BatchGetRecordIdentifier& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** - *

    A FeatureGroupName containing Records you are retrieving in a - * batch.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup + * containing the records you are retrieving in a batch.

    */ inline BatchGetRecordIdentifier& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordRequest.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordRequest.h index 2e8fadfbd22..8e4c215c480 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordRequest.h @@ -35,58 +35,66 @@ namespace Model /** - *

    A list of FeatureGroup names, with their corresponding - * RecordIdentifier value, and Feature name that have been requested - * to be retrieved in batch.

    + *

    A list containing the name or Amazon Resource Name (ARN) of the + * FeatureGroup, the list of names of Features to be + * retrieved, and the corresponding RecordIdentifier values as + * strings.

    */ inline const Aws::Vector& GetIdentifiers() const{ return m_identifiers; } /** - *

    A list of FeatureGroup names, with their corresponding - * RecordIdentifier value, and Feature name that have been requested - * to be retrieved in batch.

    + *

    A list containing the name or Amazon Resource Name (ARN) of the + * FeatureGroup, the list of names of Features to be + * retrieved, and the corresponding RecordIdentifier values as + * strings.

    */ inline bool IdentifiersHasBeenSet() const { return m_identifiersHasBeenSet; } /** - *

    A list of FeatureGroup names, with their corresponding - * RecordIdentifier value, and Feature name that have been requested - * to be retrieved in batch.

    + *

    A list containing the name or Amazon Resource Name (ARN) of the + * FeatureGroup, the list of names of Features to be + * retrieved, and the corresponding RecordIdentifier values as + * strings.

    */ inline void SetIdentifiers(const Aws::Vector& value) { m_identifiersHasBeenSet = true; m_identifiers = value; } /** - *

    A list of FeatureGroup names, with their corresponding - * RecordIdentifier value, and Feature name that have been requested - * to be retrieved in batch.

    + *

    A list containing the name or Amazon Resource Name (ARN) of the + * FeatureGroup, the list of names of Features to be + * retrieved, and the corresponding RecordIdentifier values as + * strings.

    */ inline void SetIdentifiers(Aws::Vector&& value) { m_identifiersHasBeenSet = true; m_identifiers = std::move(value); } /** - *

    A list of FeatureGroup names, with their corresponding - * RecordIdentifier value, and Feature name that have been requested - * to be retrieved in batch.

    + *

    A list containing the name or Amazon Resource Name (ARN) of the + * FeatureGroup, the list of names of Features to be + * retrieved, and the corresponding RecordIdentifier values as + * strings.

    */ inline BatchGetRecordRequest& WithIdentifiers(const Aws::Vector& value) { SetIdentifiers(value); return *this;} /** - *

    A list of FeatureGroup names, with their corresponding - * RecordIdentifier value, and Feature name that have been requested - * to be retrieved in batch.

    + *

    A list containing the name or Amazon Resource Name (ARN) of the + * FeatureGroup, the list of names of Features to be + * retrieved, and the corresponding RecordIdentifier values as + * strings.

    */ inline BatchGetRecordRequest& WithIdentifiers(Aws::Vector&& value) { SetIdentifiers(std::move(value)); return *this;} /** - *

    A list of FeatureGroup names, with their corresponding - * RecordIdentifier value, and Feature name that have been requested - * to be retrieved in batch.

    + *

    A list containing the name or Amazon Resource Name (ARN) of the + * FeatureGroup, the list of names of Features to be + * retrieved, and the corresponding RecordIdentifier values as + * strings.

    */ inline BatchGetRecordRequest& AddIdentifiers(const BatchGetRecordIdentifier& value) { m_identifiersHasBeenSet = true; m_identifiers.push_back(value); return *this; } /** - *

    A list of FeatureGroup names, with their corresponding - * RecordIdentifier value, and Feature name that have been requested - * to be retrieved in batch.

    + *

    A list containing the name or Amazon Resource Name (ARN) of the + * FeatureGroup, the list of names of Features to be + * retrieved, and the corresponding RecordIdentifier values as + * strings.

    */ inline BatchGetRecordRequest& AddIdentifiers(BatchGetRecordIdentifier&& value) { m_identifiersHasBeenSet = true; m_identifiers.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordResultDetail.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordResultDetail.h index 143eeb637a8..31ad7055640 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordResultDetail.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/BatchGetRecordResultDetail.h @@ -26,7 +26,7 @@ namespace Model { /** - *

    The output of Records that have been retrieved in a batch.

    See + *

    The output of records that have been retrieved in a batch.

    See * Also:

    AWS * API Reference

    diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/DeleteRecordRequest.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/DeleteRecordRequest.h index 9d41011cedc..cda4c58a8de 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/DeleteRecordRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/DeleteRecordRequest.h @@ -42,42 +42,50 @@ namespace Model /** - *

    The name of the feature group to delete the record from.

    + *

    The name or Amazon Resource Name (ARN) of the feature group to delete the + * record from.

    */ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** - *

    The name of the feature group to delete the record from.

    + *

    The name or Amazon Resource Name (ARN) of the feature group to delete the + * record from.

    */ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** - *

    The name of the feature group to delete the record from.

    + *

    The name or Amazon Resource Name (ARN) of the feature group to delete the + * record from.

    */ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** - *

    The name of the feature group to delete the record from.

    + *

    The name or Amazon Resource Name (ARN) of the feature group to delete the + * record from.

    */ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** - *

    The name of the feature group to delete the record from.

    + *

    The name or Amazon Resource Name (ARN) of the feature group to delete the + * record from.

    */ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** - *

    The name of the feature group to delete the record from.

    + *

    The name or Amazon Resource Name (ARN) of the feature group to delete the + * record from.

    */ inline DeleteRecordRequest& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** - *

    The name of the feature group to delete the record from.

    + *

    The name or Amazon Resource Name (ARN) of the feature group to delete the + * record from.

    */ inline DeleteRecordRequest& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** - *

    The name of the feature group to delete the record from.

    + *

    The name or Amazon Resource Name (ARN) of the feature group to delete the + * record from.

    */ inline DeleteRecordRequest& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/GetRecordRequest.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/GetRecordRequest.h index 851c1ab777a..8a47863ffe4 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/GetRecordRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/GetRecordRequest.h @@ -41,42 +41,50 @@ namespace Model /** - *

    The name of the feature group from which you want to retrieve a record.

    + *

    The name or Amazon Resource Name (ARN) of the feature group from which you + * want to retrieve a record.

    */ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** - *

    The name of the feature group from which you want to retrieve a record.

    + *

    The name or Amazon Resource Name (ARN) of the feature group from which you + * want to retrieve a record.

    */ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** - *

    The name of the feature group from which you want to retrieve a record.

    + *

    The name or Amazon Resource Name (ARN) of the feature group from which you + * want to retrieve a record.

    */ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** - *

    The name of the feature group from which you want to retrieve a record.

    + *

    The name or Amazon Resource Name (ARN) of the feature group from which you + * want to retrieve a record.

    */ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** - *

    The name of the feature group from which you want to retrieve a record.

    + *

    The name or Amazon Resource Name (ARN) of the feature group from which you + * want to retrieve a record.

    */ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** - *

    The name of the feature group from which you want to retrieve a record.

    + *

    The name or Amazon Resource Name (ARN) of the feature group from which you + * want to retrieve a record.

    */ inline GetRecordRequest& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** - *

    The name of the feature group from which you want to retrieve a record.

    + *

    The name or Amazon Resource Name (ARN) of the feature group from which you + * want to retrieve a record.

    */ inline GetRecordRequest& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** - *

    The name of the feature group from which you want to retrieve a record.

    + *

    The name or Amazon Resource Name (ARN) of the feature group from which you + * want to retrieve a record.

    */ inline GetRecordRequest& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} @@ -187,49 +195,49 @@ namespace Model /** *

    Parameter to request ExpiresAt in response. If - * Enabled, BatchGetRecord will return the value of + * Enabled, GetRecord will return the value of * ExpiresAt, if it is not null. If Disabled and null, - * BatchGetRecord will return null.

    + * GetRecord will return null.

    */ inline const ExpirationTimeResponse& GetExpirationTimeResponse() const{ return m_expirationTimeResponse; } /** *

    Parameter to request ExpiresAt in response. If - * Enabled, BatchGetRecord will return the value of + * Enabled, GetRecord will return the value of * ExpiresAt, if it is not null. If Disabled and null, - * BatchGetRecord will return null.

    + * GetRecord will return null.

    */ inline bool ExpirationTimeResponseHasBeenSet() const { return m_expirationTimeResponseHasBeenSet; } /** *

    Parameter to request ExpiresAt in response. If - * Enabled, BatchGetRecord will return the value of + * Enabled, GetRecord will return the value of * ExpiresAt, if it is not null. If Disabled and null, - * BatchGetRecord will return null.

    + * GetRecord will return null.

    */ inline void SetExpirationTimeResponse(const ExpirationTimeResponse& value) { m_expirationTimeResponseHasBeenSet = true; m_expirationTimeResponse = value; } /** *

    Parameter to request ExpiresAt in response. If - * Enabled, BatchGetRecord will return the value of + * Enabled, GetRecord will return the value of * ExpiresAt, if it is not null. If Disabled and null, - * BatchGetRecord will return null.

    + * GetRecord will return null.

    */ inline void SetExpirationTimeResponse(ExpirationTimeResponse&& value) { m_expirationTimeResponseHasBeenSet = true; m_expirationTimeResponse = std::move(value); } /** *

    Parameter to request ExpiresAt in response. If - * Enabled, BatchGetRecord will return the value of + * Enabled, GetRecord will return the value of * ExpiresAt, if it is not null. If Disabled and null, - * BatchGetRecord will return null.

    + * GetRecord will return null.

    */ inline GetRecordRequest& WithExpirationTimeResponse(const ExpirationTimeResponse& value) { SetExpirationTimeResponse(value); return *this;} /** *

    Parameter to request ExpiresAt in response. If - * Enabled, BatchGetRecord will return the value of + * Enabled, GetRecord will return the value of * ExpiresAt, if it is not null. If Disabled and null, - * BatchGetRecord will return null.

    + * GetRecord will return null.

    */ inline GetRecordRequest& WithExpirationTimeResponse(ExpirationTimeResponse&& value) { SetExpirationTimeResponse(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/PutRecordRequest.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/PutRecordRequest.h index bdfe0481e29..ce508877004 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/PutRecordRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/model/PutRecordRequest.h @@ -37,42 +37,50 @@ namespace Model /** - *

    The name of the feature group that you want to insert the record into.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you want to + * insert the record into.

    */ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** - *

    The name of the feature group that you want to insert the record into.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you want to + * insert the record into.

    */ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** - *

    The name of the feature group that you want to insert the record into.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you want to + * insert the record into.

    */ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** - *

    The name of the feature group that you want to insert the record into.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you want to + * insert the record into.

    */ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** - *

    The name of the feature group that you want to insert the record into.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you want to + * insert the record into.

    */ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** - *

    The name of the feature group that you want to insert the record into.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you want to + * insert the record into.

    */ inline PutRecordRequest& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** - *

    The name of the feature group that you want to insert the record into.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you want to + * insert the record into.

    */ inline PutRecordRequest& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** - *

    The name of the feature group that you want to insert the record into.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you want to + * insert the record into.

    */ inline PutRecordRequest& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h index e9b19be7762..aa282d644ec 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h @@ -6650,6 +6650,33 @@ namespace SageMaker return SubmitAsync(&SageMakerClient::ListProjects, request, handler, context); } + /** + *

    Lists Amazon SageMaker Catalogs based on given filters and orders. The + * maximum number of ResourceCatalogs viewable is 1000.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::ListResourceCatalogsOutcome ListResourceCatalogs(const Model::ListResourceCatalogsRequest& request) const; + + /** + * A Callable wrapper for ListResourceCatalogs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListResourceCatalogsOutcomeCallable ListResourceCatalogsCallable(const ListResourceCatalogsRequestT& request) const + { + return SubmitCallable(&SageMakerClient::ListResourceCatalogs, request); + } + + /** + * An Async wrapper for ListResourceCatalogs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListResourceCatalogsAsync(const ListResourceCatalogsRequestT& request, const ListResourceCatalogsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SageMakerClient::ListResourceCatalogs, request, handler, context); + } + /** *

    Lists spaces.

    See Also:

    AWS @@ -8065,7 +8092,18 @@ namespace SageMaker } /** - *

    Updates the feature group.

    See Also:

    Updates the feature group by either adding features or updating the online + * store configuration. Use one of the following request parameters at a time while + * using the UpdateFeatureGroup API.

    You can add features for + * your feature group using the FeatureAdditions request parameter. + * Features cannot be removed from a feature group.

    You can update the + * online store configuration by using the OnlineStoreConfig request + * parameter. If a TtlDuration is specified, the default + * TtlDuration applies for all records added to the feature group + * after the feature group is updated. If a record level + * TtlDuration exists from using the PutRecord API, the + * record level TtlDuration applies to that record instead of the + * default TtlDuration.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerServiceClientModel.h index beb213331e4..f42430ab35c 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerServiceClientModel.h @@ -214,6 +214,7 @@ #include #include #include +#include #include #include #include @@ -538,6 +539,7 @@ namespace Aws class ListPipelinesRequest; class ListProcessingJobsRequest; class ListProjectsRequest; + class ListResourceCatalogsRequest; class ListSpacesRequest; class ListStageDevicesRequest; class ListStudioLifecycleConfigsRequest; @@ -843,6 +845,7 @@ namespace Aws typedef Aws::Utils::Outcome ListPipelinesOutcome; typedef Aws::Utils::Outcome ListProcessingJobsOutcome; typedef Aws::Utils::Outcome ListProjectsOutcome; + typedef Aws::Utils::Outcome ListResourceCatalogsOutcome; typedef Aws::Utils::Outcome ListSpacesOutcome; typedef Aws::Utils::Outcome ListStageDevicesOutcome; typedef Aws::Utils::Outcome ListStudioLifecycleConfigsOutcome; @@ -1148,6 +1151,7 @@ namespace Aws typedef std::future ListPipelinesOutcomeCallable; typedef std::future ListProcessingJobsOutcomeCallable; typedef std::future ListProjectsOutcomeCallable; + typedef std::future ListResourceCatalogsOutcomeCallable; typedef std::future ListSpacesOutcomeCallable; typedef std::future ListStageDevicesOutcomeCallable; typedef std::future ListStudioLifecycleConfigsOutcomeCallable; @@ -1456,6 +1460,7 @@ namespace Aws typedef std::function&) > ListPipelinesResponseReceivedHandler; typedef std::function&) > ListProcessingJobsResponseReceivedHandler; typedef std::function&) > ListProjectsResponseReceivedHandler; + typedef std::function&) > ListResourceCatalogsResponseReceivedHandler; typedef std::function&) > ListSpacesResponseReceivedHandler; typedef std::function&) > ListStageDevicesResponseReceivedHandler; typedef std::function&) > ListStudioLifecycleConfigsResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CrossAccountFilterOption.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CrossAccountFilterOption.h new file mode 100644 index 00000000000..5dad4ccfd6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CrossAccountFilterOption.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + enum class CrossAccountFilterOption + { + NOT_SET, + SameAccount, + CrossAccount + }; + +namespace CrossAccountFilterOptionMapper +{ +AWS_SAGEMAKER_API CrossAccountFilterOption GetCrossAccountFilterOptionForName(const Aws::String& name); + +AWS_SAGEMAKER_API Aws::String GetNameForCrossAccountFilterOption(CrossAccountFilterOption value); +} // namespace CrossAccountFilterOptionMapper +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeFeatureGroupRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeFeatureGroupRequest.h index eac780d31e1..66f67f86f69 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeFeatureGroupRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeFeatureGroupRequest.h @@ -35,42 +35,50 @@ namespace Model /** - *

    The name of the FeatureGroup you want described.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup you + * want described.

    */ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** - *

    The name of the FeatureGroup you want described.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup you + * want described.

    */ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** - *

    The name of the FeatureGroup you want described.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup you + * want described.

    */ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** - *

    The name of the FeatureGroup you want described.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup you + * want described.

    */ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** - *

    The name of the FeatureGroup you want described.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup you + * want described.

    */ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** - *

    The name of the FeatureGroup you want described.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup you + * want described.

    */ inline DescribeFeatureGroupRequest& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** - *

    The name of the FeatureGroup you want described.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup you + * want described.

    */ inline DescribeFeatureGroupRequest& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** - *

    The name of the FeatureGroup you want described.

    + *

    The name or Amazon Resource Name (ARN) of the FeatureGroup you + * want described.

    */ inline DescribeFeatureGroupRequest& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeFeatureMetadataRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeFeatureMetadataRequest.h index a51655fb016..3915d3f68d5 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeFeatureMetadataRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeFeatureMetadataRequest.h @@ -35,42 +35,50 @@ namespace Model /** - *

    The name of the feature group containing the feature.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature.

    */ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** - *

    The name of the feature group containing the feature.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature.

    */ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** - *

    The name of the feature group containing the feature.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature.

    */ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** - *

    The name of the feature group containing the feature.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature.

    */ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** - *

    The name of the feature group containing the feature.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature.

    */ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** - *

    The name of the feature group containing the feature.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature.

    */ inline DescribeFeatureMetadataRequest& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** - *

    The name of the feature group containing the feature.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature.

    */ inline DescribeFeatureMetadataRequest& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** - *

    The name of the feature group containing the feature.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature.

    */ inline DescribeFeatureMetadataRequest& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/FeatureGroupSummary.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/FeatureGroupSummary.h index 801dbb59e9a..e599120d3f9 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/FeatureGroupSummary.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/FeatureGroupSummary.h @@ -27,7 +27,7 @@ namespace Model { /** - *

    The name, Arn, CreationTime, FeatureGroup values, + *

    The name, ARN, CreationTime, FeatureGroup values, * LastUpdatedTime and EnableOnlineStorage status of a * FeatureGroup.

    See Also:

    AWS diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ListResourceCatalogsRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ListResourceCatalogsRequest.h new file mode 100644 index 00000000000..6da533f65be --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ListResourceCatalogsRequest.h @@ -0,0 +1,324 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + + /** + */ + class ListResourceCatalogsRequest : public SageMakerRequest + { + public: + AWS_SAGEMAKER_API ListResourceCatalogsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListResourceCatalogs"; } + + AWS_SAGEMAKER_API Aws::String SerializePayload() const override; + + AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

    A string that partially matches one or more ResourceCatalogs + * names. Filters ResourceCatalog by name.

    + */ + inline const Aws::String& GetNameContains() const{ return m_nameContains; } + + /** + *

    A string that partially matches one or more ResourceCatalogs + * names. Filters ResourceCatalog by name.

    + */ + inline bool NameContainsHasBeenSet() const { return m_nameContainsHasBeenSet; } + + /** + *

    A string that partially matches one or more ResourceCatalogs + * names. Filters ResourceCatalog by name.

    + */ + inline void SetNameContains(const Aws::String& value) { m_nameContainsHasBeenSet = true; m_nameContains = value; } + + /** + *

    A string that partially matches one or more ResourceCatalogs + * names. Filters ResourceCatalog by name.

    + */ + inline void SetNameContains(Aws::String&& value) { m_nameContainsHasBeenSet = true; m_nameContains = std::move(value); } + + /** + *

    A string that partially matches one or more ResourceCatalogs + * names. Filters ResourceCatalog by name.

    + */ + inline void SetNameContains(const char* value) { m_nameContainsHasBeenSet = true; m_nameContains.assign(value); } + + /** + *

    A string that partially matches one or more ResourceCatalogs + * names. Filters ResourceCatalog by name.

    + */ + inline ListResourceCatalogsRequest& WithNameContains(const Aws::String& value) { SetNameContains(value); return *this;} + + /** + *

    A string that partially matches one or more ResourceCatalogs + * names. Filters ResourceCatalog by name.

    + */ + inline ListResourceCatalogsRequest& WithNameContains(Aws::String&& value) { SetNameContains(std::move(value)); return *this;} + + /** + *

    A string that partially matches one or more ResourceCatalogs + * names. Filters ResourceCatalog by name.

    + */ + inline ListResourceCatalogsRequest& WithNameContains(const char* value) { SetNameContains(value); return *this;} + + + /** + *

    Use this parameter to search for ResourceCatalogs created after + * a specific date and time.

    + */ + inline const Aws::Utils::DateTime& GetCreationTimeAfter() const{ return m_creationTimeAfter; } + + /** + *

    Use this parameter to search for ResourceCatalogs created after + * a specific date and time.

    + */ + inline bool CreationTimeAfterHasBeenSet() const { return m_creationTimeAfterHasBeenSet; } + + /** + *

    Use this parameter to search for ResourceCatalogs created after + * a specific date and time.

    + */ + inline void SetCreationTimeAfter(const Aws::Utils::DateTime& value) { m_creationTimeAfterHasBeenSet = true; m_creationTimeAfter = value; } + + /** + *

    Use this parameter to search for ResourceCatalogs created after + * a specific date and time.

    + */ + inline void SetCreationTimeAfter(Aws::Utils::DateTime&& value) { m_creationTimeAfterHasBeenSet = true; m_creationTimeAfter = std::move(value); } + + /** + *

    Use this parameter to search for ResourceCatalogs created after + * a specific date and time.

    + */ + inline ListResourceCatalogsRequest& WithCreationTimeAfter(const Aws::Utils::DateTime& value) { SetCreationTimeAfter(value); return *this;} + + /** + *

    Use this parameter to search for ResourceCatalogs created after + * a specific date and time.

    + */ + inline ListResourceCatalogsRequest& WithCreationTimeAfter(Aws::Utils::DateTime&& value) { SetCreationTimeAfter(std::move(value)); return *this;} + + + /** + *

    Use this parameter to search for ResourceCatalogs created + * before a specific date and time.

    + */ + inline const Aws::Utils::DateTime& GetCreationTimeBefore() const{ return m_creationTimeBefore; } + + /** + *

    Use this parameter to search for ResourceCatalogs created + * before a specific date and time.

    + */ + inline bool CreationTimeBeforeHasBeenSet() const { return m_creationTimeBeforeHasBeenSet; } + + /** + *

    Use this parameter to search for ResourceCatalogs created + * before a specific date and time.

    + */ + inline void SetCreationTimeBefore(const Aws::Utils::DateTime& value) { m_creationTimeBeforeHasBeenSet = true; m_creationTimeBefore = value; } + + /** + *

    Use this parameter to search for ResourceCatalogs created + * before a specific date and time.

    + */ + inline void SetCreationTimeBefore(Aws::Utils::DateTime&& value) { m_creationTimeBeforeHasBeenSet = true; m_creationTimeBefore = std::move(value); } + + /** + *

    Use this parameter to search for ResourceCatalogs created + * before a specific date and time.

    + */ + inline ListResourceCatalogsRequest& WithCreationTimeBefore(const Aws::Utils::DateTime& value) { SetCreationTimeBefore(value); return *this;} + + /** + *

    Use this parameter to search for ResourceCatalogs created + * before a specific date and time.

    + */ + inline ListResourceCatalogsRequest& WithCreationTimeBefore(Aws::Utils::DateTime&& value) { SetCreationTimeBefore(std::move(value)); return *this;} + + + /** + *

    The order in which the resource catalogs are listed.

    + */ + inline const ResourceCatalogSortOrder& GetSortOrder() const{ return m_sortOrder; } + + /** + *

    The order in which the resource catalogs are listed.

    + */ + inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } + + /** + *

    The order in which the resource catalogs are listed.

    + */ + inline void SetSortOrder(const ResourceCatalogSortOrder& value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } + + /** + *

    The order in which the resource catalogs are listed.

    + */ + inline void SetSortOrder(ResourceCatalogSortOrder&& value) { m_sortOrderHasBeenSet = true; m_sortOrder = std::move(value); } + + /** + *

    The order in which the resource catalogs are listed.

    + */ + inline ListResourceCatalogsRequest& WithSortOrder(const ResourceCatalogSortOrder& value) { SetSortOrder(value); return *this;} + + /** + *

    The order in which the resource catalogs are listed.

    + */ + inline ListResourceCatalogsRequest& WithSortOrder(ResourceCatalogSortOrder&& value) { SetSortOrder(std::move(value)); return *this;} + + + /** + *

    The value on which the resource catalog list is sorted.

    + */ + inline const ResourceCatalogSortBy& GetSortBy() const{ return m_sortBy; } + + /** + *

    The value on which the resource catalog list is sorted.

    + */ + inline bool SortByHasBeenSet() const { return m_sortByHasBeenSet; } + + /** + *

    The value on which the resource catalog list is sorted.

    + */ + inline void SetSortBy(const ResourceCatalogSortBy& value) { m_sortByHasBeenSet = true; m_sortBy = value; } + + /** + *

    The value on which the resource catalog list is sorted.

    + */ + inline void SetSortBy(ResourceCatalogSortBy&& value) { m_sortByHasBeenSet = true; m_sortBy = std::move(value); } + + /** + *

    The value on which the resource catalog list is sorted.

    + */ + inline ListResourceCatalogsRequest& WithSortBy(const ResourceCatalogSortBy& value) { SetSortBy(value); return *this;} + + /** + *

    The value on which the resource catalog list is sorted.

    + */ + inline ListResourceCatalogsRequest& WithSortBy(ResourceCatalogSortBy&& value) { SetSortBy(std::move(value)); return *this;} + + + /** + *

    The maximum number of results returned by ListResourceCatalogs. + *

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

    The maximum number of results returned by ListResourceCatalogs. + *

    + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

    The maximum number of results returned by ListResourceCatalogs. + *

    + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

    The maximum number of results returned by ListResourceCatalogs. + *

    + */ + inline ListResourceCatalogsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline ListResourceCatalogsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline ListResourceCatalogsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline ListResourceCatalogsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_nameContains; + bool m_nameContainsHasBeenSet = false; + + Aws::Utils::DateTime m_creationTimeAfter; + bool m_creationTimeAfterHasBeenSet = false; + + Aws::Utils::DateTime m_creationTimeBefore; + bool m_creationTimeBeforeHasBeenSet = false; + + ResourceCatalogSortOrder m_sortOrder; + bool m_sortOrderHasBeenSet = false; + + ResourceCatalogSortBy m_sortBy; + bool m_sortByHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ListResourceCatalogsResult.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ListResourceCatalogsResult.h new file mode 100644 index 00000000000..bd75fb0cec0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ListResourceCatalogsResult.h @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + class ListResourceCatalogsResult + { + public: + AWS_SAGEMAKER_API ListResourceCatalogsResult(); + AWS_SAGEMAKER_API ListResourceCatalogsResult(const Aws::AmazonWebServiceResult& result); + AWS_SAGEMAKER_API ListResourceCatalogsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    A list of the requested ResourceCatalogs.

    + */ + inline const Aws::Vector& GetResourceCatalogs() const{ return m_resourceCatalogs; } + + /** + *

    A list of the requested ResourceCatalogs.

    + */ + inline void SetResourceCatalogs(const Aws::Vector& value) { m_resourceCatalogs = value; } + + /** + *

    A list of the requested ResourceCatalogs.

    + */ + inline void SetResourceCatalogs(Aws::Vector&& value) { m_resourceCatalogs = std::move(value); } + + /** + *

    A list of the requested ResourceCatalogs.

    + */ + inline ListResourceCatalogsResult& WithResourceCatalogs(const Aws::Vector& value) { SetResourceCatalogs(value); return *this;} + + /** + *

    A list of the requested ResourceCatalogs.

    + */ + inline ListResourceCatalogsResult& WithResourceCatalogs(Aws::Vector&& value) { SetResourceCatalogs(std::move(value)); return *this;} + + /** + *

    A list of the requested ResourceCatalogs.

    + */ + inline ListResourceCatalogsResult& AddResourceCatalogs(const ResourceCatalog& value) { m_resourceCatalogs.push_back(value); return *this; } + + /** + *

    A list of the requested ResourceCatalogs.

    + */ + inline ListResourceCatalogsResult& AddResourceCatalogs(ResourceCatalog&& value) { m_resourceCatalogs.push_back(std::move(value)); return *this; } + + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline ListResourceCatalogsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline ListResourceCatalogsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A token to resume pagination of ListResourceCatalogs results. + *

    + */ + inline ListResourceCatalogsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline ListResourceCatalogsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListResourceCatalogsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListResourceCatalogsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_resourceCatalogs; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalog.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalog.h new file mode 100644 index 00000000000..539f02a7669 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalog.h @@ -0,0 +1,216 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

    A resource catalog containing all of the resources of a specific resource + * type within a resource owner account. For an example on sharing the Amazon + * SageMaker Feature Store DefaultFeatureGroupCatalog, see Share + * Amazon SageMaker Catalog resource type in the Amazon SageMaker Developer + * Guide.

    See Also:

    AWS + * API Reference

    + */ + class ResourceCatalog + { + public: + AWS_SAGEMAKER_API ResourceCatalog(); + AWS_SAGEMAKER_API ResourceCatalog(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API ResourceCatalog& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    + */ + inline const Aws::String& GetResourceCatalogArn() const{ return m_resourceCatalogArn; } + + /** + *

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    + */ + inline bool ResourceCatalogArnHasBeenSet() const { return m_resourceCatalogArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    + */ + inline void SetResourceCatalogArn(const Aws::String& value) { m_resourceCatalogArnHasBeenSet = true; m_resourceCatalogArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    + */ + inline void SetResourceCatalogArn(Aws::String&& value) { m_resourceCatalogArnHasBeenSet = true; m_resourceCatalogArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    + */ + inline void SetResourceCatalogArn(const char* value) { m_resourceCatalogArnHasBeenSet = true; m_resourceCatalogArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithResourceCatalogArn(const Aws::String& value) { SetResourceCatalogArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithResourceCatalogArn(Aws::String&& value) { SetResourceCatalogArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithResourceCatalogArn(const char* value) { SetResourceCatalogArn(value); return *this;} + + + /** + *

    The name of the ResourceCatalog.

    + */ + inline const Aws::String& GetResourceCatalogName() const{ return m_resourceCatalogName; } + + /** + *

    The name of the ResourceCatalog.

    + */ + inline bool ResourceCatalogNameHasBeenSet() const { return m_resourceCatalogNameHasBeenSet; } + + /** + *

    The name of the ResourceCatalog.

    + */ + inline void SetResourceCatalogName(const Aws::String& value) { m_resourceCatalogNameHasBeenSet = true; m_resourceCatalogName = value; } + + /** + *

    The name of the ResourceCatalog.

    + */ + inline void SetResourceCatalogName(Aws::String&& value) { m_resourceCatalogNameHasBeenSet = true; m_resourceCatalogName = std::move(value); } + + /** + *

    The name of the ResourceCatalog.

    + */ + inline void SetResourceCatalogName(const char* value) { m_resourceCatalogNameHasBeenSet = true; m_resourceCatalogName.assign(value); } + + /** + *

    The name of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithResourceCatalogName(const Aws::String& value) { SetResourceCatalogName(value); return *this;} + + /** + *

    The name of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithResourceCatalogName(Aws::String&& value) { SetResourceCatalogName(std::move(value)); return *this;} + + /** + *

    The name of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithResourceCatalogName(const char* value) { SetResourceCatalogName(value); return *this;} + + + /** + *

    A free form description of the ResourceCatalog.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    A free form description of the ResourceCatalog.

    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

    A free form description of the ResourceCatalog.

    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

    A free form description of the ResourceCatalog.

    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

    A free form description of the ResourceCatalog.

    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

    A free form description of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    A free form description of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    A free form description of the ResourceCatalog.

    + */ + inline ResourceCatalog& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

    The time the ResourceCatalog was created.

    + */ + inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } + + /** + *

    The time the ResourceCatalog was created.

    + */ + inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } + + /** + *

    The time the ResourceCatalog was created.

    + */ + inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } + + /** + *

    The time the ResourceCatalog was created.

    + */ + inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } + + /** + *

    The time the ResourceCatalog was created.

    + */ + inline ResourceCatalog& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} + + /** + *

    The time the ResourceCatalog was created.

    + */ + inline ResourceCatalog& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} + + private: + + Aws::String m_resourceCatalogArn; + bool m_resourceCatalogArnHasBeenSet = false; + + Aws::String m_resourceCatalogName; + bool m_resourceCatalogNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Utils::DateTime m_creationTime; + bool m_creationTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalogSortBy.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalogSortBy.h new file mode 100644 index 00000000000..ae10a7dee86 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalogSortBy.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + enum class ResourceCatalogSortBy + { + NOT_SET, + CreationTime + }; + +namespace ResourceCatalogSortByMapper +{ +AWS_SAGEMAKER_API ResourceCatalogSortBy GetResourceCatalogSortByForName(const Aws::String& name); + +AWS_SAGEMAKER_API Aws::String GetNameForResourceCatalogSortBy(ResourceCatalogSortBy value); +} // namespace ResourceCatalogSortByMapper +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalogSortOrder.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalogSortOrder.h new file mode 100644 index 00000000000..c13bd270f8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceCatalogSortOrder.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + enum class ResourceCatalogSortOrder + { + NOT_SET, + Ascending, + Descending + }; + +namespace ResourceCatalogSortOrderMapper +{ +AWS_SAGEMAKER_API ResourceCatalogSortOrder GetResourceCatalogSortOrderForName(const Aws::String& name); + +AWS_SAGEMAKER_API Aws::String GetNameForResourceCatalogSortOrder(ResourceCatalogSortOrder value); +} // namespace ResourceCatalogSortOrderMapper +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/SearchRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/SearchRequest.h index 9ecb855860d..02c3c692d5b 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/SearchRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/SearchRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -300,6 +301,85 @@ namespace Model */ inline SearchRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + /** + *

    A cross account filter option. When the value is "CrossAccount" + * the search results will only include resources made discoverable to you from + * other accounts. When the value is "SameAccount" or + * null the search results will only include resources from your + * account. Default is null. For more information on searching for + * resources made discoverable to your account, see + * Search discoverable resources in the SageMaker Developer Guide. The maximum + * number of ResourceCatalogs viewable is 1000.

    + */ + inline const CrossAccountFilterOption& GetCrossAccountFilterOption() const{ return m_crossAccountFilterOption; } + + /** + *

    A cross account filter option. When the value is "CrossAccount" + * the search results will only include resources made discoverable to you from + * other accounts. When the value is "SameAccount" or + * null the search results will only include resources from your + * account. Default is null. For more information on searching for + * resources made discoverable to your account, see + * Search discoverable resources in the SageMaker Developer Guide. The maximum + * number of ResourceCatalogs viewable is 1000.

    + */ + inline bool CrossAccountFilterOptionHasBeenSet() const { return m_crossAccountFilterOptionHasBeenSet; } + + /** + *

    A cross account filter option. When the value is "CrossAccount" + * the search results will only include resources made discoverable to you from + * other accounts. When the value is "SameAccount" or + * null the search results will only include resources from your + * account. Default is null. For more information on searching for + * resources made discoverable to your account, see + * Search discoverable resources in the SageMaker Developer Guide. The maximum + * number of ResourceCatalogs viewable is 1000.

    + */ + inline void SetCrossAccountFilterOption(const CrossAccountFilterOption& value) { m_crossAccountFilterOptionHasBeenSet = true; m_crossAccountFilterOption = value; } + + /** + *

    A cross account filter option. When the value is "CrossAccount" + * the search results will only include resources made discoverable to you from + * other accounts. When the value is "SameAccount" or + * null the search results will only include resources from your + * account. Default is null. For more information on searching for + * resources made discoverable to your account, see + * Search discoverable resources in the SageMaker Developer Guide. The maximum + * number of ResourceCatalogs viewable is 1000.

    + */ + inline void SetCrossAccountFilterOption(CrossAccountFilterOption&& value) { m_crossAccountFilterOptionHasBeenSet = true; m_crossAccountFilterOption = std::move(value); } + + /** + *

    A cross account filter option. When the value is "CrossAccount" + * the search results will only include resources made discoverable to you from + * other accounts. When the value is "SameAccount" or + * null the search results will only include resources from your + * account. Default is null. For more information on searching for + * resources made discoverable to your account, see + * Search discoverable resources in the SageMaker Developer Guide. The maximum + * number of ResourceCatalogs viewable is 1000.

    + */ + inline SearchRequest& WithCrossAccountFilterOption(const CrossAccountFilterOption& value) { SetCrossAccountFilterOption(value); return *this;} + + /** + *

    A cross account filter option. When the value is "CrossAccount" + * the search results will only include resources made discoverable to you from + * other accounts. When the value is "SameAccount" or + * null the search results will only include resources from your + * account. Default is null. For more information on searching for + * resources made discoverable to your account, see + * Search discoverable resources in the SageMaker Developer Guide. The maximum + * number of ResourceCatalogs viewable is 1000.

    + */ + inline SearchRequest& WithCrossAccountFilterOption(CrossAccountFilterOption&& value) { SetCrossAccountFilterOption(std::move(value)); return *this;} + private: ResourceType m_resource; @@ -319,6 +399,9 @@ namespace Model int m_maxResults; bool m_maxResultsHasBeenSet = false; + + CrossAccountFilterOption m_crossAccountFilterOption; + bool m_crossAccountFilterOptionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateFeatureGroupRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateFeatureGroupRequest.h index 9f4065194a8..28c452b8cb6 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateFeatureGroupRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateFeatureGroupRequest.h @@ -38,42 +38,50 @@ namespace Model /** - *

    The name of the feature group that you're updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you're + * updating.

    */ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** - *

    The name of the feature group that you're updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you're + * updating.

    */ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** - *

    The name of the feature group that you're updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you're + * updating.

    */ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** - *

    The name of the feature group that you're updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you're + * updating.

    */ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** - *

    The name of the feature group that you're updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you're + * updating.

    */ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** - *

    The name of the feature group that you're updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you're + * updating.

    */ inline UpdateFeatureGroupRequest& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** - *

    The name of the feature group that you're updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you're + * updating.

    */ inline UpdateFeatureGroupRequest& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** - *

    The name of the feature group that you're updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group that you're + * updating.

    */ inline UpdateFeatureGroupRequest& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateFeatureMetadataRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateFeatureMetadataRequest.h index 33ab3a20eb6..1dfa6d53f8c 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateFeatureMetadataRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateFeatureMetadataRequest.h @@ -37,50 +37,50 @@ namespace Model /** - *

    The name of the feature group containing the feature that you're - * updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature that you're updating.

    */ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** - *

    The name of the feature group containing the feature that you're - * updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature that you're updating.

    */ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** - *

    The name of the feature group containing the feature that you're - * updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature that you're updating.

    */ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** - *

    The name of the feature group containing the feature that you're - * updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature that you're updating.

    */ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** - *

    The name of the feature group containing the feature that you're - * updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature that you're updating.

    */ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** - *

    The name of the feature group containing the feature that you're - * updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature that you're updating.

    */ inline UpdateFeatureMetadataRequest& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** - *

    The name of the feature group containing the feature that you're - * updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature that you're updating.

    */ inline UpdateFeatureMetadataRequest& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** - *

    The name of the feature group containing the feature that you're - * updating.

    + *

    The name or Amazon Resource Name (ARN) of the feature group containing the + * feature that you're updating.

    */ inline UpdateFeatureMetadataRequest& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClient.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClient.cpp index a15b4f22aa5..f9b48fc3ab5 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClient.cpp @@ -250,6 +250,7 @@ #include #include #include +#include #include #include #include @@ -6410,6 +6411,32 @@ ListProjectsOutcome SageMakerClient::ListProjects(const ListProjectsRequest& req {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListResourceCatalogsOutcome SageMakerClient::ListResourceCatalogs(const ListResourceCatalogsRequest& request) const +{ + AWS_OPERATION_GUARD(ListResourceCatalogs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListResourceCatalogs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListResourceCatalogs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListResourceCatalogs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListResourceCatalogs", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListResourceCatalogsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListResourceCatalogs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListResourceCatalogsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListSpacesOutcome SageMakerClient::ListSpaces(const ListSpacesRequest& request) const { AWS_OPERATION_GUARD(ListSpaces); diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CrossAccountFilterOption.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CrossAccountFilterOption.cpp new file mode 100644 index 00000000000..718f320fe59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CrossAccountFilterOption.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SageMaker + { + namespace Model + { + namespace CrossAccountFilterOptionMapper + { + + static const int SameAccount_HASH = HashingUtils::HashString("SameAccount"); + static const int CrossAccount_HASH = HashingUtils::HashString("CrossAccount"); + + + CrossAccountFilterOption GetCrossAccountFilterOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SameAccount_HASH) + { + return CrossAccountFilterOption::SameAccount; + } + else if (hashCode == CrossAccount_HASH) + { + return CrossAccountFilterOption::CrossAccount; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CrossAccountFilterOption::NOT_SET; + } + + Aws::String GetNameForCrossAccountFilterOption(CrossAccountFilterOption enumValue) + { + switch(enumValue) + { + case CrossAccountFilterOption::SameAccount: + return "SameAccount"; + case CrossAccountFilterOption::CrossAccount: + return "CrossAccount"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CrossAccountFilterOptionMapper + } // namespace Model + } // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ListResourceCatalogsRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ListResourceCatalogsRequest.cpp new file mode 100644 index 00000000000..443eac7f349 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ListResourceCatalogsRequest.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SageMaker::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListResourceCatalogsRequest::ListResourceCatalogsRequest() : + m_nameContainsHasBeenSet(false), + m_creationTimeAfterHasBeenSet(false), + m_creationTimeBeforeHasBeenSet(false), + m_sortOrder(ResourceCatalogSortOrder::NOT_SET), + m_sortOrderHasBeenSet(false), + m_sortBy(ResourceCatalogSortBy::NOT_SET), + m_sortByHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListResourceCatalogsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameContainsHasBeenSet) + { + payload.WithString("NameContains", m_nameContains); + + } + + if(m_creationTimeAfterHasBeenSet) + { + payload.WithDouble("CreationTimeAfter", m_creationTimeAfter.SecondsWithMSPrecision()); + } + + if(m_creationTimeBeforeHasBeenSet) + { + payload.WithDouble("CreationTimeBefore", m_creationTimeBefore.SecondsWithMSPrecision()); + } + + if(m_sortOrderHasBeenSet) + { + payload.WithString("SortOrder", ResourceCatalogSortOrderMapper::GetNameForResourceCatalogSortOrder(m_sortOrder)); + } + + if(m_sortByHasBeenSet) + { + payload.WithString("SortBy", ResourceCatalogSortByMapper::GetNameForResourceCatalogSortBy(m_sortBy)); + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListResourceCatalogsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "SageMaker.ListResourceCatalogs")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ListResourceCatalogsResult.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ListResourceCatalogsResult.cpp new file mode 100644 index 00000000000..6101f01b94a --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ListResourceCatalogsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SageMaker::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListResourceCatalogsResult::ListResourceCatalogsResult() +{ +} + +ListResourceCatalogsResult::ListResourceCatalogsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListResourceCatalogsResult& ListResourceCatalogsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResourceCatalogs")) + { + Aws::Utils::Array resourceCatalogsJsonList = jsonValue.GetArray("ResourceCatalogs"); + for(unsigned resourceCatalogsIndex = 0; resourceCatalogsIndex < resourceCatalogsJsonList.GetLength(); ++resourceCatalogsIndex) + { + m_resourceCatalogs.push_back(resourceCatalogsJsonList[resourceCatalogsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalog.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalog.cpp new file mode 100644 index 00000000000..f861d9fbaf8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalog.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +ResourceCatalog::ResourceCatalog() : + m_resourceCatalogArnHasBeenSet(false), + m_resourceCatalogNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_creationTimeHasBeenSet(false) +{ +} + +ResourceCatalog::ResourceCatalog(JsonView jsonValue) : + m_resourceCatalogArnHasBeenSet(false), + m_resourceCatalogNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_creationTimeHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceCatalog& ResourceCatalog::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceCatalogArn")) + { + m_resourceCatalogArn = jsonValue.GetString("ResourceCatalogArn"); + + m_resourceCatalogArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceCatalogName")) + { + m_resourceCatalogName = jsonValue.GetString("ResourceCatalogName"); + + m_resourceCatalogNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetDouble("CreationTime"); + + m_creationTimeHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceCatalog::Jsonize() const +{ + JsonValue payload; + + if(m_resourceCatalogArnHasBeenSet) + { + payload.WithString("ResourceCatalogArn", m_resourceCatalogArn); + + } + + if(m_resourceCatalogNameHasBeenSet) + { + payload.WithString("ResourceCatalogName", m_resourceCatalogName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_creationTimeHasBeenSet) + { + payload.WithDouble("CreationTime", m_creationTime.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalogSortBy.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalogSortBy.cpp new file mode 100644 index 00000000000..283b174683d --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalogSortBy.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SageMaker + { + namespace Model + { + namespace ResourceCatalogSortByMapper + { + + static const int CreationTime_HASH = HashingUtils::HashString("CreationTime"); + + + ResourceCatalogSortBy GetResourceCatalogSortByForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CreationTime_HASH) + { + return ResourceCatalogSortBy::CreationTime; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceCatalogSortBy::NOT_SET; + } + + Aws::String GetNameForResourceCatalogSortBy(ResourceCatalogSortBy enumValue) + { + switch(enumValue) + { + case ResourceCatalogSortBy::CreationTime: + return "CreationTime"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceCatalogSortByMapper + } // namespace Model + } // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalogSortOrder.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalogSortOrder.cpp new file mode 100644 index 00000000000..9869189e9b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ResourceCatalogSortOrder.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SageMaker + { + namespace Model + { + namespace ResourceCatalogSortOrderMapper + { + + static const int Ascending_HASH = HashingUtils::HashString("Ascending"); + static const int Descending_HASH = HashingUtils::HashString("Descending"); + + + ResourceCatalogSortOrder GetResourceCatalogSortOrderForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Ascending_HASH) + { + return ResourceCatalogSortOrder::Ascending; + } + else if (hashCode == Descending_HASH) + { + return ResourceCatalogSortOrder::Descending; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceCatalogSortOrder::NOT_SET; + } + + Aws::String GetNameForResourceCatalogSortOrder(ResourceCatalogSortOrder enumValue) + { + switch(enumValue) + { + case ResourceCatalogSortOrder::Ascending: + return "Ascending"; + case ResourceCatalogSortOrder::Descending: + return "Descending"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceCatalogSortOrderMapper + } // namespace Model + } // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/SearchRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/SearchRequest.cpp index 6528abdb91a..79f2d1efb51 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/SearchRequest.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/SearchRequest.cpp @@ -21,7 +21,9 @@ SearchRequest::SearchRequest() : m_sortOrderHasBeenSet(false), m_nextTokenHasBeenSet(false), m_maxResults(0), - m_maxResultsHasBeenSet(false) + m_maxResultsHasBeenSet(false), + m_crossAccountFilterOption(CrossAccountFilterOption::NOT_SET), + m_crossAccountFilterOptionHasBeenSet(false) { } @@ -63,6 +65,11 @@ Aws::String SearchRequest::SerializePayload() const } + if(m_crossAccountFilterOptionHasBeenSet) + { + payload.WithString("CrossAccountFilterOption", CrossAccountFilterOptionMapper::GetNameForCrossAccountFilterOption(m_crossAccountFilterOption)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClient.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClient.h index 64a29f96bf6..78e0d1f180b 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClient.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClient.h @@ -113,8 +113,8 @@ namespace SecurityLake * Regions, based on the parameters you specify. You can choose any source type in * any Region for either accounts that are part of a trusted organization or * standalone accounts. Once you add an Amazon Web Service as a source, Security - * Lake starts collecting logs and events from it,

    You can use this API - * only to enable natively supported Amazon Web Services as a source. Use + * Lake starts collecting logs and events from it.

    You can use this API only + * to enable natively supported Amazon Web Services as a source. Use * CreateCustomLogSource to enable data collection from a custom * source.

    See Also:

    AWS @@ -175,20 +175,19 @@ namespace SecurityLake /** *

    Initializes an Amazon Security Lake instance with the provided (or default) * configuration. You can enable Security Lake in Amazon Web Services Regions with - * customized settings before enabling log collection in Regions. By default, the - * CreateDataLake Security Lake in all Regions. To specify particular - * Regions, configure these Regions using the configurations - * parameter. If you have already enabled Security Lake in a Region when you call - * this command, the command will update the Region if you provide new - * configuration parameters. If you have not already enabled Security Lake in the - * Region when you call this API, it will set up the data lake in the Region with - * the specified configurations.

    When you enable Security Lake, it starts - * ingesting security data after the CreateAwsLogSource call. This - * includes ingesting security data from sources, storing data, and making data - * accessible to subscribers. Security Lake also enables all the existing settings - * and resources that it stores or maintains for your Amazon Web Services account - * in the current Region, including security log and event data. For more - * information, see the configurations parameter. If you have already enabled Security Lake + * in a Region when you call this command, the command will update the Region if + * you provide new configuration parameters. If you have not already enabled + * Security Lake in the Region when you call this API, it will set up the data lake + * in the Region with the specified configurations.

    When you enable Security + * Lake, it starts ingesting security data after the + * CreateAwsLogSource call. This includes ingesting security data from + * sources, storing data, and making data accessible to subscribers. Security Lake + * also enables all the existing settings and resources that it stores or maintains + * for your Amazon Web Services account in the current Region, including security + * log and event data. For more information, see the Amazon * Security Lake User Guide.

    See Also:

    AWS @@ -441,12 +440,12 @@ namespace SecurityLake } /** - *

    Removes automatic the enablement of configuration settings for new member - * accounts (but retains the settings for the delegated administrator) from Amazon - * Security Lake. You must run this API using the credentials of the delegated - * administrator. When you run this API, new member accounts that are added after - * the organization enables Security Lake won't contribute to the data - * lake.

    See Also:

    Turns off automatic enablement of Amazon Security Lake for member accounts + * that are added to an organization in Organizations. Only the delegated Security + * Lake administrator for an organization can perform this operation. If the + * delegated Security Lake administrator performs this operation, new member + * accounts won't automatically contribute data to the data lake.

    See + * Also:

    AWS * API Reference

    */ @@ -689,9 +688,8 @@ namespace SecurityLake /** *

    Retrieves the Amazon Security Lake configuration object for the specified - * Amazon Web Services account ID. You can use the ListDataLakes API - * to know whether Security Lake is enabled for any region.

    See - * Also:

    See Also:

    AWS * API Reference

    */ @@ -768,6 +766,34 @@ namespace SecurityLake return SubmitAsync(&SecurityLakeClient::ListSubscribers, request, handler, context); } + /** + *

    Retrieves the tags (keys and values) that are associated with an Amazon + * Security Lake resource: a subscriber, or the data lake configuration for your + * Amazon Web Services account in a particular Amazon Web Services + * Region.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&SecurityLakeClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityLakeClient::ListTagsForResource, request, handler, context); + } + /** *

    Designates the Amazon Security Lake delegated administrator account for the * organization. This API can only be called by the organization management @@ -796,6 +822,70 @@ namespace SecurityLake return SubmitAsync(&SecurityLakeClient::RegisterDataLakeDelegatedAdministrator, request, handler, context); } + /** + *

    Adds or updates one or more tags that are associated with an Amazon Security + * Lake resource: a subscriber, or the data lake configuration for your Amazon Web + * Services account in a particular Amazon Web Services Region. A tag is a + * label that you can define and associate with Amazon Web Services resources. Each + * tag consists of a required tag key and an associated tag value. A + * tag key is a general label that acts as a category for a more specific + * tag value. A tag value acts as a descriptor for a tag key. Tags can help + * you identify, categorize, and manage resources in different ways, such as by + * owner, environment, or other criteria. For more information, see Tagging + * Amazon Security Lake resources in the Amazon Security Lake User + * Guide.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&SecurityLakeClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityLakeClient::TagResource, request, handler, context); + } + + /** + *

    Removes one or more tags (keys and values) from an Amazon Security Lake + * resource: a subscriber, or the data lake configuration for your Amazon Web + * Services account in a particular Amazon Web Services Region.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&SecurityLakeClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityLakeClient::UntagResource, request, handler, context); + } + /** *

    Specifies where to store your security data and for how long. You can add a * rollup Region to consolidate data from multiple Amazon Web Services diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeServiceClientModel.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeServiceClientModel.h index 7f611ecfa64..3136f927adf 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeServiceClientModel.h @@ -41,7 +41,10 @@ #include #include #include +#include #include +#include +#include #include #include #include @@ -109,7 +112,10 @@ namespace Aws class ListDataLakesRequest; class ListLogSourcesRequest; class ListSubscribersRequest; + class ListTagsForResourceRequest; class RegisterDataLakeDelegatedAdministratorRequest; + class TagResourceRequest; + class UntagResourceRequest; class UpdateDataLakeRequest; class UpdateDataLakeExceptionSubscriptionRequest; class UpdateSubscriberRequest; @@ -140,7 +146,10 @@ namespace Aws typedef Aws::Utils::Outcome ListDataLakesOutcome; typedef Aws::Utils::Outcome ListLogSourcesOutcome; typedef Aws::Utils::Outcome ListSubscribersOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome RegisterDataLakeDelegatedAdministratorOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateDataLakeOutcome; typedef Aws::Utils::Outcome UpdateDataLakeExceptionSubscriptionOutcome; typedef Aws::Utils::Outcome UpdateSubscriberOutcome; @@ -171,7 +180,10 @@ namespace Aws typedef std::future ListDataLakesOutcomeCallable; typedef std::future ListLogSourcesOutcomeCallable; typedef std::future ListSubscribersOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future RegisterDataLakeDelegatedAdministratorOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateDataLakeOutcomeCallable; typedef std::future UpdateDataLakeExceptionSubscriptionOutcomeCallable; typedef std::future UpdateSubscriberOutcomeCallable; @@ -205,7 +217,10 @@ namespace Aws typedef std::function&) > ListDataLakesResponseReceivedHandler; typedef std::function&) > ListLogSourcesResponseReceivedHandler; typedef std::function&) > ListSubscribersResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > RegisterDataLakeDelegatedAdministratorResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateDataLakeResponseReceivedHandler; typedef std::function&) > UpdateDataLakeExceptionSubscriptionResponseReceivedHandler; typedef std::function&) > UpdateSubscriberResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/CreateDataLakeRequest.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/CreateDataLakeRequest.h index a1cc688ffa4..b340c299640 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/CreateDataLakeRequest.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/CreateDataLakeRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -139,6 +140,63 @@ namespace Model */ inline CreateDataLakeRequest& WithMetaStoreManagerRoleArn(const char* value) { SetMetaStoreManagerRoleArn(value); return *this;} + + /** + *

    An array of objects, one for each tag to associate with the data lake + * configuration. For each tag, you must specify both a tag key and a tag value. A + * tag value cannot be null, but it can be an empty string.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

    An array of objects, one for each tag to associate with the data lake + * configuration. For each tag, you must specify both a tag key and a tag value. A + * tag value cannot be null, but it can be an empty string.

    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

    An array of objects, one for each tag to associate with the data lake + * configuration. For each tag, you must specify both a tag key and a tag value. A + * tag value cannot be null, but it can be an empty string.

    + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

    An array of objects, one for each tag to associate with the data lake + * configuration. For each tag, you must specify both a tag key and a tag value. A + * tag value cannot be null, but it can be an empty string.

    + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

    An array of objects, one for each tag to associate with the data lake + * configuration. For each tag, you must specify both a tag key and a tag value. A + * tag value cannot be null, but it can be an empty string.

    + */ + inline CreateDataLakeRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

    An array of objects, one for each tag to associate with the data lake + * configuration. For each tag, you must specify both a tag key and a tag value. A + * tag value cannot be null, but it can be an empty string.

    + */ + inline CreateDataLakeRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    An array of objects, one for each tag to associate with the data lake + * configuration. For each tag, you must specify both a tag key and a tag value. A + * tag value cannot be null, but it can be an empty string.

    + */ + inline CreateDataLakeRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

    An array of objects, one for each tag to associate with the data lake + * configuration. For each tag, you must specify both a tag key and a tag value. A + * tag value cannot be null, but it can be an empty string.

    + */ + inline CreateDataLakeRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + private: Aws::Vector m_configurations; @@ -146,6 +204,9 @@ namespace Model Aws::String m_metaStoreManagerRoleArn; bool m_metaStoreManagerRoleArnHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/CreateSubscriberRequest.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/CreateSubscriberRequest.h index af637029416..1cefb3f5d16 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/CreateSubscriberRequest.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/CreateSubscriberRequest.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -246,6 +247,63 @@ namespace Model */ inline CreateSubscriberRequest& WithSubscriberName(const char* value) { SetSubscriberName(value); return *this;} + + /** + *

    An array of objects, one for each tag to associate with the subscriber. For + * each tag, you must specify both a tag key and a tag value. A tag value cannot be + * null, but it can be an empty string.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

    An array of objects, one for each tag to associate with the subscriber. For + * each tag, you must specify both a tag key and a tag value. A tag value cannot be + * null, but it can be an empty string.

    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

    An array of objects, one for each tag to associate with the subscriber. For + * each tag, you must specify both a tag key and a tag value. A tag value cannot be + * null, but it can be an empty string.

    + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

    An array of objects, one for each tag to associate with the subscriber. For + * each tag, you must specify both a tag key and a tag value. A tag value cannot be + * null, but it can be an empty string.

    + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

    An array of objects, one for each tag to associate with the subscriber. For + * each tag, you must specify both a tag key and a tag value. A tag value cannot be + * null, but it can be an empty string.

    + */ + inline CreateSubscriberRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

    An array of objects, one for each tag to associate with the subscriber. For + * each tag, you must specify both a tag key and a tag value. A tag value cannot be + * null, but it can be an empty string.

    + */ + inline CreateSubscriberRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    An array of objects, one for each tag to associate with the subscriber. For + * each tag, you must specify both a tag key and a tag value. A tag value cannot be + * null, but it can be an empty string.

    + */ + inline CreateSubscriberRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

    An array of objects, one for each tag to associate with the subscriber. For + * each tag, you must specify both a tag key and a tag value. A tag value cannot be + * null, but it can be an empty string.

    + */ + inline CreateSubscriberRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + private: Aws::Vector m_accessTypes; @@ -262,6 +320,9 @@ namespace Model Aws::String m_subscriberName; bool m_subscriberNameHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/DataLakeException.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/DataLakeException.h index 5bb607b7b6d..0130073f5ae 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/DataLakeException.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/DataLakeException.h @@ -25,7 +25,8 @@ namespace Model { /** - *

    The details for a Security Lake exception

    See Also:

    The details for an Amazon Security Lake exception.

    See Also:

    + *
    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/DeleteDataLakeOrganizationConfigurationRequest.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/DeleteDataLakeOrganizationConfigurationRequest.h index fbfe4c52eea..a8e09466258 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/DeleteDataLakeOrganizationConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/DeleteDataLakeOrganizationConfigurationRequest.h @@ -34,50 +34,50 @@ namespace Model /** - *

    Removes the automatic enablement of configuration settings for new member - * accounts in Security Lake.

    + *

    Turns off automatic enablement of Security Lake for member accounts that are + * added to an organization.

    */ inline const Aws::Vector& GetAutoEnableNewAccount() const{ return m_autoEnableNewAccount; } /** - *

    Removes the automatic enablement of configuration settings for new member - * accounts in Security Lake.

    + *

    Turns off automatic enablement of Security Lake for member accounts that are + * added to an organization.

    */ inline bool AutoEnableNewAccountHasBeenSet() const { return m_autoEnableNewAccountHasBeenSet; } /** - *

    Removes the automatic enablement of configuration settings for new member - * accounts in Security Lake.

    + *

    Turns off automatic enablement of Security Lake for member accounts that are + * added to an organization.

    */ inline void SetAutoEnableNewAccount(const Aws::Vector& value) { m_autoEnableNewAccountHasBeenSet = true; m_autoEnableNewAccount = value; } /** - *

    Removes the automatic enablement of configuration settings for new member - * accounts in Security Lake.

    + *

    Turns off automatic enablement of Security Lake for member accounts that are + * added to an organization.

    */ inline void SetAutoEnableNewAccount(Aws::Vector&& value) { m_autoEnableNewAccountHasBeenSet = true; m_autoEnableNewAccount = std::move(value); } /** - *

    Removes the automatic enablement of configuration settings for new member - * accounts in Security Lake.

    + *

    Turns off automatic enablement of Security Lake for member accounts that are + * added to an organization.

    */ inline DeleteDataLakeOrganizationConfigurationRequest& WithAutoEnableNewAccount(const Aws::Vector& value) { SetAutoEnableNewAccount(value); return *this;} /** - *

    Removes the automatic enablement of configuration settings for new member - * accounts in Security Lake.

    + *

    Turns off automatic enablement of Security Lake for member accounts that are + * added to an organization.

    */ inline DeleteDataLakeOrganizationConfigurationRequest& WithAutoEnableNewAccount(Aws::Vector&& value) { SetAutoEnableNewAccount(std::move(value)); return *this;} /** - *

    Removes the automatic enablement of configuration settings for new member - * accounts in Security Lake.

    + *

    Turns off automatic enablement of Security Lake for member accounts that are + * added to an organization.

    */ inline DeleteDataLakeOrganizationConfigurationRequest& AddAutoEnableNewAccount(const DataLakeAutoEnableNewAccountConfiguration& value) { m_autoEnableNewAccountHasBeenSet = true; m_autoEnableNewAccount.push_back(value); return *this; } /** - *

    Removes the automatic enablement of configuration settings for new member - * accounts in Security Lake.

    + *

    Turns off automatic enablement of Security Lake for member accounts that are + * added to an organization.

    */ inline DeleteDataLakeOrganizationConfigurationRequest& AddAutoEnableNewAccount(DataLakeAutoEnableNewAccountConfiguration&& value) { m_autoEnableNewAccountHasBeenSet = true; m_autoEnableNewAccount.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/HttpsNotificationConfiguration.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/HttpsNotificationConfiguration.h index 6ed4d97f069..23809e3a4f7 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/HttpsNotificationConfiguration.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/HttpsNotificationConfiguration.h @@ -208,7 +208,8 @@ namespace Model * href="https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html">Managing * data access and Amazon - * Web Services Managed Policies in the Amazon Security Lake User Guide.

    + * Web Services Managed Policies in the Amazon Security Lake User + * Guide.

    */ inline const Aws::String& GetTargetRoleArn() const{ return m_targetRoleArn; } @@ -219,7 +220,8 @@ namespace Model * href="https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html">Managing * data access and Amazon - * Web Services Managed Policies in the Amazon Security Lake User Guide.

    + * Web Services Managed Policies in the Amazon Security Lake User + * Guide.

    */ inline bool TargetRoleArnHasBeenSet() const { return m_targetRoleArnHasBeenSet; } @@ -230,7 +232,8 @@ namespace Model * href="https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html">Managing * data access and Amazon - * Web Services Managed Policies in the Amazon Security Lake User Guide.

    + * Web Services Managed Policies in the Amazon Security Lake User + * Guide.

    */ inline void SetTargetRoleArn(const Aws::String& value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn = value; } @@ -241,7 +244,8 @@ namespace Model * href="https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html">Managing * data access and Amazon - * Web Services Managed Policies in the Amazon Security Lake User Guide.

    + * Web Services Managed Policies in the Amazon Security Lake User + * Guide.

    */ inline void SetTargetRoleArn(Aws::String&& value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn = std::move(value); } @@ -252,7 +256,8 @@ namespace Model * href="https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html">Managing * data access and Amazon - * Web Services Managed Policies in the Amazon Security Lake User Guide.

    + * Web Services Managed Policies in the Amazon Security Lake User + * Guide.

    */ inline void SetTargetRoleArn(const char* value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn.assign(value); } @@ -263,7 +268,8 @@ namespace Model * href="https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html">Managing * data access and Amazon - * Web Services Managed Policies in the Amazon Security Lake User Guide.

    + * Web Services Managed Policies in the Amazon Security Lake User + * Guide.

    */ inline HttpsNotificationConfiguration& WithTargetRoleArn(const Aws::String& value) { SetTargetRoleArn(value); return *this;} @@ -274,7 +280,8 @@ namespace Model * href="https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html">Managing * data access and Amazon - * Web Services Managed Policies in the Amazon Security Lake User Guide.

    + * Web Services Managed Policies in the Amazon Security Lake User + * Guide.

    */ inline HttpsNotificationConfiguration& WithTargetRoleArn(Aws::String&& value) { SetTargetRoleArn(std::move(value)); return *this;} @@ -285,7 +292,8 @@ namespace Model * href="https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html">Managing * data access and Amazon - * Web Services Managed Policies in the Amazon Security Lake User Guide.

    + * Web Services Managed Policies in the Amazon Security Lake User + * Guide.

    */ inline HttpsNotificationConfiguration& WithTargetRoleArn(const char* value) { SetTargetRoleArn(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..8c2207498e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/ListTagsForResourceRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityLake +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public SecurityLakeRequest + { + public: + AWS_SECURITYLAKE_API ListTagsForResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_SECURITYLAKE_API Aws::String SerializePayload() const override; + + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to + * retrieve the tags for.

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to + * retrieve the tags for.

    + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to + * retrieve the tags for.

    + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to + * retrieve the tags for.

    + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to + * retrieve the tags for.

    + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to + * retrieve the tags for.

    + */ + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to + * retrieve the tags for.

    + */ + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to + * retrieve the tags for.

    + */ + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..40c06cd7129 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/ListTagsForResourceResult.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityLake +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_SECURITYLAKE_API ListTagsForResourceResult(); + AWS_SECURITYLAKE_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYLAKE_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    An array of objects, one for each tag (key and value) that’s associated with + * the Amazon Security Lake resource.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

    An array of objects, one for each tag (key and value) that’s associated with + * the Amazon Security Lake resource.

    + */ + inline void SetTags(const Aws::Vector& value) { m_tags = value; } + + /** + *

    An array of objects, one for each tag (key and value) that’s associated with + * the Amazon Security Lake resource.

    + */ + inline void SetTags(Aws::Vector&& value) { m_tags = std::move(value); } + + /** + *

    An array of objects, one for each tag (key and value) that’s associated with + * the Amazon Security Lake resource.

    + */ + inline ListTagsForResourceResult& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

    An array of objects, one for each tag (key and value) that’s associated with + * the Amazon Security Lake resource.

    + */ + inline ListTagsForResourceResult& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    An array of objects, one for each tag (key and value) that’s associated with + * the Amazon Security Lake resource.

    + */ + inline ListTagsForResourceResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } + + /** + *

    An array of objects, one for each tag (key and value) that’s associated with + * the Amazon Security Lake resource.

    + */ + inline ListTagsForResourceResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/LogSourceResource.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/LogSourceResource.h index 287f5a70f9a..ffe7a2b8c04 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/LogSourceResource.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/LogSourceResource.h @@ -26,7 +26,7 @@ namespace Model /** *

    The supported source types from which logs and events are collected in Amazon - * Security Lake. For the list of supported Amazon Web Services, see the Amazon * Security Lake User Guide.

    See Also:

    AWS @@ -43,74 +43,98 @@ namespace Model /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services.

    + * Amazon Web Services. For more information, see the
    Amazon + * Security Lake User Guide.

    */ inline const AwsLogSourceResource& GetAwsLogSource() const{ return m_awsLogSource; } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline bool AwsLogSourceHasBeenSet() const { return m_awsLogSourceHasBeenSet; } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline void SetAwsLogSource(const AwsLogSourceResource& value) { m_awsLogSourceHasBeenSet = true; m_awsLogSource = value; } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline void SetAwsLogSource(AwsLogSourceResource&& value) { m_awsLogSourceHasBeenSet = true; m_awsLogSource = std::move(value); } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline LogSourceResource& WithAwsLogSource(const AwsLogSourceResource& value) { SetAwsLogSource(value); return *this;} /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline LogSourceResource& WithAwsLogSource(AwsLogSourceResource&& value) { SetAwsLogSource(std::move(value)); return *this;} /** - *

    Amazon Security Lake supports custom source types. For a detailed list, see - * the Amazon Security Lake User Guide.

    + *

    Amazon Security Lake supports custom source types. For more information, see + * the Amazon + * Security Lake User Guide.

    */ inline const CustomLogSourceResource& GetCustomLogSource() const{ return m_customLogSource; } /** - *

    Amazon Security Lake supports custom source types. For a detailed list, see - * the Amazon Security Lake User Guide.

    + *

    Amazon Security Lake supports custom source types. For more information, see + * the Amazon + * Security Lake User Guide.

    */ inline bool CustomLogSourceHasBeenSet() const { return m_customLogSourceHasBeenSet; } /** - *

    Amazon Security Lake supports custom source types. For a detailed list, see - * the Amazon Security Lake User Guide.

    + *

    Amazon Security Lake supports custom source types. For more information, see + * the Amazon + * Security Lake User Guide.

    */ inline void SetCustomLogSource(const CustomLogSourceResource& value) { m_customLogSourceHasBeenSet = true; m_customLogSource = value; } /** - *

    Amazon Security Lake supports custom source types. For a detailed list, see - * the Amazon Security Lake User Guide.

    + *

    Amazon Security Lake supports custom source types. For more information, see + * the Amazon + * Security Lake User Guide.

    */ inline void SetCustomLogSource(CustomLogSourceResource&& value) { m_customLogSourceHasBeenSet = true; m_customLogSource = std::move(value); } /** - *

    Amazon Security Lake supports custom source types. For a detailed list, see - * the Amazon Security Lake User Guide.

    + *

    Amazon Security Lake supports custom source types. For more information, see + * the Amazon + * Security Lake User Guide.

    */ inline LogSourceResource& WithCustomLogSource(const CustomLogSourceResource& value) { SetCustomLogSource(value); return *this;} /** - *

    Amazon Security Lake supports custom source types. For a detailed list, see - * the Amazon Security Lake User Guide.

    + *

    Amazon Security Lake supports custom source types. For more information, see + * the Amazon + * Security Lake User Guide.

    */ inline LogSourceResource& WithCustomLogSource(CustomLogSourceResource&& value) { SetCustomLogSource(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/SubscriberResource.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/SubscriberResource.h index 1d60bd4a438..0848062efe5 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/SubscriberResource.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/SubscriberResource.h @@ -347,57 +347,65 @@ namespace Model /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services. For more information, see the Amazon Security Lake User - * Guide.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline const Aws::Vector& GetSources() const{ return m_sources; } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services. For more information, see the Amazon Security Lake User - * Guide.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services. For more information, see the Amazon Security Lake User - * Guide.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline void SetSources(const Aws::Vector& value) { m_sourcesHasBeenSet = true; m_sources = value; } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services. For more information, see the Amazon Security Lake User - * Guide.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline void SetSources(Aws::Vector&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services. For more information, see the Amazon Security Lake User - * Guide.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline SubscriberResource& WithSources(const Aws::Vector& value) { SetSources(value); return *this;} /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services. For more information, see the Amazon Security Lake User - * Guide.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline SubscriberResource& WithSources(Aws::Vector&& value) { SetSources(std::move(value)); return *this;} /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services. For more information, see the Amazon Security Lake User - * Guide.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline SubscriberResource& AddSources(const LogSourceResource& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; } /** *

    Amazon Security Lake supports log and event collection for natively supported - * Amazon Web Services. For more information, see the Amazon Security Lake User - * Guide.

    + * Amazon Web Services. For more information, see the Amazon + * Security Lake User Guide.

    */ inline SubscriberResource& AddSources(LogSourceResource&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/Tag.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/Tag.h new file mode 100644 index 00000000000..07896a8da69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/Tag.h @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityLake +{ +namespace Model +{ + + /** + *

    A tag is a label that you can define and associate with Amazon Web + * Services resources, including certain types of Amazon Security Lake resources. + * Tags can help you identify, categorize, and manage resources in different ways, + * such as by owner, environment, or other criteria. You can associate tags with + * the following types of Security Lake resources: subscribers, and the data lake + * configuration for your Amazon Web Services account in individual Amazon Web + * Services Regions.

    A resource can have up to 50 tags. Each tag consists of + * a required tag key and an associated tag value. A tag key + * is a general label that acts as a category for a more specific tag value. Each + * tag key must be unique and it can have only one tag value. A tag value + * acts as a descriptor for a tag key. Tag keys and values are case sensitive. They + * can contain letters, numbers, spaces, or the following symbols: _ . : / = + @ + * -

    For more information, see Tagging + * Amazon Security Lake resources in the Amazon Security Lake User + * Guide.

    See Also:

    AWS + * API Reference

    + */ + class Tag + { + public: + AWS_SECURITYLAKE_API Tag(); + AWS_SECURITYLAKE_API Tag(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYLAKE_API Tag& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYLAKE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

    The name of the tag. This is a general label that acts as a category for a + * more specific tag value (value).

    + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + *

    The name of the tag. This is a general label that acts as a category for a + * more specific tag value (value).

    + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + *

    The name of the tag. This is a general label that acts as a category for a + * more specific tag value (value).

    + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + *

    The name of the tag. This is a general label that acts as a category for a + * more specific tag value (value).

    + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + *

    The name of the tag. This is a general label that acts as a category for a + * more specific tag value (value).

    + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + *

    The name of the tag. This is a general label that acts as a category for a + * more specific tag value (value).

    + */ + inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + *

    The name of the tag. This is a general label that acts as a category for a + * more specific tag value (value).

    + */ + inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + *

    The name of the tag. This is a general label that acts as a category for a + * more specific tag value (value).

    + */ + inline Tag& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + *

    The value that’s associated with the specified tag key (key). + * This value acts as a descriptor for the tag key. A tag value cannot be null, but + * it can be an empty string.

    + */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + *

    The value that’s associated with the specified tag key (key). + * This value acts as a descriptor for the tag key. A tag value cannot be null, but + * it can be an empty string.

    + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

    The value that’s associated with the specified tag key (key). + * This value acts as a descriptor for the tag key. A tag value cannot be null, but + * it can be an empty string.

    + */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

    The value that’s associated with the specified tag key (key). + * This value acts as a descriptor for the tag key. A tag value cannot be null, but + * it can be an empty string.

    + */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

    The value that’s associated with the specified tag key (key). + * This value acts as a descriptor for the tag key. A tag value cannot be null, but + * it can be an empty string.

    + */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + *

    The value that’s associated with the specified tag key (key). + * This value acts as a descriptor for the tag key. A tag value cannot be null, but + * it can be an empty string.

    + */ + inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + *

    The value that’s associated with the specified tag key (key). + * This value acts as a descriptor for the tag key. A tag value cannot be null, but + * it can be an empty string.

    + */ + inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + *

    The value that’s associated with the specified tag key (key). + * This value acts as a descriptor for the tag key. A tag value cannot be null, but + * it can be an empty string.

    + */ + inline Tag& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/TagResourceRequest.h new file mode 100644 index 00000000000..371d51fede5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/TagResourceRequest.h @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityLake +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public SecurityLakeRequest + { + public: + AWS_SECURITYLAKE_API TagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_SECURITYLAKE_API Aws::String SerializePayload() const override; + + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or + * update the tags for.

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or + * update the tags for.

    + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or + * update the tags for.

    + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or + * update the tags for.

    + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or + * update the tags for.

    + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or + * update the tags for.

    + */ + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or + * update the tags for.

    + */ + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or + * update the tags for.

    + */ + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

    An array of objects, one for each tag (key and value) to associate with the + * Amazon Security Lake resource. For each tag, you must specify both a tag key and + * a tag value. A tag value cannot be null, but it can be an empty string.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

    An array of objects, one for each tag (key and value) to associate with the + * Amazon Security Lake resource. For each tag, you must specify both a tag key and + * a tag value. A tag value cannot be null, but it can be an empty string.

    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

    An array of objects, one for each tag (key and value) to associate with the + * Amazon Security Lake resource. For each tag, you must specify both a tag key and + * a tag value. A tag value cannot be null, but it can be an empty string.

    + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

    An array of objects, one for each tag (key and value) to associate with the + * Amazon Security Lake resource. For each tag, you must specify both a tag key and + * a tag value. A tag value cannot be null, but it can be an empty string.

    + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

    An array of objects, one for each tag (key and value) to associate with the + * Amazon Security Lake resource. For each tag, you must specify both a tag key and + * a tag value. A tag value cannot be null, but it can be an empty string.

    + */ + inline TagResourceRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

    An array of objects, one for each tag (key and value) to associate with the + * Amazon Security Lake resource. For each tag, you must specify both a tag key and + * a tag value. A tag value cannot be null, but it can be an empty string.

    + */ + inline TagResourceRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    An array of objects, one for each tag (key and value) to associate with the + * Amazon Security Lake resource. For each tag, you must specify both a tag key and + * a tag value. A tag value cannot be null, but it can be an empty string.

    + */ + inline TagResourceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

    An array of objects, one for each tag (key and value) to associate with the + * Amazon Security Lake resource. For each tag, you must specify both a tag key and + * a tag value. A tag value cannot be null, but it can be an empty string.

    + */ + inline TagResourceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/TagResourceResult.h new file mode 100644 index 00000000000..bd3252ae58d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/TagResourceResult.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityLake +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_SECURITYLAKE_API TagResourceResult(); + AWS_SECURITYLAKE_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYLAKE_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline TagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline TagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline TagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/UntagResourceRequest.h new file mode 100644 index 00000000000..73b074e495f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/UntagResourceRequest.h @@ -0,0 +1,156 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityLake +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public SecurityLakeRequest + { + public: + AWS_SECURITYLAKE_API UntagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_SECURITYLAKE_API Aws::String SerializePayload() const override; + + AWS_SECURITYLAKE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove + * one or more tags from.

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove + * one or more tags from.

    + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove + * one or more tags from.

    + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove + * one or more tags from.

    + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove + * one or more tags from.

    + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove + * one or more tags from.

    + */ + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove + * one or more tags from.

    + */ + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove + * one or more tags from.

    + */ + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline UntagResourceRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline UntagResourceRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } + + /** + *

    A list of one or more tag keys. For each value in the list, specify the tag + * key for a tag to remove from the Amazon Security Lake resource.

    + */ + inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/UntagResourceResult.h new file mode 100644 index 00000000000..c414cf0787e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/model/UntagResourceResult.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityLake +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_SECURITYLAKE_API UntagResourceResult(); + AWS_SECURITYLAKE_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYLAKE_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline UntagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UntagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UntagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClient.cpp b/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClient.cpp index 233a62b9af8..55921a12dd4 100644 --- a/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClient.cpp +++ b/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClient.cpp @@ -44,7 +44,10 @@ #include #include #include +#include #include +#include +#include #include #include #include @@ -835,6 +838,39 @@ ListSubscribersOutcome SecurityLakeClient::ListSubscribers(const ListSubscribers {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListTagsForResourceOutcome SecurityLakeClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(SecurityLakeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + RegisterDataLakeDelegatedAdministratorOutcome SecurityLakeClient::RegisterDataLakeDelegatedAdministrator(const RegisterDataLakeDelegatedAdministratorRequest& request) const { AWS_OPERATION_GUARD(RegisterDataLakeDelegatedAdministrator); @@ -862,6 +898,77 @@ RegisterDataLakeDelegatedAdministratorOutcome SecurityLakeClient::RegisterDataLa {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +TagResourceOutcome SecurityLakeClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); + return TagResourceOutcome(Aws::Client::AWSError(SecurityLakeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome SecurityLakeClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(SecurityLakeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + if (!request.TagKeysHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(SecurityLakeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v1/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateDataLakeOutcome SecurityLakeClient::UpdateDataLake(const UpdateDataLakeRequest& request) const { AWS_OPERATION_GUARD(UpdateDataLake); diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/CreateDataLakeRequest.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/CreateDataLakeRequest.cpp index 1e178954103..132cb7bef6e 100644 --- a/generated/src/aws-cpp-sdk-securitylake/source/model/CreateDataLakeRequest.cpp +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/CreateDataLakeRequest.cpp @@ -14,7 +14,8 @@ using namespace Aws::Utils; CreateDataLakeRequest::CreateDataLakeRequest() : m_configurationsHasBeenSet(false), - m_metaStoreManagerRoleArnHasBeenSet(false) + m_metaStoreManagerRoleArnHasBeenSet(false), + m_tagsHasBeenSet(false) { } @@ -39,6 +40,17 @@ Aws::String CreateDataLakeRequest::SerializePayload() const } + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("tags", std::move(tagsJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/CreateSubscriberRequest.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/CreateSubscriberRequest.cpp index 61d4de2b363..454a2de354f 100644 --- a/generated/src/aws-cpp-sdk-securitylake/source/model/CreateSubscriberRequest.cpp +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/CreateSubscriberRequest.cpp @@ -17,7 +17,8 @@ CreateSubscriberRequest::CreateSubscriberRequest() : m_sourcesHasBeenSet(false), m_subscriberDescriptionHasBeenSet(false), m_subscriberIdentityHasBeenSet(false), - m_subscriberNameHasBeenSet(false) + m_subscriberNameHasBeenSet(false), + m_tagsHasBeenSet(false) { } @@ -65,6 +66,17 @@ Aws::String CreateSubscriberRequest::SerializePayload() const } + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("tags", std::move(tagsJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..6e81fb5c8e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityLake::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..83fee8c4a96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityLake::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/Tag.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/Tag.cpp new file mode 100644 index 00000000000..e6b2bb1d573 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/Tag.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityLake +{ +namespace Model +{ + +Tag::Tag() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +Tag::Tag(JsonView jsonValue) : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +Tag& Tag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("key")) + { + m_key = jsonValue.GetString("key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetString("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue Tag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..babc8d042b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/TagResourceRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityLake::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..ba9d0ab453c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/TagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityLake::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult() +{ +} + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..372fcadb7da --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/UntagResourceRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityLake::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + return {}; +} + +void UntagResourceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tagKeysHasBeenSet) + { + for(const auto& item : m_tagKeys) + { + ss << item; + uri.AddQueryStringParameter("tagKeys", ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securitylake/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-securitylake/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..924d12b8ee2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/source/model/UntagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityLake::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult() +{ +} + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/StartTranscriptionJobRequest.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/StartTranscriptionJobRequest.h index 30331436b6d..bc568fba9fa 100644 --- a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/StartTranscriptionJobRequest.h +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/StartTranscriptionJobRequest.h @@ -19,6 +19,7 @@ #include #include #include +#include #include namespace Aws @@ -2063,6 +2064,87 @@ namespace Model */ inline StartTranscriptionJobRequest& AddLanguageIdSettings(LanguageCode&& key, LanguageIdSettings&& value) { m_languageIdSettingsHasBeenSet = true; m_languageIdSettings.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

    Enables toxic speech detection in your transcript. If you include + * ToxicityDetection in your request, you must also include + * ToxicityCategories.

    For information on the types of toxic + * speech Amazon Transcribe can detect, see Detecting + * toxic speech.

    + */ + inline const Aws::Vector& GetToxicityDetection() const{ return m_toxicityDetection; } + + /** + *

    Enables toxic speech detection in your transcript. If you include + * ToxicityDetection in your request, you must also include + * ToxicityCategories.

    For information on the types of toxic + * speech Amazon Transcribe can detect, see Detecting + * toxic speech.

    + */ + inline bool ToxicityDetectionHasBeenSet() const { return m_toxicityDetectionHasBeenSet; } + + /** + *

    Enables toxic speech detection in your transcript. If you include + * ToxicityDetection in your request, you must also include + * ToxicityCategories.

    For information on the types of toxic + * speech Amazon Transcribe can detect, see Detecting + * toxic speech.

    + */ + inline void SetToxicityDetection(const Aws::Vector& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection = value; } + + /** + *

    Enables toxic speech detection in your transcript. If you include + * ToxicityDetection in your request, you must also include + * ToxicityCategories.

    For information on the types of toxic + * speech Amazon Transcribe can detect, see Detecting + * toxic speech.

    + */ + inline void SetToxicityDetection(Aws::Vector&& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection = std::move(value); } + + /** + *

    Enables toxic speech detection in your transcript. If you include + * ToxicityDetection in your request, you must also include + * ToxicityCategories.

    For information on the types of toxic + * speech Amazon Transcribe can detect, see Detecting + * toxic speech.

    + */ + inline StartTranscriptionJobRequest& WithToxicityDetection(const Aws::Vector& value) { SetToxicityDetection(value); return *this;} + + /** + *

    Enables toxic speech detection in your transcript. If you include + * ToxicityDetection in your request, you must also include + * ToxicityCategories.

    For information on the types of toxic + * speech Amazon Transcribe can detect, see Detecting + * toxic speech.

    + */ + inline StartTranscriptionJobRequest& WithToxicityDetection(Aws::Vector&& value) { SetToxicityDetection(std::move(value)); return *this;} + + /** + *

    Enables toxic speech detection in your transcript. If you include + * ToxicityDetection in your request, you must also include + * ToxicityCategories.

    For information on the types of toxic + * speech Amazon Transcribe can detect, see Detecting + * toxic speech.

    + */ + inline StartTranscriptionJobRequest& AddToxicityDetection(const ToxicityDetectionSettings& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection.push_back(value); return *this; } + + /** + *

    Enables toxic speech detection in your transcript. If you include + * ToxicityDetection in your request, you must also include + * ToxicityCategories.

    For information on the types of toxic + * speech Amazon Transcribe can detect, see Detecting + * toxic speech.

    + */ + inline StartTranscriptionJobRequest& AddToxicityDetection(ToxicityDetectionSettings&& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection.push_back(std::move(value)); return *this; } + private: Aws::String m_transcriptionJobName; @@ -2121,6 +2203,9 @@ namespace Model Aws::Map m_languageIdSettings; bool m_languageIdSettingsHasBeenSet = false; + + Aws::Vector m_toxicityDetection; + bool m_toxicityDetectionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/ToxicityCategory.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/ToxicityCategory.h new file mode 100644 index 00000000000..da20f9c7a26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/ToxicityCategory.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeService +{ +namespace Model +{ + enum class ToxicityCategory + { + NOT_SET, + ALL + }; + +namespace ToxicityCategoryMapper +{ +AWS_TRANSCRIBESERVICE_API ToxicityCategory GetToxicityCategoryForName(const Aws::String& name); + +AWS_TRANSCRIBESERVICE_API Aws::String GetNameForToxicityCategory(ToxicityCategory value); +} // namespace ToxicityCategoryMapper +} // namespace Model +} // namespace TranscribeService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/ToxicityDetectionSettings.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/ToxicityDetectionSettings.h new file mode 100644 index 00000000000..72a22ec910a --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/ToxicityDetectionSettings.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeService +{ +namespace Model +{ + + /** + *

    Contains ToxicityCategories, which is a required parameter if + * you want to enable toxicity detection (ToxicityDetection) in your + * transcription request.

    See Also:

    AWS + * API Reference

    + */ + class ToxicityDetectionSettings + { + public: + AWS_TRANSCRIBESERVICE_API ToxicityDetectionSettings(); + AWS_TRANSCRIBESERVICE_API ToxicityDetectionSettings(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESERVICE_API ToxicityDetectionSettings& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + /** + *

    If you include ToxicityDetection in your transcription request, + * you must also include ToxicityCategories. The only accepted value + * for this parameter is ALL.

    + */ + inline const Aws::Vector& GetToxicityCategories() const{ return m_toxicityCategories; } + + /** + *

    If you include ToxicityDetection in your transcription request, + * you must also include ToxicityCategories. The only accepted value + * for this parameter is ALL.

    + */ + inline bool ToxicityCategoriesHasBeenSet() const { return m_toxicityCategoriesHasBeenSet; } + + /** + *

    If you include ToxicityDetection in your transcription request, + * you must also include ToxicityCategories. The only accepted value + * for this parameter is ALL.

    + */ + inline void SetToxicityCategories(const Aws::Vector& value) { m_toxicityCategoriesHasBeenSet = true; m_toxicityCategories = value; } + + /** + *

    If you include ToxicityDetection in your transcription request, + * you must also include ToxicityCategories. The only accepted value + * for this parameter is ALL.

    + */ + inline void SetToxicityCategories(Aws::Vector&& value) { m_toxicityCategoriesHasBeenSet = true; m_toxicityCategories = std::move(value); } + + /** + *

    If you include ToxicityDetection in your transcription request, + * you must also include ToxicityCategories. The only accepted value + * for this parameter is ALL.

    + */ + inline ToxicityDetectionSettings& WithToxicityCategories(const Aws::Vector& value) { SetToxicityCategories(value); return *this;} + + /** + *

    If you include ToxicityDetection in your transcription request, + * you must also include ToxicityCategories. The only accepted value + * for this parameter is ALL.

    + */ + inline ToxicityDetectionSettings& WithToxicityCategories(Aws::Vector&& value) { SetToxicityCategories(std::move(value)); return *this;} + + /** + *

    If you include ToxicityDetection in your transcription request, + * you must also include ToxicityCategories. The only accepted value + * for this parameter is ALL.

    + */ + inline ToxicityDetectionSettings& AddToxicityCategories(const ToxicityCategory& value) { m_toxicityCategoriesHasBeenSet = true; m_toxicityCategories.push_back(value); return *this; } + + /** + *

    If you include ToxicityDetection in your transcription request, + * you must also include ToxicityCategories. The only accepted value + * for this parameter is ALL.

    + */ + inline ToxicityDetectionSettings& AddToxicityCategories(ToxicityCategory&& value) { m_toxicityCategoriesHasBeenSet = true; m_toxicityCategories.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector m_toxicityCategories; + bool m_toxicityCategoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/TranscriptionJob.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/TranscriptionJob.h index f528fd6f900..332068c21df 100644 --- a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/TranscriptionJob.h +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/TranscriptionJob.h @@ -22,6 +22,7 @@ #include #include #include +#include #include namespace Aws @@ -1225,6 +1226,55 @@ namespace Model */ inline TranscriptionJob& AddLanguageIdSettings(LanguageCode&& key, LanguageIdSettings&& value) { m_languageIdSettingsHasBeenSet = true; m_languageIdSettings.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

    Provides information about the toxicity detection settings applied to your + * transcription.

    + */ + inline const Aws::Vector& GetToxicityDetection() const{ return m_toxicityDetection; } + + /** + *

    Provides information about the toxicity detection settings applied to your + * transcription.

    + */ + inline bool ToxicityDetectionHasBeenSet() const { return m_toxicityDetectionHasBeenSet; } + + /** + *

    Provides information about the toxicity detection settings applied to your + * transcription.

    + */ + inline void SetToxicityDetection(const Aws::Vector& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection = value; } + + /** + *

    Provides information about the toxicity detection settings applied to your + * transcription.

    + */ + inline void SetToxicityDetection(Aws::Vector&& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection = std::move(value); } + + /** + *

    Provides information about the toxicity detection settings applied to your + * transcription.

    + */ + inline TranscriptionJob& WithToxicityDetection(const Aws::Vector& value) { SetToxicityDetection(value); return *this;} + + /** + *

    Provides information about the toxicity detection settings applied to your + * transcription.

    + */ + inline TranscriptionJob& WithToxicityDetection(Aws::Vector&& value) { SetToxicityDetection(std::move(value)); return *this;} + + /** + *

    Provides information about the toxicity detection settings applied to your + * transcription.

    + */ + inline TranscriptionJob& AddToxicityDetection(const ToxicityDetectionSettings& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection.push_back(value); return *this; } + + /** + *

    Provides information about the toxicity detection settings applied to your + * transcription.

    + */ + inline TranscriptionJob& AddToxicityDetection(ToxicityDetectionSettings&& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection.push_back(std::move(value)); return *this; } + private: Aws::String m_transcriptionJobName; @@ -1295,6 +1345,9 @@ namespace Model Aws::Map m_languageIdSettings; bool m_languageIdSettingsHasBeenSet = false; + + Aws::Vector m_toxicityDetection; + bool m_toxicityDetectionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/TranscriptionJobSummary.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/TranscriptionJobSummary.h index e18fe9fba5f..2f779f0b2cd 100644 --- a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/TranscriptionJobSummary.h +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/TranscriptionJobSummary.h @@ -14,6 +14,7 @@ #include #include #include +#include #include namespace Aws @@ -675,6 +676,55 @@ namespace Model */ inline TranscriptionJobSummary& AddLanguageCodes(LanguageCodeItem&& value) { m_languageCodesHasBeenSet = true; m_languageCodes.push_back(std::move(value)); return *this; } + + /** + *

    Indicates whether toxicity detection was enabled for the specified + * transcription job.

    + */ + inline const Aws::Vector& GetToxicityDetection() const{ return m_toxicityDetection; } + + /** + *

    Indicates whether toxicity detection was enabled for the specified + * transcription job.

    + */ + inline bool ToxicityDetectionHasBeenSet() const { return m_toxicityDetectionHasBeenSet; } + + /** + *

    Indicates whether toxicity detection was enabled for the specified + * transcription job.

    + */ + inline void SetToxicityDetection(const Aws::Vector& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection = value; } + + /** + *

    Indicates whether toxicity detection was enabled for the specified + * transcription job.

    + */ + inline void SetToxicityDetection(Aws::Vector&& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection = std::move(value); } + + /** + *

    Indicates whether toxicity detection was enabled for the specified + * transcription job.

    + */ + inline TranscriptionJobSummary& WithToxicityDetection(const Aws::Vector& value) { SetToxicityDetection(value); return *this;} + + /** + *

    Indicates whether toxicity detection was enabled for the specified + * transcription job.

    + */ + inline TranscriptionJobSummary& WithToxicityDetection(Aws::Vector&& value) { SetToxicityDetection(std::move(value)); return *this;} + + /** + *

    Indicates whether toxicity detection was enabled for the specified + * transcription job.

    + */ + inline TranscriptionJobSummary& AddToxicityDetection(const ToxicityDetectionSettings& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection.push_back(value); return *this; } + + /** + *

    Indicates whether toxicity detection was enabled for the specified + * transcription job.

    + */ + inline TranscriptionJobSummary& AddToxicityDetection(ToxicityDetectionSettings&& value) { m_toxicityDetectionHasBeenSet = true; m_toxicityDetection.push_back(std::move(value)); return *this; } + private: Aws::String m_transcriptionJobName; @@ -718,6 +768,9 @@ namespace Model Aws::Vector m_languageCodes; bool m_languageCodesHasBeenSet = false; + + Aws::Vector m_toxicityDetection; + bool m_toxicityDetectionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-transcribe/source/model/StartTranscriptionJobRequest.cpp b/generated/src/aws-cpp-sdk-transcribe/source/model/StartTranscriptionJobRequest.cpp index 6e8e21ab296..3d827bfcb28 100644 --- a/generated/src/aws-cpp-sdk-transcribe/source/model/StartTranscriptionJobRequest.cpp +++ b/generated/src/aws-cpp-sdk-transcribe/source/model/StartTranscriptionJobRequest.cpp @@ -36,7 +36,8 @@ StartTranscriptionJobRequest::StartTranscriptionJobRequest() : m_languageOptionsHasBeenSet(false), m_subtitlesHasBeenSet(false), m_tagsHasBeenSet(false), - m_languageIdSettingsHasBeenSet(false) + m_languageIdSettingsHasBeenSet(false), + m_toxicityDetectionHasBeenSet(false) { } @@ -176,6 +177,17 @@ Aws::String StartTranscriptionJobRequest::SerializePayload() const } + if(m_toxicityDetectionHasBeenSet) + { + Aws::Utils::Array toxicityDetectionJsonList(m_toxicityDetection.size()); + for(unsigned toxicityDetectionIndex = 0; toxicityDetectionIndex < toxicityDetectionJsonList.GetLength(); ++toxicityDetectionIndex) + { + toxicityDetectionJsonList[toxicityDetectionIndex].AsObject(m_toxicityDetection[toxicityDetectionIndex].Jsonize()); + } + payload.WithArray("ToxicityDetection", std::move(toxicityDetectionJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-transcribe/source/model/ToxicityCategory.cpp b/generated/src/aws-cpp-sdk-transcribe/source/model/ToxicityCategory.cpp new file mode 100644 index 00000000000..08252d72596 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribe/source/model/ToxicityCategory.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeService + { + namespace Model + { + namespace ToxicityCategoryMapper + { + + static const int ALL_HASH = HashingUtils::HashString("ALL"); + + + ToxicityCategory GetToxicityCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ALL_HASH) + { + return ToxicityCategory::ALL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ToxicityCategory::NOT_SET; + } + + Aws::String GetNameForToxicityCategory(ToxicityCategory enumValue) + { + switch(enumValue) + { + case ToxicityCategory::ALL: + return "ALL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ToxicityCategoryMapper + } // namespace Model + } // namespace TranscribeService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribe/source/model/ToxicityDetectionSettings.cpp b/generated/src/aws-cpp-sdk-transcribe/source/model/ToxicityDetectionSettings.cpp new file mode 100644 index 00000000000..e9e21ccc654 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribe/source/model/ToxicityDetectionSettings.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeService +{ +namespace Model +{ + +ToxicityDetectionSettings::ToxicityDetectionSettings() : + m_toxicityCategoriesHasBeenSet(false) +{ +} + +ToxicityDetectionSettings::ToxicityDetectionSettings(JsonView jsonValue) : + m_toxicityCategoriesHasBeenSet(false) +{ + *this = jsonValue; +} + +ToxicityDetectionSettings& ToxicityDetectionSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ToxicityCategories")) + { + Aws::Utils::Array toxicityCategoriesJsonList = jsonValue.GetArray("ToxicityCategories"); + for(unsigned toxicityCategoriesIndex = 0; toxicityCategoriesIndex < toxicityCategoriesJsonList.GetLength(); ++toxicityCategoriesIndex) + { + m_toxicityCategories.push_back(ToxicityCategoryMapper::GetToxicityCategoryForName(toxicityCategoriesJsonList[toxicityCategoriesIndex].AsString())); + } + m_toxicityCategoriesHasBeenSet = true; + } + + return *this; +} + +JsonValue ToxicityDetectionSettings::Jsonize() const +{ + JsonValue payload; + + if(m_toxicityCategoriesHasBeenSet) + { + Aws::Utils::Array toxicityCategoriesJsonList(m_toxicityCategories.size()); + for(unsigned toxicityCategoriesIndex = 0; toxicityCategoriesIndex < toxicityCategoriesJsonList.GetLength(); ++toxicityCategoriesIndex) + { + toxicityCategoriesJsonList[toxicityCategoriesIndex].AsString(ToxicityCategoryMapper::GetNameForToxicityCategory(m_toxicityCategories[toxicityCategoriesIndex])); + } + payload.WithArray("ToxicityCategories", std::move(toxicityCategoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribe/source/model/TranscriptionJob.cpp b/generated/src/aws-cpp-sdk-transcribe/source/model/TranscriptionJob.cpp index eb47db7c2ae..8b9aabf9fd6 100644 --- a/generated/src/aws-cpp-sdk-transcribe/source/model/TranscriptionJob.cpp +++ b/generated/src/aws-cpp-sdk-transcribe/source/model/TranscriptionJob.cpp @@ -48,7 +48,8 @@ TranscriptionJob::TranscriptionJob() : m_languageCodesHasBeenSet(false), m_tagsHasBeenSet(false), m_subtitlesHasBeenSet(false), - m_languageIdSettingsHasBeenSet(false) + m_languageIdSettingsHasBeenSet(false), + m_toxicityDetectionHasBeenSet(false) { } @@ -82,7 +83,8 @@ TranscriptionJob::TranscriptionJob(JsonView jsonValue) : m_languageCodesHasBeenSet(false), m_tagsHasBeenSet(false), m_subtitlesHasBeenSet(false), - m_languageIdSettingsHasBeenSet(false) + m_languageIdSettingsHasBeenSet(false), + m_toxicityDetectionHasBeenSet(false) { *this = jsonValue; } @@ -262,6 +264,16 @@ TranscriptionJob& TranscriptionJob::operator =(JsonView jsonValue) m_languageIdSettingsHasBeenSet = true; } + if(jsonValue.ValueExists("ToxicityDetection")) + { + Aws::Utils::Array toxicityDetectionJsonList = jsonValue.GetArray("ToxicityDetection"); + for(unsigned toxicityDetectionIndex = 0; toxicityDetectionIndex < toxicityDetectionJsonList.GetLength(); ++toxicityDetectionIndex) + { + m_toxicityDetection.push_back(toxicityDetectionJsonList[toxicityDetectionIndex].AsObject()); + } + m_toxicityDetectionHasBeenSet = true; + } + return *this; } @@ -421,6 +433,17 @@ JsonValue TranscriptionJob::Jsonize() const } + if(m_toxicityDetectionHasBeenSet) + { + Aws::Utils::Array toxicityDetectionJsonList(m_toxicityDetection.size()); + for(unsigned toxicityDetectionIndex = 0; toxicityDetectionIndex < toxicityDetectionJsonList.GetLength(); ++toxicityDetectionIndex) + { + toxicityDetectionJsonList[toxicityDetectionIndex].AsObject(m_toxicityDetection[toxicityDetectionIndex].Jsonize()); + } + payload.WithArray("ToxicityDetection", std::move(toxicityDetectionJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-transcribe/source/model/TranscriptionJobSummary.cpp b/generated/src/aws-cpp-sdk-transcribe/source/model/TranscriptionJobSummary.cpp index 0f89084ce80..f069ef6f478 100644 --- a/generated/src/aws-cpp-sdk-transcribe/source/model/TranscriptionJobSummary.cpp +++ b/generated/src/aws-cpp-sdk-transcribe/source/model/TranscriptionJobSummary.cpp @@ -38,7 +38,8 @@ TranscriptionJobSummary::TranscriptionJobSummary() : m_identifyMultipleLanguagesHasBeenSet(false), m_identifiedLanguageScore(0.0), m_identifiedLanguageScoreHasBeenSet(false), - m_languageCodesHasBeenSet(false) + m_languageCodesHasBeenSet(false), + m_toxicityDetectionHasBeenSet(false) { } @@ -62,7 +63,8 @@ TranscriptionJobSummary::TranscriptionJobSummary(JsonView jsonValue) : m_identifyMultipleLanguagesHasBeenSet(false), m_identifiedLanguageScore(0.0), m_identifiedLanguageScoreHasBeenSet(false), - m_languageCodesHasBeenSet(false) + m_languageCodesHasBeenSet(false), + m_toxicityDetectionHasBeenSet(false) { *this = jsonValue; } @@ -170,6 +172,16 @@ TranscriptionJobSummary& TranscriptionJobSummary::operator =(JsonView jsonValue) m_languageCodesHasBeenSet = true; } + if(jsonValue.ValueExists("ToxicityDetection")) + { + Aws::Utils::Array toxicityDetectionJsonList = jsonValue.GetArray("ToxicityDetection"); + for(unsigned toxicityDetectionIndex = 0; toxicityDetectionIndex < toxicityDetectionJsonList.GetLength(); ++toxicityDetectionIndex) + { + m_toxicityDetection.push_back(toxicityDetectionJsonList[toxicityDetectionIndex].AsObject()); + } + m_toxicityDetectionHasBeenSet = true; + } + return *this; } @@ -260,6 +272,17 @@ JsonValue TranscriptionJobSummary::Jsonize() const } + if(m_toxicityDetectionHasBeenSet) + { + Aws::Utils::Array toxicityDetectionJsonList(m_toxicityDetection.size()); + for(unsigned toxicityDetectionIndex = 0; toxicityDetectionIndex < toxicityDetectionJsonList.GetLength(); ++toxicityDetectionIndex) + { + toxicityDetectionJsonList[toxicityDetectionIndex].AsObject(m_toxicityDetection[toxicityDetectionIndex].Jsonize()); + } + payload.WithArray("ToxicityDetection", std::move(toxicityDetectionJsonList)); + + } + return payload; } diff --git a/generated/tests/route53resolver-gen-tests/Route53ResolverEndpointProviderTests.cpp b/generated/tests/route53resolver-gen-tests/Route53ResolverEndpointProviderTests.cpp index cca1c4e3001..22e5ee1fb24 100644 --- a/generated/tests/route53resolver-gen-tests/Route53ResolverEndpointProviderTests.cpp +++ b/generated/tests/route53resolver-gen-tests/Route53ResolverEndpointProviderTests.cpp @@ -303,14 +303,6 @@ static const Aws::Vector TEST_C {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 31*/ - {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://route53resolver.us-gov-east-1.amazonaws.com", - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 32*/ {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -318,23 +310,23 @@ static const Aws::Vector TEST_C {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 33*/ - {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params + /*TEST CASE 32*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://route53resolver.us-gov-west-1.amazonaws.com", + {{/*epUrl*/"https://route53resolver-fips.us-gov-east-1.api.aws", {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 34*/ - {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + /*TEST CASE 33*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://route53resolver-fips.us-gov-east-1.api.aws", + {{/*epUrl*/"https://route53resolver-fips.us-gov-east-1.amazonaws.com", {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 35*/ + /*TEST CASE 34*/ {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -342,7 +334,7 @@ static const Aws::Vector TEST_C {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 36*/ + /*TEST CASE 35*/ {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -350,13 +342,13 @@ static const Aws::Vector TEST_C {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 37*/ + /*TEST CASE 36*/ {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect }, - /*TEST CASE 38*/ + /*TEST CASE 37*/ {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -364,19 +356,19 @@ static const Aws::Vector TEST_C {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 39*/ + /*TEST CASE 38*/ {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, - /*TEST CASE 40*/ + /*TEST CASE 39*/ {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect }, - /*TEST CASE 41*/ + /*TEST CASE 40*/ {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -384,13 +376,13 @@ static const Aws::Vector TEST_C {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 42*/ + /*TEST CASE 41*/ {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, - /*TEST CASE 43*/ + /*TEST CASE 42*/ {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -398,7 +390,7 @@ static const Aws::Vector TEST_C {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 44*/ + /*TEST CASE 43*/ {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params @@ -407,7 +399,7 @@ static const Aws::Vector TEST_C {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 45*/ + /*TEST CASE 44*/ {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -415,21 +407,21 @@ static const Aws::Vector TEST_C {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 46*/ + /*TEST CASE 45*/ {"For custom endpoint with fips enabled and dualstack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect }, - /*TEST CASE 47*/ + /*TEST CASE 46*/ {"For custom endpoint with fips disabled and dualstack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect }, - /*TEST CASE 48*/ + /*TEST CASE 47*/ {"Missing region", // documentation {}, // params {}, // tags diff --git a/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp b/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp index 1f6fcb02057..5729b24e1b0 100644 --- a/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp +++ b/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp @@ -142,7 +142,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"DualStack cannot be combined with a Host override (PrivateLink)"} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 12*/ {"Access point ARN with FIPS & Dualstack", // documentation @@ -783,34 +783,25 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 79*/ - {"non-bucket endpoint with FIPS: TODO(descriptive)", // documentation + {"non-bucket endpoint override with FIPS = error", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://beta.example.com:1234/path", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 80*/ - {"FIPS + dualstack + custom endpoint TODO(descriptive)", // documentation + {"FIPS + dualstack + custom endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://beta.example.com:1234/path", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 81*/ - {"dualstack + custom endpoint TODO(descriptive)", // documentation + {"dualstack + custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://beta.example.com:1234/path", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 82*/ {"custom endpoint without FIPS/dualstack", // documentation @@ -919,20 +910,14 @@ static const Aws::Vector TEST_CASES = { {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 94*/ {"endpoint override + non-dns bucket + FIPS (BUG)", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 95*/ {"FIPS + bucket endpoint + force path style", // documentation @@ -969,10 +954,7 @@ static const Aws::Vector TEST_CASES = { {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "https://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 99*/ {"FIPS + path based endpoint", // documentation @@ -1019,10 +1001,7 @@ static const Aws::Vector TEST_CASES = { {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 104*/ {"FIPS + Dualstack + global endpoint + non-dns bucket", // documentation @@ -1035,39 +1014,29 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 105*/ - {"endpoint override + FIPS + dualstack (this is wrong—it's a bug in the UseGlobalEndpoint branch)", // documentation + {"endpoint override + FIPS + dualstack", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 106*/ {"non-bucket endpoint override + dualstack + global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 107*/ {"Endpoint override + UseGlobalEndpoint + us-east-1", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 108*/ {"non-FIPS partition with FIPS set + custom endpoint", // documentation - {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "cn-north-1"), - EpParam("UseDualStack", false)}, // params + {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, @@ -1111,14 +1080,11 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 113*/ - {"aws-global + fips + custom endpoint (TODO: should be an error)", // documentation + {"aws-global + fips + custom endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 114*/ {"aws-global, endpoint override & path only-bucket", // documentation @@ -1131,14 +1097,11 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 115*/ - {"aws-global + dualstack + custom endpoint (TODO: should be an error)", // documentation + {"aws-global + dualstack + custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 116*/ {"accelerate, dualstack + aws-global", // documentation @@ -1151,7 +1114,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 117*/ - {"FIPS + aws-global + path only bucket. TODO: this should be an error", // documentation + {"FIPS + aws-global + path only bucket. This is not supported by S3 but we allow garbage in garbage out", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -1161,23 +1124,17 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 118*/ - {"aws-global + FIPS + endpoint override. TODO: should this be an error?", // documentation + {"aws-global + FIPS + endpoint override.", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global")}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 119*/ - {"force path style, aws-global & endpoint override", // documentation + {"force path style, FIPS, aws-global & endpoint override", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global")}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 120*/ {"ip address causes path style to be forced", // documentation @@ -1192,10 +1149,7 @@ static const Aws::Vector TEST_CASES = { {"endpoint override with aws-global region", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 122*/ {"FIPS + path-only (TODO: consider making this an error)", // documentation @@ -1603,10 +1557,7 @@ static const Aws::Vector TEST_CASES = { {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://s3-fips.cn-north-1.amazonaws.com.cn/bucket-name", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, /*TEST CASE 170*/ {"path style + accelerate = error@cn-north-1", // documentation @@ -1746,7 +1697,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 185*/ {"SDK::Host + DualStack@us-west-2", // documentation @@ -1754,14 +1705,14 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 186*/ {"SDK::HOST + accelerate@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("___key", "key"), EpParam("Endpoint", "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, /*TEST CASE 187*/ {"SDK::Host + access point ARN@us-west-2", // documentation @@ -1797,10 +1748,9 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 190*/ - {"SDK::Host + FIPS@cn-north-1", // documentation - {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), - EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), - EpParam("UseDualStack", false)}, // params + {"FIPS@cn-north-1", // documentation + {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, @@ -1810,7 +1760,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 192*/ {"SDK::HOST + accelerate@cn-north-1", // documentation @@ -1818,7 +1768,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"S3 Accelerate cannot be used in this region"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, /*TEST CASE 193*/ {"SDK::Host + access point ARN@cn-north-1", // documentation @@ -1859,7 +1809,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 197*/ {"SDK::Host + DualStack@af-south-1", // documentation @@ -1867,7 +1817,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 198*/ {"SDK::HOST + accelerate@af-south-1", // documentation @@ -1875,7 +1825,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, /*TEST CASE 199*/ {"SDK::Host + access point ARN@af-south-1", // documentation @@ -2393,7 +2343,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 258*/ - {"S3 Outposts Abba Real Outpost Prod us-west-1", // documentation + {"S3 Outposts bucketAlias Real Outpost Prod us-west-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-west-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2403,7 +2353,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 259*/ - {"S3 Outposts Abba Real Outpost Prod ap-east-1", // documentation + {"S3 Outposts bucketAlias Real Outpost Prod ap-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "ap-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2413,7 +2363,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 260*/ - {"S3 Outposts Abba Ec2 Outpost Prod us-east-1", // documentation + {"S3 Outposts bucketAlias Ec2 Outpost Prod us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2423,7 +2373,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 261*/ - {"S3 Outposts Abba Ec2 Outpost Prod me-south-1", // documentation + {"S3 Outposts bucketAlias Ec2 Outpost Prod me-south-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "me-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2433,7 +2383,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 262*/ - {"S3 Outposts Abba Real Outpost Beta", // documentation + {"S3 Outposts bucketAlias Real Outpost Beta", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2443,7 +2393,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 263*/ - {"S3 Outposts Abba Ec2 Outpost Beta", // documentation + {"S3 Outposts bucketAlias Ec2 Outpost Beta", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2453,28 +2403,28 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 264*/ - {"S3 Outposts Abba - No endpoint set for beta", // documentation + {"S3 Outposts bucketAlias - No endpoint set for beta", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Expected a endpoint to be specified but no endpoint was found"} // expect }, /*TEST CASE 265*/ - {"S3 Outposts Abba Invalid hardware type", // documentation + {"S3 Outposts bucketAlias Invalid hardware type", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-h0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/R"(Unrecognized hardware type: "Expected hardware type o or e but got h")"} // expect }, /*TEST CASE 266*/ - {"S3 Outposts Abba Special character in Outpost Arn", // documentation + {"S3 Outposts bucketAlias Special character in Outpost Arn", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o00000754%1d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."} // expect }, /*TEST CASE 267*/ - {"S3 Outposts Abba - No endpoint set for beta", // documentation + {"S3 Outposts bucketAlias - No endpoint set for beta", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0b1d075431d83bebde8xz5w8ijx1qzlbp3i3ebeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags diff --git a/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp b/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp index eb81d9d4d50..4bd57a423e6 100644 --- a/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp +++ b/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp @@ -142,7 +142,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"DualStack cannot be combined with a Host override (PrivateLink)"} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 12*/ {"Access point ARN with FIPS & Dualstack", // documentation @@ -783,34 +783,25 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 79*/ - {"non-bucket endpoint with FIPS: TODO(descriptive)", // documentation + {"non-bucket endpoint override with FIPS = error", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://beta.example.com:1234/path", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 80*/ - {"FIPS + dualstack + custom endpoint TODO(descriptive)", // documentation + {"FIPS + dualstack + custom endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://beta.example.com:1234/path", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 81*/ - {"dualstack + custom endpoint TODO(descriptive)", // documentation + {"dualstack + custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://beta.example.com:1234/path", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 82*/ {"custom endpoint without FIPS/dualstack", // documentation @@ -919,20 +910,14 @@ static const Aws::Vector TEST_CASES = { {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 94*/ {"endpoint override + non-dns bucket + FIPS (BUG)", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 95*/ {"FIPS + bucket endpoint + force path style", // documentation @@ -969,10 +954,7 @@ static const Aws::Vector TEST_CASES = { {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "https://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 99*/ {"FIPS + path based endpoint", // documentation @@ -1019,10 +1001,7 @@ static const Aws::Vector TEST_CASES = { {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 104*/ {"FIPS + Dualstack + global endpoint + non-dns bucket", // documentation @@ -1035,39 +1014,29 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 105*/ - {"endpoint override + FIPS + dualstack (this is wrong—it's a bug in the UseGlobalEndpoint branch)", // documentation + {"endpoint override + FIPS + dualstack", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 106*/ {"non-bucket endpoint override + dualstack + global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 107*/ {"Endpoint override + UseGlobalEndpoint + us-east-1", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 108*/ {"non-FIPS partition with FIPS set + custom endpoint", // documentation - {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "cn-north-1"), - EpParam("UseDualStack", false)}, // params + {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, @@ -1111,14 +1080,11 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 113*/ - {"aws-global + fips + custom endpoint (TODO: should be an error)", // documentation + {"aws-global + fips + custom endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 114*/ {"aws-global, endpoint override & path only-bucket", // documentation @@ -1131,14 +1097,11 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 115*/ - {"aws-global + dualstack + custom endpoint (TODO: should be an error)", // documentation + {"aws-global + dualstack + custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 116*/ {"accelerate, dualstack + aws-global", // documentation @@ -1151,7 +1114,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 117*/ - {"FIPS + aws-global + path only bucket. TODO: this should be an error", // documentation + {"FIPS + aws-global + path only bucket. This is not supported by S3 but we allow garbage in garbage out", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -1161,23 +1124,17 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 118*/ - {"aws-global + FIPS + endpoint override. TODO: should this be an error?", // documentation + {"aws-global + FIPS + endpoint override.", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global")}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 119*/ - {"force path style, aws-global & endpoint override", // documentation + {"force path style, FIPS, aws-global & endpoint override", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global")}, // params {}, // tags - {{/*epUrl*/"http://foo.com/bucket%21", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 120*/ {"ip address causes path style to be forced", // documentation @@ -1192,10 +1149,7 @@ static const Aws::Vector TEST_CASES = { {"endpoint override with aws-global region", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"http://foo.com", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 122*/ {"FIPS + path-only (TODO: consider making this an error)", // documentation @@ -1603,10 +1557,7 @@ static const Aws::Vector TEST_CASES = { {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://s3-fips.cn-north-1.amazonaws.com.cn/bucket-name", - {/*properties*/{"authSchemes", {EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), - EpProp("signingName", "s3")}}}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, /*TEST CASE 170*/ {"path style + accelerate = error@cn-north-1", // documentation @@ -1746,7 +1697,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 185*/ {"SDK::Host + DualStack@us-west-2", // documentation @@ -1754,14 +1705,14 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 186*/ {"SDK::HOST + accelerate@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("___key", "key"), EpParam("Endpoint", "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, /*TEST CASE 187*/ {"SDK::Host + access point ARN@us-west-2", // documentation @@ -1797,10 +1748,9 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 190*/ - {"SDK::Host + FIPS@cn-north-1", // documentation - {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), - EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), - EpParam("UseDualStack", false)}, // params + {"FIPS@cn-north-1", // documentation + {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), + EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, @@ -1810,7 +1760,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 192*/ {"SDK::HOST + accelerate@cn-north-1", // documentation @@ -1818,7 +1768,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"S3 Accelerate cannot be used in this region"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, /*TEST CASE 193*/ {"SDK::Host + access point ARN@cn-north-1", // documentation @@ -1859,7 +1809,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, /*TEST CASE 197*/ {"SDK::Host + DualStack@af-south-1", // documentation @@ -1867,7 +1817,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, /*TEST CASE 198*/ {"SDK::HOST + accelerate@af-south-1", // documentation @@ -1875,7 +1825,7 @@ static const Aws::Vector TEST_CASES = { EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate"} // expect + {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, /*TEST CASE 199*/ {"SDK::Host + access point ARN@af-south-1", // documentation @@ -2393,7 +2343,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 258*/ - {"S3 Outposts Abba Real Outpost Prod us-west-1", // documentation + {"S3 Outposts bucketAlias Real Outpost Prod us-west-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-west-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2403,7 +2353,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 259*/ - {"S3 Outposts Abba Real Outpost Prod ap-east-1", // documentation + {"S3 Outposts bucketAlias Real Outpost Prod ap-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "ap-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2413,7 +2363,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 260*/ - {"S3 Outposts Abba Ec2 Outpost Prod us-east-1", // documentation + {"S3 Outposts bucketAlias Ec2 Outpost Prod us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2423,7 +2373,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 261*/ - {"S3 Outposts Abba Ec2 Outpost Prod me-south-1", // documentation + {"S3 Outposts bucketAlias Ec2 Outpost Prod me-south-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "me-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2433,7 +2383,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 262*/ - {"S3 Outposts Abba Real Outpost Beta", // documentation + {"S3 Outposts bucketAlias Real Outpost Beta", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2443,7 +2393,7 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 263*/ - {"S3 Outposts Abba Ec2 Outpost Beta", // documentation + {"S3 Outposts bucketAlias Ec2 Outpost Beta", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2453,28 +2403,28 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 264*/ - {"S3 Outposts Abba - No endpoint set for beta", // documentation + {"S3 Outposts bucketAlias - No endpoint set for beta", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Expected a endpoint to be specified but no endpoint was found"} // expect }, /*TEST CASE 265*/ - {"S3 Outposts Abba Invalid hardware type", // documentation + {"S3 Outposts bucketAlias Invalid hardware type", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-h0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/R"(Unrecognized hardware type: "Expected hardware type o or e but got h")"} // expect }, /*TEST CASE 266*/ - {"S3 Outposts Abba Special character in Outpost Arn", // documentation + {"S3 Outposts bucketAlias Special character in Outpost Arn", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o00000754%1d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."} // expect }, /*TEST CASE 267*/ - {"S3 Outposts Abba - No endpoint set for beta", // documentation + {"S3 Outposts bucketAlias - No endpoint set for beta", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0b1d075431d83bebde8xz5w8ijx1qzlbp3i3ebeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags diff --git a/generated/tests/transcribe-gen-tests/TranscribeServiceEndpointProviderTests.cpp b/generated/tests/transcribe-gen-tests/TranscribeServiceEndpointProviderTests.cpp index 52d8e6a4ce1..3c56eeef047 100644 --- a/generated/tests/transcribe-gen-tests/TranscribeServiceEndpointProviderTests.cpp +++ b/generated/tests/transcribe-gen-tests/TranscribeServiceEndpointProviderTests.cpp @@ -359,6 +359,12 @@ static const Aws::Vector TEST {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 38*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 39*/ {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -366,7 +372,19 @@ static const Aws::Vector TEST {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 39*/ + /*TEST CASE 40*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 41*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 42*/ {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -374,7 +392,13 @@ static const Aws::Vector TEST {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 40*/ + /*TEST CASE 43*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 44*/ {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -382,7 +406,7 @@ static const Aws::Vector TEST {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 41*/ + /*TEST CASE 45*/ {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params @@ -391,7 +415,7 @@ static const Aws::Vector TEST {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 42*/ + /*TEST CASE 46*/ {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -399,19 +423,25 @@ static const Aws::Vector TEST {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 43*/ + /*TEST CASE 47*/ {"For custom endpoint with fips enabled and dualstack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect }, - /*TEST CASE 44*/ + /*TEST CASE 48*/ {"For custom endpoint with fips disabled and dualstack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 49*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect } }; diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index f7c4aac2433..b7199fe6f17 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.122" +#define AWS_SDK_VERSION_STRING "1.11.123" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 122 +#define AWS_SDK_VERSION_PATCH 123 diff --git a/tools/code-generation/api-descriptions/codecatalyst-2022-09-28.normal.json b/tools/code-generation/api-descriptions/codecatalyst-2022-09-28.normal.json index 8bd7c2e6978..4ba97938374 100644 --- a/tools/code-generation/api-descriptions/codecatalyst-2022-09-28.normal.json +++ b/tools/code-generation/api-descriptions/codecatalyst-2022-09-28.normal.json @@ -71,6 +71,26 @@ "documentation":"

    Creates a project in a specified space.

    ", "idempotent":true }, + "CreateSourceRepository":{ + "name":"CreateSourceRepository", + "http":{ + "method":"PUT", + "requestUri":"/v1/spaces/{spaceName}/projects/{projectName}/sourceRepositories/{name}", + "responseCode":201 + }, + "input":{"shape":"CreateSourceRepositoryRequest"}, + "output":{"shape":"CreateSourceRepositoryResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Creates an empty Git-based source repository in a specified project. The repository is created with an initial empty commit with a default branch named main.

    ", + "idempotent":true + }, "CreateSourceRepositoryBranch":{ "name":"CreateSourceRepositoryBranch", "http":{ @@ -131,6 +151,66 @@ "documentation":"

    Deletes a Dev Environment.

    ", "idempotent":true }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"DELETE", + "requestUri":"/v1/spaces/{spaceName}/projects/{name}", + "responseCode":200 + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Deletes a project in a space.

    ", + "idempotent":true + }, + "DeleteSourceRepository":{ + "name":"DeleteSourceRepository", + "http":{ + "method":"DELETE", + "requestUri":"/v1/spaces/{spaceName}/projects/{projectName}/sourceRepositories/{name}", + "responseCode":200 + }, + "input":{"shape":"DeleteSourceRepositoryRequest"}, + "output":{"shape":"DeleteSourceRepositoryResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Deletes a source repository in Amazon CodeCatalyst. You cannot use this API to delete a linked repository. It can only be used to delete a Amazon CodeCatalyst source repository.

    ", + "idempotent":true + }, + "DeleteSpace":{ + "name":"DeleteSpace", + "http":{ + "method":"DELETE", + "requestUri":"/v1/spaces/{name}", + "responseCode":200 + }, + "input":{"shape":"DeleteSpaceRequest"}, + "output":{"shape":"DeleteSpaceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Deletes a space.

    Deleting a space cannot be undone. Additionally, since space names must be unique across Amazon CodeCatalyst, you cannot reuse names of deleted spaces.

    ", + "idempotent":true + }, "GetDevEnvironment":{ "name":"GetDevEnvironment", "http":{ @@ -169,6 +249,25 @@ ], "documentation":"

    Returns information about a project.

    " }, + "GetSourceRepository":{ + "name":"GetSourceRepository", + "http":{ + "method":"GET", + "requestUri":"/v1/spaces/{spaceName}/projects/{projectName}/sourceRepositories/{name}", + "responseCode":200 + }, + "input":{"shape":"GetSourceRepositoryRequest"}, + "output":{"shape":"GetSourceRepositoryResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Returns information about a source repository.

    " + }, "GetSourceRepositoryCloneUrls":{ "name":"GetSourceRepositoryCloneUrls", "http":{ @@ -496,6 +595,46 @@ "documentation":"

    Changes one or more values for a Dev Environment. Updating certain values of the Dev Environment will cause a restart.

    ", "idempotent":true }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"PATCH", + "requestUri":"/v1/spaces/{spaceName}/projects/{name}", + "responseCode":200 + }, + "input":{"shape":"UpdateProjectRequest"}, + "output":{"shape":"UpdateProjectResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Changes one or more values for a project.

    ", + "idempotent":true + }, + "UpdateSpace":{ + "name":"UpdateSpace", + "http":{ + "method":"PATCH", + "requestUri":"/v1/spaces/{name}", + "responseCode":200 + }, + "input":{"shape":"UpdateSpaceRequest"}, + "output":{"shape":"UpdateSpaceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Changes one or more values for a space.

    ", + "idempotent":true + }, "VerifySession":{ "name":"VerifySession", "http":{ @@ -679,7 +818,7 @@ }, "ides":{ "shape":"IdeConfigurationList", - "documentation":"

    Information about the integrated development environment (IDE) configured for a Dev Environment.

    An IDE is required to create a Dev Environment. For Dev Environment creation, this field contains configuration information and must be provided.

    " + "documentation":"

    Information about the integrated development environment (IDE) configured for a Dev Environment.

    An IDE is required to create a Dev Environment. For Dev Environment creation, this field contains configuration information and must be provided.

    " }, "instanceType":{ "shape":"InstanceType", @@ -828,6 +967,64 @@ } } }, + "CreateSourceRepositoryRequest":{ + "type":"structure", + "required":[ + "spaceName", + "projectName", + "name" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    ", + "location":"uri", + "locationName":"spaceName" + }, + "projectName":{ + "shape":"NameString", + "documentation":"

    The name of the project in the space.

    ", + "location":"uri", + "locationName":"projectName" + }, + "name":{ + "shape":"SourceRepositoryNameString", + "documentation":"

    The name of the source repository. For more information about name requirements, see Quotas for source repositories.

    ", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"SourceRepositoryDescriptionString", + "documentation":"

    The description of the source repository.

    " + } + } + }, + "CreateSourceRepositoryResponse":{ + "type":"structure", + "required":[ + "spaceName", + "projectName", + "name" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    " + }, + "projectName":{ + "shape":"NameString", + "documentation":"

    The name of the project in the space.

    " + }, + "name":{ + "shape":"SourceRepositoryNameString", + "documentation":"

    The name of the source repository.

    " + }, + "description":{ + "shape":"SourceRepositoryDescriptionString", + "documentation":"

    The description of the source repository.

    " + } + } + }, "DeleteAccessTokenRequest":{ "type":"structure", "required":["id"], @@ -895,6 +1092,124 @@ } } }, + "DeleteProjectRequest":{ + "type":"structure", + "required":[ + "spaceName", + "name" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    ", + "location":"uri", + "locationName":"spaceName" + }, + "name":{ + "shape":"NameString", + "documentation":"

    The name of the project in the space. To retrieve a list of project names, use ListProjects.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteProjectResponse":{ + "type":"structure", + "required":[ + "spaceName", + "name" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    " + }, + "name":{ + "shape":"NameString", + "documentation":"

    The name of the project in the space.

    " + }, + "displayName":{ + "shape":"String", + "documentation":"

    The friendly name displayed to users of the project in Amazon CodeCatalyst.

    " + } + } + }, + "DeleteSourceRepositoryRequest":{ + "type":"structure", + "required":[ + "spaceName", + "projectName", + "name" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    ", + "location":"uri", + "locationName":"spaceName" + }, + "projectName":{ + "shape":"NameString", + "documentation":"

    The name of the project in the space.

    ", + "location":"uri", + "locationName":"projectName" + }, + "name":{ + "shape":"SourceRepositoryNameString", + "documentation":"

    The name of the source repository.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteSourceRepositoryResponse":{ + "type":"structure", + "required":[ + "spaceName", + "projectName", + "name" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    " + }, + "projectName":{ + "shape":"NameString", + "documentation":"

    The name of the project in the space.

    " + }, + "name":{ + "shape":"SourceRepositoryNameString", + "documentation":"

    The name of the repository.

    " + } + } + }, + "DeleteSpaceRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"NameString", + "documentation":"

    The name of the space. To retrieve a list of space names, use ListSpaces.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteSpaceResponse":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    " + }, + "displayName":{ + "shape":"String", + "documentation":"

    The friendly name of the space displayed to users of the space in Amazon CodeCatalyst.

    " + } + } + }, "DevEnvironmentAccessDetails":{ "type":"structure", "required":[ @@ -1181,7 +1496,7 @@ }, "userAgent":{ "shape":"String", - "documentation":"

    " + "documentation":"

    The user agent whose actions are recorded in the event.

    " } }, "documentation":"

    Information about an entry in an event log of Amazon CodeCatalyst activity.

    " @@ -1238,18 +1553,18 @@ "members":{ "key":{ "shape":"String", - "documentation":"

    " + "documentation":"

    A key that can be used to sort results.

    " }, "values":{ "shape":"StringList", - "documentation":"

    " + "documentation":"

    The values of the key.

    " }, "comparisonOperator":{ "shape":"String", - "documentation":"

    " + "documentation":"

    The operator used to compare the fields.

    " } }, - "documentation":"

    " + "documentation":"

    Information about a filter used to limit results of a query.

    " }, "FilterKey":{ "type":"string", @@ -1447,6 +1762,70 @@ } } }, + "GetSourceRepositoryRequest":{ + "type":"structure", + "required":[ + "spaceName", + "projectName", + "name" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    ", + "location":"uri", + "locationName":"spaceName" + }, + "projectName":{ + "shape":"NameString", + "documentation":"

    The name of the project in the space.

    ", + "location":"uri", + "locationName":"projectName" + }, + "name":{ + "shape":"SourceRepositoryNameString", + "documentation":"

    The name of the source repository.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "GetSourceRepositoryResponse":{ + "type":"structure", + "required":[ + "spaceName", + "projectName", + "name", + "lastUpdatedTime", + "createdTime" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    " + }, + "projectName":{ + "shape":"NameString", + "documentation":"

    The name of the project in the space.

    " + }, + "name":{ + "shape":"SourceRepositoryNameString", + "documentation":"

    The name of the source repository.

    " + }, + "description":{ + "shape":"SourceRepositoryDescriptionString", + "documentation":"

    The description of the source repository.

    " + }, + "lastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time the source repository was last updated, in coordinated universal time (UTC) timestamp format as specified in RFC 3339.

    " + }, + "createdTime":{ + "shape":"Timestamp", + "documentation":"

    The time the source repository was created, in coordinated universal time (UTC) timestamp format as specified in RFC 3339.

    " + } + } + }, "GetSpaceRequest":{ "type":"structure", "required":["name"], @@ -2190,7 +2569,7 @@ }, "values":{ "shape":"StringList", - "documentation":"

    The value of the key.

    " + "documentation":"

    The values of the key.

    " }, "comparisonOperator":{ "shape":"ComparisonOperator", @@ -2306,6 +2685,12 @@ "min":1, "pattern":"(?!.*[.]git$)[\\w\\-.]*" }, + "SpaceDescription":{ + "type":"string", + "max":200, + "min":0, + "pattern":"[a-zA-Z0-9]+(?:[-_a-zA-Z0-9.,;:/\\+=?&$% ])*" + }, "SpaceSummaries":{ "type":"list", "member":{"shape":"SpaceSummary"} @@ -2727,6 +3112,85 @@ "min":1, "pattern":"[a-zA-Z0-9]+(?:[-_\\.][a-zA-Z0-9]+)*" }, + "UpdateProjectRequest":{ + "type":"structure", + "required":[ + "spaceName", + "name" + ], + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    ", + "location":"uri", + "locationName":"spaceName" + }, + "name":{ + "shape":"NameString", + "documentation":"

    The name of the project.

    ", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

    The description of the project.

    " + } + } + }, + "UpdateProjectResponse":{ + "type":"structure", + "members":{ + "spaceName":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    " + }, + "name":{ + "shape":"NameString", + "documentation":"

    The name of the project.

    " + }, + "displayName":{ + "shape":"String", + "documentation":"

    The friendly name of the project displayed to users in Amazon CodeCatalyst.

    " + }, + "description":{ + "shape":"String", + "documentation":"

    The description of the project.

    " + } + } + }, + "UpdateSpaceRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    ", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"SpaceDescription", + "documentation":"

    The description of the space.

    " + } + } + }, + "UpdateSpaceResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"NameString", + "documentation":"

    The name of the space.

    " + }, + "displayName":{ + "shape":"String", + "documentation":"

    The friendly name of the space displayed to users in Amazon CodeCatalyst.

    " + }, + "description":{ + "shape":"String", + "documentation":"

    The description of the space.

    " + } + } + }, "UserIdentity":{ "type":"structure", "required":[ @@ -2740,7 +3204,7 @@ }, "principalId":{ "shape":"String", - "documentation":"

    " + "documentation":"

    The ID of the Amazon CodeCatalyst service principal.

    " }, "userName":{ "shape":"String", @@ -2793,5 +3257,5 @@ "min":1 } }, - "documentation":"

    Welcome to the Amazon CodeCatalyst API reference. This reference provides descriptions of operations and data types for Amazon CodeCatalyst. You can use the Amazon CodeCatalyst API to work with the following objects.

    Dev Environments and the Amazon Web Services Toolkits, by calling the following:

    Security, activity, and resource management in Amazon CodeCatalyst, by calling the following:

    • DeleteAccessToken, which deletes a specified personal access token (PAT).

    • ListAccessTokens, which lists all personal access tokens (PATs) associated with a user.

    • ListEventLogs, which retrieves a list of events that occurred during a specified time period in a space.

    If you are using the Amazon CodeCatalyst APIs with an SDK or the CLI, you must configure your computer to work with Amazon CodeCatalyst and single sign-on (SSO). For more information, see Setting up to use the CLI with Amazon CodeCatalyst and the SSO documentation for your SDK.

    " + "documentation":"

    Welcome to the Amazon CodeCatalyst API reference. This reference provides descriptions of operations and data types for Amazon CodeCatalyst. You can use the Amazon CodeCatalyst API to work with the following objects.

    Spaces, by calling the following:

    • DeleteSpace, which deletes a space.

    • GetSpace, which returns information about a space.

    • GetSubscription, which returns information about the Amazon Web Services account used for billing purposes and the billing plan for the space.

    • ListSpaces, which retrieves a list of spaces.

    • UpdateSpace, which hanges one or more values for a space.

    Projects, by calling the following:

    • CreateProject which creates a project in a specified space.

    • GetProject, which returns information about a project.

    • ListProjects, which retrieves a list of projects in a space.

    Users, by calling the following:

    • GetUserDetails, which returns information about a user in Amazon CodeCatalyst.

    Source repositories, by calling the following:

    Dev Environments and the Amazon Web Services Toolkits, by calling the following:

    Security, activity, and resource management in Amazon CodeCatalyst, by calling the following:

    • CreateAccessToken, which creates a personal access token (PAT) for the current user.

    • DeleteAccessToken, which deletes a specified personal access token (PAT).

    • ListAccessTokens, which lists all personal access tokens (PATs) associated with a user.

    • ListEventLogs, which retrieves a list of events that occurred during a specified time period in a space.

    • VerifySession, which verifies whether the calling user has a valid Amazon CodeCatalyst login and session.

    If you are using the Amazon CodeCatalyst APIs with an SDK or the CLI, you must configure your computer to work with Amazon CodeCatalyst and single sign-on (SSO). For more information, see Setting up to use the CLI with Amazon CodeCatalyst and the SSO documentation for your SDK.

    " } diff --git a/tools/code-generation/api-descriptions/connectcases-2022-10-03.normal.json b/tools/code-generation/api-descriptions/connectcases-2022-10-03.normal.json index 698901ad130..c48b2c394d6 100644 --- a/tools/code-generation/api-descriptions/connectcases-2022-10-03.normal.json +++ b/tools/code-generation/api-descriptions/connectcases-2022-10-03.normal.json @@ -88,7 +88,7 @@ {"shape":"ConflictException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

    Creates a domain, which is a container for all case data, such as cases, fields, templates and layouts. Each Amazon Connect instance can be associated with only one Cases domain.

    This will not associate your connect instance to Cases domain. Instead, use the Amazon Connect CreateIntegrationAssociation API. You need specific IAM permissions to successfully associate the Cases domain. For more information, see Onboard to Cases.

    ", + "documentation":"

    Creates a domain, which is a container for all case data, such as cases, fields, templates and layouts. Each Amazon Connect instance can be associated with only one Cases domain.

    This will not associate your connect instance to Cases domain. Instead, use the Amazon Connect CreateIntegrationAssociation API. You need specific IAM permissions to successfully associate the Cases domain. For more information, see Onboard to Cases.

     </important> 
    ", "idempotent":true }, "CreateField":{ @@ -190,7 +190,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ConflictException"} ], - "documentation":"

    Deletes a domain.

    ", + "documentation":"

    Deletes a Cases domain.

     <note> <p>After deleting your domain you must disassociate the deleted domain from your Amazon Connect instance with another API call before being able to use Cases again with this Amazon Connect instance. See <a href="https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html">DeleteIntegrationAssociation</a>.</p> </note> 
    ", "idempotent":true }, "GetCase":{ @@ -754,7 +754,11 @@ "shape":"FieldFilter", "documentation":"

    A list of fields to filter on.

    " }, - "not":{"shape":"CaseFilter"} + "not":{"shape":"CaseFilter"}, + "orAll":{ + "shape":"CaseFilterOrAllList", + "documentation":"

    Provides \"or all\" filtering.

    " + } }, "documentation":"

    A filter for cases. Only one value can be provided.

    ", "union":true @@ -765,6 +769,12 @@ "max":10, "min":0 }, + "CaseFilterOrAllList":{ + "type":"list", + "member":{"shape":"CaseFilter"}, + "max":10, + "min":0 + }, "CaseId":{ "type":"string", "max":500, @@ -1253,6 +1263,12 @@ "type":"double", "box":true }, + "EmptyFieldValue":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An empty value. You cannot set EmptyFieldValue on a field that is required on a case template.

    This structure will never have any data members. It signifies an empty value on a case field.

    " + }, "EventBridgeConfiguration":{ "type":"structure", "required":["enabled"], @@ -1546,6 +1562,10 @@ "shape":"Double", "documentation":"

    Can be either null, or have a Double number value type. Only one value can be provided.

    " }, + "emptyValue":{ + "shape":"EmptyFieldValue", + "documentation":"

    An empty value.

    " + }, "stringValue":{ "shape":"FieldValueUnionStringValueString", "documentation":"

    String value type.

    " diff --git a/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json b/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json index a0a11de8c2a..fa71d1cade5 100644 --- a/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json +++ b/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json @@ -1107,7 +1107,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

    Retrieves summary metrics for the intent stages in your bot. The following fields are required:

    • metrics – A list of AnalyticsIntentStageMetric objects. In each object, use the name field to specify the metric to calculate, the statistic field to specify whether to calculate the Sum, Average, or Max number, and the order field to specify whether to sort the results in Ascending or Descending order.

    • startDateTime and endDateTime – Define a time range for which you want to retrieve results.

    Of the optional fields, you can organize the results in the following ways:

    • Use the filters field to filter the results, the groupBy field to specify categories by which to group the results, and the binBy field to specify time intervals by which to group the results.

    • Use the maxResults field to limit the number of results to return in a single response and the nextToken field to return the next batch of results if the response does not return the full set of results.

    Note that an order field exists in both binBy and metrics. You can only specify one order in a given request.

    " + "documentation":"

    Retrieves summary metrics for the stages within intents in your bot. The following fields are required:

    • metrics – A list of AnalyticsIntentStageMetric objects. In each object, use the name field to specify the metric to calculate, the statistic field to specify whether to calculate the Sum, Average, or Max number, and the order field to specify whether to sort the results in Ascending or Descending order.

    • startDateTime and endDateTime – Define a time range for which you want to retrieve results.

    Of the optional fields, you can organize the results in the following ways:

    • Use the filters field to filter the results, the groupBy field to specify categories by which to group the results, and the binBy field to specify time intervals by which to group the results.

    • Use the maxResults field to limit the number of results to return in a single response and the nextToken field to return the next batch of results if the response does not return the full set of results.

    Note that an order field exists in both binBy and metrics. You can only specify one order in a given request.

    " }, "ListIntents":{ "name":"ListIntents", @@ -1317,7 +1317,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

    Retrieves a list of metadata for individual user utterances to your bot. The startDateTime and endDateTime fields are required. These fields define a time range for which you want to retrieve results. Of the optional fields, you can organize the results in the following ways:

    • Use the filters field to filter the results and the sortBy field to specify the values by which to sort the results.

    • Use the maxResults field to limit the number of results to return in a single response and the nextToken field to return the next batch of results if the response does not return the full set of results.

    " + "documentation":"

    To use this API operation, your IAM role must have permissions to perform the ListAggregatedUtterances operation, which provides access to utterance-related analytics. See Viewing utterance statistics for the IAM policy to apply to the IAM role.

    Retrieves a list of metadata for individual user utterances to your bot. The following fields are required:

    • startDateTime and endDateTime – Define a time range for which you want to retrieve results.

    Of the optional fields, you can organize the results in the following ways:

    • Use the filters field to filter the results and the sortBy field to specify the values by which to sort the results.

    • Use the maxResults field to limit the number of results to return in a single response and the nextToken field to return the next batch of results if the response does not return the full set of results.

    " }, "ListUtteranceMetrics":{ "name":"ListUtteranceMetrics", @@ -1335,7 +1335,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

    Retrieves summary metrics for the utterances in your bot. The following fields are required:

    • metrics – A list of AnalyticsUtteranceMetric objects. In each object, use the name field to specify the metric to calculate, the statistic field to specify whether to calculate the Sum, Average, or Max number, and the order field to specify whether to sort the results in Ascending or Descending order.

    • startDateTime and endDateTime – Define a time range for which you want to retrieve results.

    Of the optional fields, you can organize the results in the following ways:

    • Use the filters field to filter the results, the groupBy field to specify categories by which to group the results, and the binBy field to specify time intervals by which to group the results.

    • Use the maxResults field to limit the number of results to return in a single response and the nextToken field to return the next batch of results if the response does not return the full set of results.

    Note that an order field exists in both binBy and metrics. Currently, you can specify it in either field, but not in both.

    " + "documentation":"

    To use this API operation, your IAM role must have permissions to perform the ListAggregatedUtterances operation, which provides access to utterance-related analytics. See Viewing utterance statistics for the IAM policy to apply to the IAM role.

    Retrieves summary metrics for the utterances in your bot. The following fields are required:

    • metrics – A list of AnalyticsUtteranceMetric objects. In each object, use the name field to specify the metric to calculate, the statistic field to specify whether to calculate the Sum, Average, or Max number, and the order field to specify whether to sort the results in Ascending or Descending order.

    • startDateTime and endDateTime – Define a time range for which you want to retrieve results.

    Of the optional fields, you can organize the results in the following ways:

    • Use the filters field to filter the results, the groupBy field to specify categories by which to group the results, and the binBy field to specify time intervals by which to group the results.

    • Use the maxResults field to limit the number of results to return in a single response and the nextToken field to return the next batch of results if the response does not return the full set of results.

    Note that an order field exists in both binBy and metrics. Currently, you can specify it in either field, but not in both.

    " }, "SearchAssociatedTranscripts":{ "name":"SearchAssociatedTranscripts", @@ -1930,6 +1930,11 @@ "min":1 }, "AnalyticsBinValue":{"type":"long"}, + "AnalyticsChannel":{ + "type":"string", + "max":50, + "min":1 + }, "AnalyticsCommonFilterName":{ "type":"string", "enum":[ @@ -2742,7 +2747,7 @@ "members":{ "name":{ "shape":"AnalyticsUtteranceMetricName", - "documentation":"

    The metric that you requested.

    • Count – The number of utterances.

    • Missed – The number of utterances that Amazon Lex failed to recognize.

    • Detected – The number of utterances that Amazon Lex managed to detect.

    • UtteranceTimeStamp – The date and time of the utterance.

    " + "documentation":"

    The metric that you requested.

    • Count – The number of utterances.

    • Missed – The number of utterances that Amazon Lex failed to recognize.

    • Detected – The number of utterances that Amazon Lex managed to detect.

    • UtteranceTimestamp – The date and time of the utterance.

    " }, "statistic":{ "shape":"AnalyticsMetricStatistic", @@ -3229,14 +3234,6 @@ }, "documentation":"

    The target Amazon S3 location for the test set execution using a bot alias.

    " }, - "BotChannelType":{ - "type":"string", - "enum":[ - "Facebook", - "Slack", - "TwilioSms" - ] - }, "BotExportSpecification":{ "type":"structure", "required":[ @@ -10551,7 +10548,7 @@ "documentation":"

    The locale of the bot that the session was held with.

    " }, "channel":{ - "shape":"BotChannelType", + "shape":"AnalyticsChannel", "documentation":"

    The channel that is integrated with the bot that the session was held with.

    " }, "sessionId":{ @@ -13443,7 +13440,7 @@ "members":{ "name":{ "shape":"AnalyticsUtteranceSortByName", - "documentation":"

    The measure by which to sort the utterance analytics data.

    • Count – The number of utterances.

    • UtteranceTimeStamp – The date and time of the utterance.

    " + "documentation":"

    The measure by which to sort the utterance analytics data.

    • Count – The number of utterances.

    • UtteranceTimestamp – The date and time of the utterance.

    " }, "order":{ "shape":"AnalyticsSortOrder", @@ -13523,7 +13520,7 @@ "documentation":"

    The identifier of the session that the utterance was made in.

    " }, "channel":{ - "shape":"BotChannelType", + "shape":"AnalyticsChannel", "documentation":"

    The channel that is integrated with the bot that the utterance was made to.

    " }, "mode":{ diff --git a/tools/code-generation/api-descriptions/route53resolver-2018-04-01.normal.json b/tools/code-generation/api-descriptions/route53resolver-2018-04-01.normal.json index b7e08ea4747..968250b13ae 100644 --- a/tools/code-generation/api-descriptions/route53resolver-2018-04-01.normal.json +++ b/tools/code-generation/api-descriptions/route53resolver-2018-04-01.normal.json @@ -143,6 +143,24 @@ ], "documentation":"

    Creates an empty DNS Firewall rule group for filtering DNS network traffic in a VPC. You can add rules to the new rule group by calling CreateFirewallRule.

    " }, + "CreateOutpostResolver":{ + "name":"CreateOutpostResolver", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateOutpostResolverRequest"}, + "output":{"shape":"CreateOutpostResolverResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Creates an Route 53 Resolver on an Outpost.

    " + }, "CreateResolverEndpoint":{ "name":"CreateResolverEndpoint", "http":{ @@ -253,6 +271,24 @@ ], "documentation":"

    Deletes the specified firewall rule group.

    " }, + "DeleteOutpostResolver":{ + "name":"DeleteOutpostResolver", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteOutpostResolverRequest"}, + "output":{"shape":"DeleteOutpostResolverResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Deletes a Resolver on the Outpost.

    " + }, "DeleteResolverEndpoint":{ "name":"DeleteResolverEndpoint", "http":{ @@ -457,6 +493,23 @@ ], "documentation":"

    Returns the Identity and Access Management (Amazon Web Services IAM) policy for sharing the specified rule group. You can use the policy to share the rule group using Resource Access Manager (RAM).

    " }, + "GetOutpostResolver":{ + "name":"GetOutpostResolver", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOutpostResolverRequest"}, + "output":{"shape":"GetOutpostResolverResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Gets information about a specified Resolver on the Outpost, such as its instance count and type, name, and the current status of the Resolver.

    " + }, "GetResolverConfig":{ "name":"GetResolverConfig", "http":{ @@ -727,6 +780,23 @@ ], "documentation":"

    Retrieves the firewall rules that you have defined for the specified firewall rule group. DNS Firewall uses the rules in a rule group to filter DNS network traffic for a VPC.

    A single call might return only a partial list of the rules. For information, see MaxResults.

    " }, + "ListOutpostResolvers":{ + "name":"ListOutpostResolvers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOutpostResolversRequest"}, + "output":{"shape":"ListOutpostResolversResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Lists all the Resolvers on Outposts that were created using the current Amazon Web Services account.

    " + }, "ListResolverConfigs":{ "name":"ListResolverConfigs", "http":{ @@ -1046,6 +1116,25 @@ ], "documentation":"

    Changes the association of a FirewallRuleGroup with a VPC. The association enables DNS filtering for the VPC.

    " }, + "UpdateOutpostResolver":{ + "name":"UpdateOutpostResolver", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateOutpostResolverRequest"}, + "output":{"shape":"UpdateOutpostResolverResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    You can use UpdateOutpostResolver to update the instance count, type, or name of a Resolver on an Outpost.

    " + }, "UpdateResolverConfig":{ "name":"UpdateResolverConfig", "http":{ @@ -1454,6 +1543,52 @@ } } }, + "CreateOutpostResolverRequest":{ + "type":"structure", + "required":[ + "CreatorRequestId", + "Name", + "PreferredInstanceType", + "OutpostArn" + ], + "members":{ + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "documentation":"

    A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice.

    CreatorRequestId can be any unique string, for example, a date/time stamp.

    " + }, + "Name":{ + "shape":"OutpostResolverName", + "documentation":"

    A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.

    " + }, + "InstanceCount":{ + "shape":"InstanceCount", + "documentation":"

    Number of Amazon EC2 instances for the Resolver on Outpost. The default and minimal value is 4.

    ", + "box":true + }, + "PreferredInstanceType":{ + "shape":"OutpostInstanceType", + "documentation":"

    The Amazon EC2 instance type. If you specify this, you must also specify a value for the OutpostArn.

    " + }, + "OutpostArn":{ + "shape":"OutpostArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Outpost. If you specify this, you must also specify a value for the PreferredInstanceType.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A string that helps identify the Route 53 Resolvers on Outpost.

    ", + "box":true + } + } + }, + "CreateOutpostResolverResponse":{ + "type":"structure", + "members":{ + "OutpostResolver":{ + "shape":"OutpostResolver", + "documentation":"

    Information about the CreateOutpostResolver request, including the status of the request.

    " + } + } + }, "CreateResolverEndpointRequest":{ "type":"structure", "required":[ @@ -1491,7 +1626,17 @@ }, "ResolverEndpointType":{ "shape":"ResolverEndpointType", - "documentation":"

    For the endpoint type you can choose either IPv4, IPv6. or dual-stack. A dual-stack endpoint means that it will resolve via both IPv4 and IPv6. This endpoint type is applied to all IP addresses.

    ", + "documentation":"

    For the endpoint type you can choose either IPv4, IPv6, or dual-stack. A dual-stack endpoint means that it will resolve via both IPv4 and IPv6. This endpoint type is applied to all IP addresses.

    ", + "box":true + }, + "OutpostArn":{ + "shape":"OutpostArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Outpost. If you specify this, you must also specify a value for the PreferredInstanceType.

    ", + "box":true + }, + "PreferredInstanceType":{ + "shape":"OutpostInstanceType", + "documentation":"

    The instance type. If you specify this, you must also specify a value for the OutpostArn.

    ", "box":true } } @@ -1568,7 +1713,7 @@ }, "TargetIps":{ "shape":"TargetList", - "documentation":"

    The IPs that you want Resolver to forward DNS queries to. You can specify only IPv4 addresses. Separate IP addresses with a space.

    TargetIps is available only when the value of Rule type is FORWARD.

    ", + "documentation":"

    The IPs that you want Resolver to forward DNS queries to. You can specify either Ipv4 or Ipv6 addresses but not both in the same rule. Separate IP addresses with a space.

    TargetIps is available only when the value of Rule type is FORWARD.

    ", "box":true }, "ResolverEndpointId":{ @@ -1661,6 +1806,25 @@ } } }, + "DeleteOutpostResolverRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the Resolver on the Outpost.

    " + } + } + }, + "DeleteOutpostResolverResponse":{ + "type":"structure", + "members":{ + "OutpostResolver":{ + "shape":"OutpostResolver", + "documentation":"

    Information about the DeleteOutpostResolver request, including the status of the request.

    " + } + } + }, "DeleteResolverEndpointRequest":{ "type":"structure", "required":["ResolverEndpointId"], @@ -2323,6 +2487,25 @@ } } }, + "GetOutpostResolverRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the Resolver on the Outpost.

    " + } + } + }, + "GetOutpostResolverResponse":{ + "type":"structure", + "members":{ + "OutpostResolver":{ + "shape":"OutpostResolver", + "documentation":"

    Information about the GetOutpostResolver request, including the status of the request.

    " + } + } + }, "GetResolverConfigRequest":{ "type":"structure", "required":["ResourceId"], @@ -2537,6 +2720,7 @@ } } }, + "InstanceCount":{"type":"integer"}, "InternalServiceErrorException":{ "type":"structure", "members":{ @@ -2668,7 +2852,8 @@ "FAILED_RESOURCE_GONE", "DELETING", "DELETE_FAILED_FAS_EXPIRED", - "UPDATING" + "UPDATING", + "UPDATE_FAILED" ] }, "IpAddressUpdate":{ @@ -2942,6 +3127,39 @@ } } }, + "ListOutpostResolversRequest":{ + "type":"structure", + "members":{ + "OutpostArn":{ + "shape":"OutpostArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Outpost.

    ", + "box":true + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of Resolvers on the Outpost that you want to return in the response to a ListOutpostResolver request. If you don't specify a value for MaxResults, the request returns up to 100 Resolvers.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListOutpostResolver request, omit this value.

    ", + "box":true + } + } + }, + "ListOutpostResolversResponse":{ + "type":"structure", + "members":{ + "OutpostResolvers":{ + "shape":"OutpostResolverList", + "documentation":"

    The Resolvers on Outposts that were created by using the current Amazon Web Services account, and that match the specified filters, if any.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If more than MaxResults Resolvers match the specified criteria, you can submit another ListOutpostResolver request to get the next group of results. In the next request, specify the value of NextToken from the previous response.

    " + } + } + }, "ListResolverConfigsMaxResult":{ "type":"integer", "max":100, @@ -3302,6 +3520,92 @@ "pattern":"(?!^[0-9]+$)([a-zA-Z0-9\\-_' ']+)" }, "NextToken":{"type":"string"}, + "OutpostArn":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^arn:aws([a-z-]+)?:outposts:[a-z\\d-]+:\\d{12}:outpost/op-[a-f0-9]{17}$" + }, + "OutpostInstanceType":{ + "type":"string", + "max":255, + "min":1 + }, + "OutpostResolver":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The ARN (Amazon Resource Name) for the Resolver on an Outpost.

    " + }, + "CreationTime":{ + "shape":"Rfc3339TimeString", + "documentation":"

    The date and time that the Outpost Resolver was created, in Unix time format and Coordinated Universal Time (UTC).

    " + }, + "ModificationTime":{ + "shape":"Rfc3339TimeString", + "documentation":"

    The date and time that the Outpost Resolver was modified, in Unix time format and Coordinated Universal Time (UTC).

    " + }, + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "documentation":"

    A unique string that identifies the request that created the Resolver endpoint. The CreatorRequestId allows failed requests to be retried without the risk of running the operation twice.

    " + }, + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the Resolver on Outpost.

    " + }, + "InstanceCount":{ + "shape":"InstanceCount", + "documentation":"

    Amazon EC2 instance count for the Resolver on the Outpost.

    " + }, + "PreferredInstanceType":{ + "shape":"OutpostInstanceType", + "documentation":"

    The Amazon EC2 instance type.

    " + }, + "Name":{ + "shape":"OutpostResolverName", + "documentation":"

    Name of the Resolver.

    " + }, + "Status":{ + "shape":"OutpostResolverStatus", + "documentation":"

    Status of the Resolver.

    " + }, + "StatusMessage":{ + "shape":"OutpostResolverStatusMessage", + "documentation":"

    A detailed description of the Resolver.

    " + }, + "OutpostArn":{ + "shape":"OutpostArn", + "documentation":"

    The ARN (Amazon Resource Name) for the Outpost.

    " + } + }, + "documentation":"

    A complex type that contains settings for an existing Resolver on an Outpost.

    " + }, + "OutpostResolverList":{ + "type":"list", + "member":{"shape":"OutpostResolver"} + }, + "OutpostResolverName":{ + "type":"string", + "max":255, + "min":1 + }, + "OutpostResolverStatus":{ + "type":"string", + "enum":[ + "CREATING", + "OPERATIONAL", + "UPDATING", + "DELETING", + "ACTION_NEEDED", + "FAILED_CREATION", + "FAILED_DELETION" + ] + }, + "OutpostResolverStatusMessage":{ + "type":"string", + "max":4096 + }, "Port":{ "type":"integer", "max":65535, @@ -3347,7 +3651,7 @@ }, "ResolverQueryLogConfigPolicy":{ "shape":"ResolverQueryLogConfigPolicy", - "documentation":"

    An Identity and Access Management policy statement that lists the query logging configurations that you want to share with another Amazon Web Services account and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section of the statement:

    • route53resolver:AssociateResolverQueryLogConfig

    • route53resolver:DisassociateResolverQueryLogConfig

    • route53resolver:ListResolverQueryLogConfigAssociations

    • route53resolver:ListResolverQueryLogConfigs

    In the Resource section of the statement, you specify the ARNs for the query logging configurations that you want to share with the account that you specified in Arn.

    " + "documentation":"

    An Identity and Access Management policy statement that lists the query logging configurations that you want to share with another Amazon Web Services account and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section of the statement:

    • route53resolver:AssociateResolverQueryLogConfig

    • route53resolver:DisassociateResolverQueryLogConfig

    • route53resolver:ListResolverQueryLogConfigs

    In the Resource section of the statement, you specify the ARNs for the query logging configurations that you want to share with the account that you specified in Arn.

    " } } }, @@ -3516,6 +3820,14 @@ "ResolverEndpointType":{ "shape":"ResolverEndpointType", "documentation":"

    The Resolver endpoint IP address type.

    " + }, + "OutpostArn":{ + "shape":"OutpostArn", + "documentation":"

    The ARN (Amazon Resource Name) for the Outpost.

    " + }, + "PreferredInstanceType":{ + "shape":"OutpostInstanceType", + "documentation":"

    The Amazon EC2 instance type.

    " } }, "documentation":"

    In the response to a CreateResolverEndpoint, DeleteResolverEndpoint, GetResolverEndpoint, Updates the name, or ResolverEndpointType for an endpoint, or UpdateResolverEndpoint request, a complex type that contains settings for an existing inbound or outbound Resolver endpoint.

    " @@ -3714,7 +4026,7 @@ }, "TargetIps":{ "shape":"TargetList", - "documentation":"

    An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.

    " + "documentation":"

    An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network.

    " }, "ResolverEndpointId":{ "shape":"ResourceId", @@ -3893,6 +4205,14 @@ "max":512, "min":1 }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    Fulfilling the request would cause one or more quotas to be exceeded.

    ", + "exception":true + }, "ShareStatus":{ "type":"string", "enum":[ @@ -4236,6 +4556,40 @@ "max":50, "min":0 }, + "UpdateOutpostResolverRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies Resolver on an Outpost.

    " + }, + "Name":{ + "shape":"OutpostResolverName", + "documentation":"

    Name of the Resolver on the Outpost.

    ", + "box":true + }, + "InstanceCount":{ + "shape":"InstanceCount", + "documentation":"

    The Amazon EC2 instance count for a Resolver on the Outpost.

    ", + "box":true + }, + "PreferredInstanceType":{ + "shape":"OutpostInstanceType", + "documentation":"

    Amazon EC2 instance type.

    ", + "box":true + } + } + }, + "UpdateOutpostResolverResponse":{ + "type":"structure", + "members":{ + "OutpostResolver":{ + "shape":"OutpostResolver", + "documentation":"

    The response to an UpdateOutpostResolver request.

    " + } + } + }, "UpdateResolverConfigRequest":{ "type":"structure", "required":[ @@ -4303,12 +4657,12 @@ }, "ResolverEndpointType":{ "shape":"ResolverEndpointType", - "documentation":"

    Specifies the endpoint type for what type of IP address the endpoint uses to forward DNS queries.

    ", + "documentation":"

    Specifies the endpoint type for what type of IP address the endpoint uses to forward DNS queries.

    Updating to IPV6 type isn't currently supported.

    ", "box":true }, "UpdateIpAddresses":{ "shape":"UpdateIpAddresses", - "documentation":"

    Updates the Resolver endpoint type to IpV4, Ipv6, or dual-stack.

    ", + "documentation":"

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 to dual-stack. If you don't specify an IPv6 address, one will be automatically chosen from your subnet.

    ", "box":true } } diff --git a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json index 84e51ee060f..91ea56331fa 100644 --- a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json +++ b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json @@ -2780,6 +2780,16 @@ "output":{"shape":"ListProjectsOutput"}, "documentation":"

    Gets a list of the projects in an Amazon Web Services account.

    " }, + "ListResourceCatalogs":{ + "name":"ListResourceCatalogs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceCatalogsRequest"}, + "output":{"shape":"ListResourceCatalogsResponse"}, + "documentation":"

    Lists Amazon SageMaker Catalogs based on given filters and orders. The maximum number of ResourceCatalogs viewable is 1000.

    " + }, "ListSpaces":{ "name":"ListSpaces", "http":{ @@ -3398,7 +3408,7 @@ "errors":[ {"shape":"ResourceNotFound"} ], - "documentation":"

    Updates the feature group.

    " + "documentation":"

    Updates the feature group by either adding features or updating the online store configuration. Use one of the following request parameters at a time while using the UpdateFeatureGroup API.

    You can add features for your feature group using the FeatureAdditions request parameter. Features cannot be removed from a feature group.

    You can update the online store configuration by using the OnlineStoreConfig request parameter. If a TtlDuration is specified, the default TtlDuration applies for all records added to the feature group after the feature group is updated. If a record level TtlDuration exists from using the PutRecord API, the record level TtlDuration applies to that record instead of the default TtlDuration.

    " }, "UpdateFeatureMetadata":{ "name":"UpdateFeatureMetadata", @@ -9570,6 +9580,13 @@ } }, "CreationTime":{"type":"timestamp"}, + "CrossAccountFilterOption":{ + "type":"string", + "enum":[ + "SameAccount", + "CrossAccount" + ] + }, "CsvContentType":{ "type":"string", "max":256, @@ -12127,8 +12144,8 @@ "required":["FeatureGroupName"], "members":{ "FeatureGroupName":{ - "shape":"FeatureGroupName", - "documentation":"

    The name of the FeatureGroup you want described.

    " + "shape":"FeatureGroupNameOrArn", + "documentation":"

    The name or Amazon Resource Name (ARN) of the FeatureGroup you want described.

    " }, "NextToken":{ "shape":"NextToken", @@ -12226,8 +12243,8 @@ ], "members":{ "FeatureGroupName":{ - "shape":"FeatureGroupName", - "documentation":"

    The name of the feature group containing the feature.

    " + "shape":"FeatureGroupNameOrArn", + "documentation":"

    The name or Amazon Resource Name (ARN) of the feature group containing the feature.

    " }, "FeatureName":{ "shape":"FeatureName", @@ -16491,6 +16508,12 @@ "max":64, "min":1 }, + "FeatureGroupNameOrArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:feature-group\\/)?([a-zA-Z0-9]([_-]*[a-zA-Z0-9]){0,63})" + }, "FeatureGroupSortBy":{ "type":"string", "enum":[ @@ -16550,7 +16573,7 @@ "documentation":"

    Notifies you if replicating data into the OfflineStore has failed. Returns either: Active or Blocked.

    " } }, - "documentation":"

    The name, Arn, CreationTime, FeatureGroup values, LastUpdatedTime and EnableOnlineStorage status of a FeatureGroup.

    " + "documentation":"

    The name, ARN, CreationTime, FeatureGroup values, LastUpdatedTime and EnableOnlineStorage status of a FeatureGroup.

    " }, "FeatureMetadata":{ "type":"structure", @@ -22869,6 +22892,52 @@ } } }, + "ListResourceCatalogsRequest":{ + "type":"structure", + "members":{ + "NameContains":{ + "shape":"ResourceCatalogName", + "documentation":"

    A string that partially matches one or more ResourceCatalogs names. Filters ResourceCatalog by name.

    " + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    Use this parameter to search for ResourceCatalogs created after a specific date and time.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    Use this parameter to search for ResourceCatalogs created before a specific date and time.

    " + }, + "SortOrder":{ + "shape":"ResourceCatalogSortOrder", + "documentation":"

    The order in which the resource catalogs are listed.

    " + }, + "SortBy":{ + "shape":"ResourceCatalogSortBy", + "documentation":"

    The value on which the resource catalog list is sorted.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results returned by ListResourceCatalogs.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to resume pagination of ListResourceCatalogs results.

    " + } + } + }, + "ListResourceCatalogsResponse":{ + "type":"structure", + "members":{ + "ResourceCatalogs":{ + "shape":"ResourceCatalogList", + "documentation":"

    A list of the requested ResourceCatalogs.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to resume pagination of ListResourceCatalogs results.

    " + } + } + }, "ListSpacesRequest":{ "type":"structure", "members":{ @@ -29455,6 +29524,63 @@ "max":256, "pattern":"arn:aws[a-z-]*:sagemaker:[a-z0-9-]*:[0-9]{12}:.+" }, + "ResourceCatalog":{ + "type":"structure", + "required":[ + "ResourceCatalogArn", + "ResourceCatalogName", + "Description", + "CreationTime" + ], + "members":{ + "ResourceCatalogArn":{ + "shape":"ResourceCatalogArn", + "documentation":"

    The Amazon Resource Name (ARN) of the ResourceCatalog.

    " + }, + "ResourceCatalogName":{ + "shape":"ResourceCatalogName", + "documentation":"

    The name of the ResourceCatalog.

    " + }, + "Description":{ + "shape":"ResourceCatalogDescription", + "documentation":"

    A free form description of the ResourceCatalog.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The time the ResourceCatalog was created.

    " + } + }, + "documentation":"

    A resource catalog containing all of the resources of a specific resource type within a resource owner account. For an example on sharing the Amazon SageMaker Feature Store DefaultFeatureGroupCatalog, see Share Amazon SageMaker Catalog resource type in the Amazon SageMaker Developer Guide.

    " + }, + "ResourceCatalogArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:sagemaker-catalog/.*" + }, + "ResourceCatalogDescription":{ + "type":"string", + "max":256 + }, + "ResourceCatalogList":{ + "type":"list", + "member":{"shape":"ResourceCatalog"} + }, + "ResourceCatalogName":{ + "type":"string", + "max":64, + "min":1 + }, + "ResourceCatalogSortBy":{ + "type":"string", + "enum":["CreationTime"] + }, + "ResourceCatalogSortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, "ResourceConfig":{ "type":"structure", "required":["VolumeSizeInGB"], @@ -29995,6 +30121,10 @@ "shape":"MaxResults", "documentation":"

    The maximum number of results to return.

    ", "box":true + }, + "CrossAccountFilterOption":{ + "shape":"CrossAccountFilterOption", + "documentation":"

    A cross account filter option. When the value is \"CrossAccount\" the search results will only include resources made discoverable to you from other accounts. When the value is \"SameAccount\" or null the search results will only include resources from your account. Default is null. For more information on searching for resources made discoverable to your account, see Search discoverable resources in the SageMaker Developer Guide. The maximum number of ResourceCatalogs viewable is 1000.

    " } } }, @@ -33278,8 +33408,8 @@ "required":["FeatureGroupName"], "members":{ "FeatureGroupName":{ - "shape":"FeatureGroupName", - "documentation":"

    The name of the feature group that you're updating.

    " + "shape":"FeatureGroupNameOrArn", + "documentation":"

    The name or Amazon Resource Name (ARN) of the feature group that you're updating.

    " }, "FeatureAdditions":{ "shape":"FeatureAdditions", @@ -33309,8 +33439,8 @@ ], "members":{ "FeatureGroupName":{ - "shape":"FeatureGroupName", - "documentation":"

    The name of the feature group containing the feature that you're updating.

    " + "shape":"FeatureGroupNameOrArn", + "documentation":"

    The name or Amazon Resource Name (ARN) of the feature group containing the feature that you're updating.

    " }, "FeatureName":{ "shape":"FeatureName", diff --git a/tools/code-generation/api-descriptions/sagemaker-featurestore-runtime-2020-07-01.normal.json b/tools/code-generation/api-descriptions/sagemaker-featurestore-runtime-2020-07-01.normal.json index 33a14555485..b0fec3b6ce4 100644 --- a/tools/code-generation/api-descriptions/sagemaker-featurestore-runtime-2020-07-01.normal.json +++ b/tools/code-generation/api-descriptions/sagemaker-featurestore-runtime-2020-07-01.normal.json @@ -73,7 +73,7 @@ {"shape":"ServiceUnavailable"}, {"shape":"AccessForbidden"} ], - "documentation":"

    Used for data ingestion into the FeatureStore. The PutRecord API writes to both the OnlineStore and OfflineStore. If the record is the latest record for the recordIdentifier, the record is written to both the OnlineStore and OfflineStore. If the record is a historic record, it is written only to the OfflineStore.

    " + "documentation":"

    The PutRecord API is used to ingest a list of Records into your feature group.

    If a new record’s EventTime is greater, the new record is written to both the OnlineStore and OfflineStore. Otherwise, the record is a historic record and it is written only to the OfflineStore.

    You can specify the ingestion to be applied to the OnlineStore, OfflineStore, or both by using the TargetStores request parameter.

    You can set the ingested record to expire at a given time to live (TTL) duration after the record’s event time, ExpiresAt = EventTime + TtlDuration, by specifying the TtlDuration parameter. A record level TtlDuration is set when specifying the TtlDuration parameter using the PutRecord API call. If the input TtlDuration is null or unspecified, TtlDuration is set to the default feature group level TtlDuration. A record level TtlDuration supersedes the group level TtlDuration.

    " } }, "shapes":{ @@ -128,8 +128,8 @@ ], "members":{ "FeatureGroupName":{ - "shape":"FeatureGroupName", - "documentation":"

    A FeatureGroupName containing Records you are retrieving in a batch.

    " + "shape":"FeatureGroupNameOrArn", + "documentation":"

    The name or Amazon Resource Name (ARN) of the FeatureGroup containing the records you are retrieving in a batch.

    " }, "RecordIdentifiersValueAsString":{ "shape":"RecordIdentifiers", @@ -154,7 +154,7 @@ "members":{ "Identifiers":{ "shape":"BatchGetRecordIdentifiers", - "documentation":"

    A list of FeatureGroup names, with their corresponding RecordIdentifier value, and Feature name that have been requested to be retrieved in batch.

    " + "documentation":"

    A list containing the name or Amazon Resource Name (ARN) of the FeatureGroup, the list of names of Features to be retrieved, and the corresponding RecordIdentifier values as strings.

    " }, "ExpirationTimeResponse":{ "shape":"ExpirationTimeResponse", @@ -209,7 +209,7 @@ "documentation":"

    The ExpiresAt ISO string of the requested record.

    " } }, - "documentation":"

    The output of Records that have been retrieved in a batch.

    " + "documentation":"

    The output of records that have been retrieved in a batch.

    " }, "BatchGetRecordResultDetails":{ "type":"list", @@ -225,8 +225,8 @@ ], "members":{ "FeatureGroupName":{ - "shape":"FeatureGroupName", - "documentation":"

    The name of the feature group to delete the record from.

    ", + "shape":"FeatureGroupNameOrArn", + "documentation":"

    The name or Amazon Resource Name (ARN) of the feature group to delete the record from.

    ", "location":"uri", "locationName":"FeatureGroupName" }, @@ -271,11 +271,11 @@ ] }, "ExpiresAt":{"type":"string"}, - "FeatureGroupName":{ + "FeatureGroupNameOrArn":{ "type":"string", - "max":64, + "max":150, "min":1, - "pattern":"^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}" + "pattern":"(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:feature-group/)?([a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63})" }, "FeatureName":{ "type":"string", @@ -314,8 +314,8 @@ ], "members":{ "FeatureGroupName":{ - "shape":"FeatureGroupName", - "documentation":"

    The name of the feature group from which you want to retrieve a record.

    ", + "shape":"FeatureGroupNameOrArn", + "documentation":"

    The name or Amazon Resource Name (ARN) of the feature group from which you want to retrieve a record.

    ", "location":"uri", "locationName":"FeatureGroupName" }, @@ -333,7 +333,7 @@ }, "ExpirationTimeResponse":{ "shape":"ExpirationTimeResponse", - "documentation":"

    Parameter to request ExpiresAt in response. If Enabled, BatchGetRecord will return the value of ExpiresAt, if it is not null. If Disabled and null, BatchGetRecord will return null.

    ", + "documentation":"

    Parameter to request ExpiresAt in response. If Enabled, GetRecord will return the value of ExpiresAt, if it is not null. If Disabled and null, GetRecord will return null.

    ", "location":"querystring", "locationName":"ExpirationTimeResponse" } @@ -375,8 +375,8 @@ ], "members":{ "FeatureGroupName":{ - "shape":"FeatureGroupName", - "documentation":"

    The name of the feature group that you want to insert the record into.

    ", + "shape":"FeatureGroupNameOrArn", + "documentation":"

    The name or Amazon Resource Name (ARN) of the feature group that you want to insert the record into.

    ", "location":"uri", "locationName":"FeatureGroupName" }, diff --git a/tools/code-generation/api-descriptions/securitylake-2018-05-10.normal.json b/tools/code-generation/api-descriptions/securitylake-2018-05-10.normal.json index 40e2a0c3268..fd01ceeef35 100644 --- a/tools/code-generation/api-descriptions/securitylake-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/securitylake-2018-05-10.normal.json @@ -29,7 +29,7 @@ {"shape":"ConflictException"}, {"shape":"ThrottlingException"} ], - "documentation":"

    Adds a natively supported Amazon Web Service as an Amazon Security Lake source. Enables source types for member accounts in required Amazon Web Services Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. Once you add an Amazon Web Service as a source, Security Lake starts collecting logs and events from it,

    You can use this API only to enable natively supported Amazon Web Services as a source. Use CreateCustomLogSource to enable data collection from a custom source.

    " + "documentation":"

    Adds a natively supported Amazon Web Service as an Amazon Security Lake source. Enables source types for member accounts in required Amazon Web Services Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. Once you add an Amazon Web Service as a source, Security Lake starts collecting logs and events from it.

    You can use this API only to enable natively supported Amazon Web Services as a source. Use CreateCustomLogSource to enable data collection from a custom source.

    " }, "CreateCustomLogSource":{ "name":"CreateCustomLogSource", @@ -68,7 +68,7 @@ {"shape":"ConflictException"}, {"shape":"ThrottlingException"} ], - "documentation":"

    Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Amazon Web Services Regions with customized settings before enabling log collection in Regions. By default, the CreateDataLake Security Lake in all Regions. To specify particular Regions, configure these Regions using the configurations parameter. If you have already enabled Security Lake in a Region when you call this command, the command will update the Region if you provide new configuration parameters. If you have not already enabled Security Lake in the Region when you call this API, it will set up the data lake in the Region with the specified configurations.

    When you enable Security Lake, it starts ingesting security data after the CreateAwsLogSource call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide.

    " + "documentation":"

    Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Amazon Web Services Regions with customized settings before enabling log collection in Regions. To specify particular Regions, configure these Regions using the configurations parameter. If you have already enabled Security Lake in a Region when you call this command, the command will update the Region if you provide new configuration parameters. If you have not already enabled Security Lake in the Region when you call this API, it will set up the data lake in the Region with the specified configurations.

    When you enable Security Lake, it starts ingesting security data after the CreateAwsLogSource call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. For more information, see the Amazon Security Lake User Guide.

    " }, "CreateDataLakeExceptionSubscription":{ "name":"CreateDataLakeExceptionSubscription", @@ -242,7 +242,7 @@ {"shape":"ConflictException"}, {"shape":"ThrottlingException"} ], - "documentation":"

    Removes automatic the enablement of configuration settings for new member accounts (but retains the settings for the delegated administrator) from Amazon Security Lake. You must run this API using the credentials of the delegated administrator. When you run this API, new member accounts that are added after the organization enables Security Lake won't contribute to the data lake.

    " + "documentation":"

    Turns off automatic enablement of Amazon Security Lake for member accounts that are added to an organization in Organizations. Only the delegated Security Lake administrator for an organization can perform this operation. If the delegated Security Lake administrator performs this operation, new member accounts won't automatically contribute data to the data lake.

    " }, "DeleteSubscriber":{ "name":"DeleteSubscriber", @@ -416,7 +416,7 @@ {"shape":"ConflictException"}, {"shape":"ThrottlingException"} ], - "documentation":"

    Retrieves the Amazon Security Lake configuration object for the specified Amazon Web Services account ID. You can use the ListDataLakes API to know whether Security Lake is enabled for any region.

    " + "documentation":"

    Retrieves the Amazon Security Lake configuration object for the specified Amazon Web Services Regions. You can use this operation to determine whether Security Lake is enabled for a Region.

    " }, "ListLogSources":{ "name":"ListLogSources", @@ -456,6 +456,25 @@ ], "documentation":"

    List all subscribers for the specific Amazon Security Lake account ID. You can retrieve a list of subscriptions associated with a specific organization or Amazon Web Services account.

    " }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v1/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Retrieves the tags (keys and values) that are associated with an Amazon Security Lake resource: a subscriber, or the data lake configuration for your Amazon Web Services account in a particular Amazon Web Services Region.

    " + }, "RegisterDataLakeDelegatedAdministrator":{ "name":"RegisterDataLakeDelegatedAdministrator", "http":{ @@ -475,6 +494,46 @@ ], "documentation":"

    Designates the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account.

    " }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v1/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Adds or updates one or more tags that are associated with an Amazon Security Lake resource: a subscriber, or the data lake configuration for your Amazon Web Services account in a particular Amazon Web Services Region. A tag is a label that you can define and associate with Amazon Web Services resources. Each tag consists of a required tag key and an associated tag value. A tag key is a general label that acts as a category for a more specific tag value. A tag value acts as a descriptor for a tag key. Tags can help you identify, categorize, and manage resources in different ways, such as by owner, environment, or other criteria. For more information, see Tagging Amazon Security Lake resources in the Amazon Security Lake User Guide.

    ", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/v1/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Removes one or more tags (keys and values) from an Amazon Security Lake resource: a subscriber, or the data lake configuration for your Amazon Web Services account in a particular Amazon Web Services Region.

    ", + "idempotent":true + }, "UpdateDataLake":{ "name":"UpdateDataLake", "http":{ @@ -829,6 +888,10 @@ "metaStoreManagerRoleArn":{ "shape":"RoleArn", "documentation":"

    The Amazon Resource Name (ARN) used to create and update the Glue table. This table contains partitions generated by the ingestion and normalization of Amazon Web Services log sources and custom sources.

    " + }, + "tags":{ + "shape":"TagList", + "documentation":"

    An array of objects, one for each tag to associate with the data lake configuration. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.

    " } } }, @@ -896,6 +959,10 @@ "subscriberName":{ "shape":"CreateSubscriberRequestSubscriberNameString", "documentation":"

    The name of your Security Lake subscriber account.

    " + }, + "tags":{ + "shape":"TagList", + "documentation":"

    An array of objects, one for each tag to associate with the subscriber. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.

    " } } }, @@ -1087,7 +1154,7 @@ "documentation":"

    This error can occur if you configure the wrong timestamp format, or if the subset of entries used for validation had errors or missing values.

    " } }, - "documentation":"

    The details for a Security Lake exception

    " + "documentation":"

    The details for an Amazon Security Lake exception.

    " }, "DataLakeExceptionList":{ "type":"list", @@ -1349,7 +1416,7 @@ "members":{ "autoEnableNewAccount":{ "shape":"DataLakeAutoEnableNewAccountConfigurationList", - "documentation":"

    Removes the automatic enablement of configuration settings for new member accounts in Security Lake.

    " + "documentation":"

    Turns off automatic enablement of Security Lake for member accounts that are added to an organization.

    " } } }, @@ -1550,7 +1617,7 @@ }, "targetRoleArn":{ "shape":"RoleArn", - "documentation":"

    The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created. For more information about ARNs and how to use them in policies, see Managing data access and Amazon Web Services Managed Policies in the Amazon Security Lake User Guide.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created. For more information about ARNs and how to use them in policies, see Managing data access and Amazon Web Services Managed Policies in the Amazon Security Lake User Guide.

    " } }, "documentation":"

    The configurations for HTTPS subscriber notification.

    " @@ -1692,6 +1759,27 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to retrieve the tags for.

    ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

    An array of objects, one for each tag (key and value) that’s associated with the Amazon Security Lake resource.

    " + } + } + }, "LogSource":{ "type":"structure", "members":{ @@ -1719,14 +1807,14 @@ "members":{ "awsLogSource":{ "shape":"AwsLogSourceResource", - "documentation":"

    Amazon Security Lake supports log and event collection for natively supported Amazon Web Services.

    " + "documentation":"

    Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. For more information, see the Amazon Security Lake User Guide.

    " }, "customLogSource":{ "shape":"CustomLogSourceResource", - "documentation":"

    Amazon Security Lake supports custom source types. For a detailed list, see the Amazon Security Lake User Guide.

    " + "documentation":"

    Amazon Security Lake supports custom source types. For more information, see the Amazon Security Lake User Guide.

    " } }, - "documentation":"

    The supported source types from which logs and events are collected in Amazon Security Lake. For the list of supported Amazon Web Services, see the Amazon Security Lake User Guide.

    ", + "documentation":"

    The supported source types from which logs and events are collected in Amazon Security Lake. For a list of supported Amazon Web Services, see the Amazon Security Lake User Guide.

    ", "union":true }, "LogSourceResourceList":{ @@ -1885,7 +1973,7 @@ }, "sources":{ "shape":"LogSourceResourceList", - "documentation":"

    Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. For more information, see the Amazon Security Lake User Guide.

    " + "documentation":"

    Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. For more information, see the Amazon Security Lake User Guide.

    " }, "subscriberArn":{ "shape":"AmazonResourceName", @@ -1943,6 +2031,70 @@ "type":"timestamp", "timestampFormat":"iso8601" }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

    The name of the tag. This is a general label that acts as a category for a more specific tag value (value).

    " + }, + "value":{ + "shape":"TagValue", + "documentation":"

    The value that’s associated with the specified tag key (key). This value acts as a descriptor for the tag key. A tag value cannot be null, but it can be an empty string.

    " + } + }, + "documentation":"

    A tag is a label that you can define and associate with Amazon Web Services resources, including certain types of Amazon Security Lake resources. Tags can help you identify, categorize, and manage resources in different ways, such as by owner, environment, or other criteria. You can associate tags with the following types of Security Lake resources: subscribers, and the data lake configuration for your Amazon Web Services account in individual Amazon Web Services Regions.

    A resource can have up to 50 tags. Each tag consists of a required tag key and an associated tag value. A tag key is a general label that acts as a category for a more specific tag value. Each tag key must be unique and it can have only one tag value. A tag value acts as a descriptor for a tag key. Tag keys and values are case sensitive. They can contain letters, numbers, spaces, or the following symbols: _ . : / = + @ -

    For more information, see Tagging Amazon Security Lake resources in the Amazon Security Lake User Guide.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to add or update the tags for.

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagList", + "documentation":"

    An array of objects, one for each tag (key and value) to associate with the Amazon Security Lake resource. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "ThrottlingException":{ "type":"structure", "members":{ @@ -1974,6 +2126,32 @@ "type":"string", "pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon Security Lake resource to remove one or more tags from.

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

    A list of one or more tag keys. For each value in the list, specify the tag key for a tag to remove from the Amazon Security Lake resource.

    ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateDataLakeExceptionSubscriptionRequest":{ "type":"structure", "required":[ diff --git a/tools/code-generation/api-descriptions/transcribe-2017-10-26.normal.json b/tools/code-generation/api-descriptions/transcribe-2017-10-26.normal.json index 407ed7b677a..fc359c2c7ab 100644 --- a/tools/code-generation/api-descriptions/transcribe-2017-10-26.normal.json +++ b/tools/code-generation/api-descriptions/transcribe-2017-10-26.normal.json @@ -2696,6 +2696,10 @@ "LanguageIdSettings":{ "shape":"LanguageIdSettingsMap", "documentation":"

    If using automatic language identification in your request and you want to apply a custom language model, a custom vocabulary, or a custom vocabulary filter, include LanguageIdSettings with the relevant sub-parameters (VocabularyName, LanguageModelName, and VocabularyFilterName). Note that multi-language identification (IdentifyMultipleLanguages) doesn't support custom language models.

    LanguageIdSettings supports two to five language codes. Each language code you include can have an associated custom language model, custom vocabulary, and custom vocabulary filter. The language codes that you specify must match the languages of the associated custom language models, custom vocabularies, and custom vocabulary filters.

    It's recommended that you include LanguageOptions when using LanguageIdSettings to ensure that the correct language dialect is identified. For example, if you specify a custom vocabulary that is in en-US but Amazon Transcribe determines that the language spoken in your media is en-AU, your custom vocabulary is not applied to your transcription. If you include LanguageOptions and include en-US as the only English language dialect, your custom vocabulary is applied to your transcription.

    If you want to include a custom language model with your request but do not want to use automatic language identification, use instead the parameter with the LanguageModelName sub-parameter. If you want to include a custom vocabulary or a custom vocabulary filter (or both) with your request but do not want to use automatic language identification, use instead the parameter with the VocabularyName or VocabularyFilterName (or both) sub-parameter.

    " + }, + "ToxicityDetection":{ + "shape":"ToxicityDetection", + "documentation":"

    Enables toxic speech detection in your transcript. If you include ToxicityDetection in your request, you must also include ToxicityCategories.

    For information on the types of toxic speech Amazon Transcribe can detect, see Detecting toxic speech.

    " } } }, @@ -2833,6 +2837,33 @@ "max":14400000, "min":0 }, + "ToxicityCategories":{ + "type":"list", + "member":{"shape":"ToxicityCategory"}, + "max":1, + "min":1 + }, + "ToxicityCategory":{ + "type":"string", + "enum":["ALL"] + }, + "ToxicityDetection":{ + "type":"list", + "member":{"shape":"ToxicityDetectionSettings"}, + "max":1, + "min":1 + }, + "ToxicityDetectionSettings":{ + "type":"structure", + "required":["ToxicityCategories"], + "members":{ + "ToxicityCategories":{ + "shape":"ToxicityCategories", + "documentation":"

    If you include ToxicityDetection in your transcription request, you must also include ToxicityCategories. The only accepted value for this parameter is ALL.

    " + } + }, + "documentation":"

    Contains ToxicityCategories, which is a required parameter if you want to enable toxicity detection (ToxicityDetection) in your transcription request.

    " + }, "TranscribeArn":{ "type":"string", "max":1011, @@ -2985,6 +3016,10 @@ "LanguageIdSettings":{ "shape":"LanguageIdSettingsMap", "documentation":"

    Provides the name and language of all custom language models, custom vocabularies, and custom vocabulary filters that you included in your request.

    " + }, + "ToxicityDetection":{ + "shape":"ToxicityDetection", + "documentation":"

    Provides information about the toxicity detection settings applied to your transcription.

    " } }, "documentation":"

    Provides detailed information about a transcription job.

    To view the status of the specified transcription job, check the TranscriptionJobStatus field. If the status is COMPLETED, the job is finished and you can find the results at the location specified in TranscriptFileUri. If the status is FAILED, FailureReason provides details on why your transcription job failed.

    If you enabled content redaction, the redacted transcript can be found at the location specified in RedactedTranscriptFileUri.

    " @@ -3063,6 +3098,10 @@ "LanguageCodes":{ "shape":"LanguageCodeList", "documentation":"

    The language codes used to create your transcription job. This parameter is used with multi-language identification. For single-language identification, the singular version of this parameter, LanguageCode, is present.

    " + }, + "ToxicityDetection":{ + "shape":"ToxicityDetection", + "documentation":"

    Indicates whether toxicity detection was enabled for the specified transcription job.

    " } }, "documentation":"

    Provides detailed information about a specific transcription job.

    " diff --git a/tools/code-generation/endpoints/route53resolver-2018-04-01.endpoint-rule-set.json b/tools/code-generation/endpoints/route53resolver-2018-04-01.endpoint-rule-set.json index 500b0fc14fc..55379714836 100644 --- a/tools/code-generation/endpoints/route53resolver-2018-04-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/route53resolver-2018-04-01.endpoint-rule-set.json @@ -242,44 +242,6 @@ "conditions": [], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://route53resolver.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://route53resolver.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { diff --git a/tools/code-generation/endpoints/route53resolver-2018-04-01.endpoint-tests.json b/tools/code-generation/endpoints/route53resolver-2018-04-01.endpoint-tests.json index d8c59410ea6..4b0253c80e8 100644 --- a/tools/code-generation/endpoints/route53resolver-2018-04-01.endpoint-tests.json +++ b/tools/code-generation/endpoints/route53resolver-2018-04-01.endpoint-tests.json @@ -403,19 +403,6 @@ "UseDualStack": false } }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://route53resolver.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, { "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { @@ -430,29 +417,29 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://route53resolver.us-gov-west-1.amazonaws.com" + "url": "https://route53resolver-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-gov-west-1", + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://route53resolver-fips.us-gov-east-1.api.aws" + "url": "https://route53resolver-fips.us-gov-east-1.amazonaws.com" } }, "params": { "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { diff --git a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json index c624befb251..29eb0d2ba21 100644 --- a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json @@ -34,7 +34,8 @@ }, "ForcePathStyle": { "builtIn": "AWS::S3::ForcePathStyle", - "required": false, + "required": true, + "default": false, "documentation": "When true, force a path-style endpoint to be used where the bucket name is part of the path.", "type": "Boolean" }, @@ -78,100 +79,357 @@ }, "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Accelerate cannot be used with FIPS", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "error": "Cannot set dual-stack in combination with a custom endpoint.", + "type": "error" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "A custom endpoint cannot be combined with FIPS", + "type": "error" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + } + ], + "error": "A custom endpoint cannot be combined with S3 Accelerate", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "partitionResult" + }, + "name" + ] + }, + "aws-cn" + ] + } + ], + "error": "Partition does not support FIPS", + "type": "error" + }, { "conditions": [ { "fn": "isSet", + "argv": [ + { + "ref": "Bucket" + } + ] + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 49, + 50, + true + ], + "assign": "hardwareType" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 8, + 12, + true + ], + "assign": "regionPrefix" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 0, + 7, + true + ], + "assign": "bucketAliasSuffix" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 32, + 49, + true + ], + "assign": "outpostId" + }, + { + "fn": "aws.partition", "argv": [ { "ref": "Region" } + ], + "assign": "regionPartition" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "bucketAliasSuffix" + }, + "--op-s3" ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "outpostId" + }, + false + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "stringEquals", "argv": [ { - "ref": "Bucket" - } + "ref": "hardwareType" + }, + "e" ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "substring", - "argv": [ + "conditions": [ { - "ref": "Bucket" - }, - 49, - 50, - true + "fn": "stringEquals", + "argv": [ + { + "ref": "regionPrefix" + }, + "beta" + ] + } ], - "assign": "hardwareType" - }, - { - "fn": "substring", - "argv": [ + "type": "tree", + "rules": [ { - "ref": "Bucket" + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + } + ], + "error": "Expected a endpoint to be specified but no endpoint was found", + "type": "error" }, - 8, - 12, - true - ], - "assign": "regionPrefix" - }, - { - "fn": "substring", - "argv": [ { - "ref": "Bucket" - }, - 0, - 7, - true - ], - "assign": "abbaSuffix" + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "endpoint": { + "url": "https://{Bucket}.ec2.{url#authority}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] }, { - "fn": "substring", - "argv": [ - { - "ref": "Bucket" + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{Region}" + } + ] }, - 32, - 49, - true - ], - "assign": "outpostId" - }, - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "regionPartition" - }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ { "fn": "stringEquals", "argv": [ { - "ref": "abbaSuffix" + "ref": "hardwareType" }, - "--op-s3" + "o" ] } ], @@ -180,11234 +438,2748 @@ { "conditions": [ { - "fn": "isValidHostLabel", + "fn": "stringEquals", "argv": [ { - "ref": "outpostId" + "ref": "regionPrefix" }, - false + "beta" ] } ], "type": "tree", "rules": [ { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "not", + "argv": [ { - "fn": "stringEquals", + "fn": "isSet", "argv": [ { - "ref": "hardwareType" - }, - "e" + "ref": "Endpoint" + } ] } - ], - "type": "tree", - "rules": [ + ] + } + ], + "error": "Expected a endpoint to be specified but no endpoint was found", + "type": "error" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "regionPrefix" - }, - "beta" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - } - ], - "error": "Expected a endpoint to be specified but no endpoint was found", - "type": "error" - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "endpoint": { - "url": "https://{Bucket}.ec2.{url#authority}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-outposts", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-outposts", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Endpoint" } ] }, { - "conditions": [ + "fn": "parseURL", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "hardwareType" - }, - "o" - ] + "ref": "Endpoint" } ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "regionPrefix" - }, - "beta" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - } - ], - "error": "Expected a endpoint to be specified but no endpoint was found", - "type": "error" - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "endpoint": { - "url": "https://{Bucket}.op-{outpostId}.{url#authority}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-outposts", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, + "assign": "url" + } + ], + "endpoint": { + "url": "https://{Bucket}.op-{outpostId}.{url#authority}", + "properties": { + "authSchemes": [ { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-outposts", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{Region}" } ] }, - { - "conditions": [], - "error": "Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"", - "type": "error" - } - ] + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "error": "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.", - "type": "error" + "endpoint": { + "url": "https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [ + "conditions": [], + "error": "Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Bucket" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "not", + "argv": [ { "fn": "isSet", "argv": [ { - "ref": "Bucket" + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ] } ] } + ] + } + ], + "error": "Custom endpoint `{Endpoint}` was not a valid URI", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "ForcePathStyle" + }, + false + ] + }, + { + "fn": "aws.isVirtualHostableS3Bucket", + "argv": [ + { + "ref": "Bucket" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "isValidHostLabel", "argv": [ { - "ref": "Endpoint" - } + "ref": "Region" + }, + false ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "not", - "argv": [ + "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "stringEquals", "argv": [ { - "fn": "parseURL", + "fn": "getAttr", "argv": [ { - "ref": "Endpoint" - } + "ref": "partitionResult" + }, + "name" ] - } + }, + "aws-cn" ] } - ] - } - ], - "error": "Custom endpoint `{Endpoint}` was not a valid URI", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ + ], + "error": "S3 Accelerate cannot be used in this region", + "type": "error" + }, { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "ForcePathStyle" - } + "ref": "UseDualStack" + }, + true ] }, { "fn": "booleanEquals", "argv": [ { - "ref": "ForcePathStyle" + "ref": "UseFIPS" }, true ] - } - ], - "type": "tree", - "rules": [ + }, { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "aws.parseArn", - "argv": [ - { - "ref": "Bucket" - } - ] + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" } - ], - "error": "Path-style addressing cannot be used with ARN buckets", - "type": "error" + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ { - "conditions": [ + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "uriEncode", - "argv": [ - { - "ref": "Bucket" - } - ], - "assign": "uri_encoded_bucket" + "ref": "Endpoint" } - ], - "type": "tree", - "rules": [ + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "error": "Cannot set dual-stack in combination with a custom endpoint.", - "type": "error" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Path-style addressing cannot be used with S3 Accelerate", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "aws.isVirtualHostableS3Bucket", - "argv": [ - { - "ref": "Bucket" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "Region" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "partitionResult" - }, - "name" - ] - }, - "aws-cn" - ] - } - ], - "error": "Partition does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Accelerate cannot be used with FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "partitionResult" - }, - "name" - ] - }, - "aws-cn" - ] - } - ], - "error": "S3 Accelerate cannot be used in this region", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - } - ], - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid region: region was not a valid DNS name.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "scheme" - ] - }, - "http" - ] - }, - { - "fn": "aws.isVirtualHostableS3Bucket", - "argv": [ - { - "ref": "Bucket" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "Region" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "Invalid region: region was not a valid DNS name.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "aws.parseArn", - "argv": [ - { - "ref": "Bucket" - } - ], - "assign": "bucketArn" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[0]" - ], - "assign": "arnType" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "service" - ] - }, - "s3-object-lambda" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "accesspoint" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[1]" - ], - "assign": "accessPointName" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "accessPointName" - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "S3 Object Lambda does not support Dual-stack", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - } - ], - "error": "S3 Object Lambda does not support S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "DisableAccessPoints" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "DisableAccessPoints" - }, - true - ] - } - ], - "error": "Access points are not supported for this operation", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[2]" - ] - } - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "UseArnRegion" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseArnRegion" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "{Region}" - ] - } - ] - } - ], - "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - } - ], - "assign": "bucketPartition" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketPartition" - }, - "name" - ] - }, - { - "fn": "getAttr", - "argv": [ - { - "ref": "partitionResult" - }, - "name" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "accountId" - ] - }, - "" - ] - } - ], - "error": "Invalid ARN: Missing account id", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "accountId" - ] - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "accessPointName" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketPartition" - }, - "name" - ] - }, - "aws-cn" - ] - } - ], - "error": "Partition does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "endpoint": { - "url": "{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-object-lambda", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-object-lambda", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-object-lambda", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", - "type": "error" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Could not load partition for ARN region `{bucketArn#region}`", - "type": "error" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.", - "type": "error" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: bucket ARN is missing a region", - "type": "error" - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "accesspoint" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[1]" - ], - "assign": "accessPointName" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "accessPointName" - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "accesspoint" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "DisableAccessPoints" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "DisableAccessPoints" - }, - true - ] - } - ], - "error": "Access points are not supported for this operation", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[2]" - ] - } - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "UseArnRegion" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseArnRegion" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "{Region}" - ] - } - ] - } - ], - "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - } - ], - "assign": "bucketPartition" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketPartition" - }, - "name" - ] - }, - "{partitionResult#name}" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "service" - ] - }, - "s3" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "accountId" - ] - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "accessPointName" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - } - ], - "error": "Access Points do not support S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketPartition" - }, - "name" - ] - }, - "aws-cn" - ] - } - ], - "error": "Partition does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "error": "DualStack cannot be combined with a Host override (PrivateLink)", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "endpoint": { - "url": "{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Could not load partition for ARN region `{bucketArn#region}`", - "type": "error" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.", - "type": "error" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: bucket ARN is missing a region", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "accessPointName" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "S3 MRAP does not support dual-stack", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "S3 MRAP does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - } - ], - "error": "S3 MRAP does not support S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "DisableMultiRegionAccessPoints" - }, - true - ] - } - ], - "error": "Invalid configuration: Multi-Region Access Point ARNs are disabled.", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "mrapPartition" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "mrapPartition" - }, - "name" - ] - }, - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "partition" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4a", - "signingName": "s3", - "signingRegionSet": [ - "*" - ] - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "{Region} was not a valid region", - "type": "error" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid Access Point Name", - "type": "error" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "service" - ] - }, - "s3-outposts" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "S3 Outposts does not support Dual-stack", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "S3 Outposts does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - } - ], - "error": "S3 Outposts does not support S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[4]" - ] - } - ] - } - ], - "error": "Invalid Arn: Outpost Access Point ARN contains sub resources", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[1]" - ], - "assign": "outpostId" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "outpostId" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "UseArnRegion" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseArnRegion" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "{Region}" - ] - } - ] - } - ], - "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - } - ], - "assign": "bucketPartition" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketPartition" - }, - "name" - ] - }, - { - "fn": "getAttr", - "argv": [ - { - "ref": "partitionResult" - }, - "name" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "accountId" - ] - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[2]" - ], - "assign": "outpostType" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[3]" - ], - "assign": "accessPointName" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "outpostType" - }, - "accesspoint" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-outposts", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-outposts", - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Expected an outpost type `accesspoint`, found {outpostType}", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: expected an access point name", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Expected a 4-component resource", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Could not load partition for ARN region {bucketArn#region}", - "type": "error" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The Outpost Id was not set", - "type": "error" - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: No ARN type specified", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "substring", - "argv": [ - { - "ref": "Bucket" - }, - 0, - 4, - false - ], - "assign": "arnPrefix" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnPrefix" - }, - "arn:" - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "fn": "aws.parseArn", - "argv": [ - { - "ref": "Bucket" - } - ] - } - ] - } - ] - } - ], - "error": "Invalid ARN: `{Bucket}` was not a valid ARN", - "type": "error" - }, - { - "conditions": [ - { - "fn": "uriEncode", - "argv": [ - { - "ref": "Bucket" - } - ], - "assign": "uri_encoded_bucket" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "error": "Cannot set dual-stack in combination with a custom endpoint.", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Path-style addressing cannot be used with S3 Accelerate", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "UseObjectLambdaEndpoint" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseObjectLambdaEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "Region" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "S3 Object Lambda does not support Dual-stack", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - } - ], - "error": "S3 Object Lambda does not support S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "partitionResult" - }, - "name" - ] - }, - "aws-cn" - ] - } - ], - "error": "Partition does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-object-lambda", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "endpoint": { - "url": "https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-object-lambda", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3-object-lambda", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid region: region was not a valid DNS name.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Bucket" - } - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "Region" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "partitionResult" - }, - "name" - ] - }, - "aws-cn" - ] - } - ], - "error": "Partition does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Invalid region: region was not a valid DNS name.", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "scheme" + ] + }, + "http" + ] + }, + { + "fn": "aws.isVirtualHostableS3Bucket", + "argv": [ + { + "ref": "Bucket" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "ForcePathStyle" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "Region" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Invalid region: region was not a valid DNS name.", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "ForcePathStyle" + }, + false + ] + }, + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "Bucket" + } + ], + "assign": "bucketArn" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[0]" + ], + "assign": "arnType" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "service" + ] + }, + "s3-object-lambda" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "accesspoint" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[1]" + ], + "assign": "accessPointName" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "accessPointName" }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "S3 Object Lambda does not support Dual-stack", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" }, + true + ] + } + ], + "error": "S3 Object Lambda does not support S3 Accelerate", + "type": "error" + }, + { + "conditions": [ + { + "fn": "not", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "bucketArn" }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } + "region" ] }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "ref": "DisableAccessPoints" } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, + "fn": "booleanEquals", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] + "ref": "DisableAccessPoints" }, + true + ] + } + ], + "error": "Access points are not supported for this operation", + "type": "error" + }, + { + "conditions": [ + { + "fn": "not", + "argv": [ { - "fn": "not", + "fn": "isSet", "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "bucketArn" }, - "aws-global" + "resourceId[2]" ] } ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseFIPS" - }, - false + "ref": "UseArnRegion" + } ] }, { "fn": "booleanEquals", "argv": [ { - "ref": "UseDualStack" + "ref": "UseArnRegion" }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } + false ] }, { @@ -11417,224 +3189,454 @@ "fn": "stringEquals", "argv": [ { - "ref": "Region" + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] }, - "aws-global" + "{Region}" ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] + } + ], + "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", + "type": "error" }, { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ { - "ref": "UseFIPS" - }, - false - ] - }, + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + } + ], + "assign": "bucketPartition" + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ { - "ref": "UseDualStack" + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketPartition" + }, + "name" + ] + }, + { + "fn": "getAttr", + "argv": [ + { + "ref": "partitionResult" + }, + "name" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "accountId" + ] + }, + "" + ] + } + ], + "error": "Invalid ARN: Missing account id", + "type": "error" + }, + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "accountId" + ] + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "accessPointName" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "endpoint": { + "url": "{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-object-lambda", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-object-lambda", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-object-lambda", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", + "type": "error" + } + ] }, - false - ] - }, - { - "fn": "isSet", - "argv": [ { - "ref": "Endpoint" + "conditions": [], + "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", + "type": "error" } ] - }, + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: bucket ARN is missing a region", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "accesspoint" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[1]" + ], + "assign": "accessPointName" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "accessPointName" + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" + "ref": "bucketArn" }, + "region" + ] + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "accesspoint" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ { "fn": "stringEquals", "argv": [ { - "ref": "Region" + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] }, - "aws-global" + "" ] } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, { "fn": "isSet", "argv": [ { - "ref": "Endpoint" + "ref": "DisableAccessPoints" } ] }, { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" + "ref": "DisableAccessPoints" }, - "aws-global" + true ] } ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "error": "Access points are not supported for this operation", + "type": "error" }, { "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, { "fn": "not", "argv": [ { - "fn": "stringEquals", + "fn": "isSet", "argv": [ { - "ref": "Region" - }, - "aws-global" + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[2]" + ] + } ] } ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] } ], "type": "tree", @@ -11642,301 +3644,819 @@ { "conditions": [ { - "fn": "stringEquals", + "fn": "isSet", "argv": [ { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" + "ref": "UseArnRegion" } ] }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ + { + "fn": "booleanEquals", + "argv": [ { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } + "ref": "UseArnRegion" + }, + false ] }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ { - "ref": "Endpoint" + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + "{Region}" + ] + } + ] } - ] + ], + "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", + "type": "error" }, { - "fn": "parseURL", - "argv": [ + "conditions": [ { - "ref": "Endpoint" + "fn": "aws.partition", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + } + ], + "assign": "bucketPartition" } ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ + "type": "tree", + "rules": [ { - "fn": "stringEquals", - "argv": [ + "conditions": [ { - "ref": "Region" + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketPartition" + }, + "name" + ] + }, + "{partitionResult#name}" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "service" + ] + }, + "s3" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "accountId" + ] + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "accessPointName" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + } + ], + "error": "Access Points do not support S3 Accelerate", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "endpoint": { + "url": "{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", + "type": "error" + } + ] }, - "aws-global" + { + "conditions": [], + "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", + "type": "error" + } ] } ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, + "conditions": [], + "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.", + "type": "error" + } + ] + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "accessPointName" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "S3 MRAP does not support dual-stack", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "S3 MRAP does not support FIPS", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + } + ], + "error": "S3 MRAP does not support S3 Accelerate", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "DisableMultiRegionAccessPoints" + }, + true + ] + } + ], + "error": "Invalid configuration: Multi-Region Access Point ARNs are disabled.", + "type": "error" + }, + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "mrapPartition" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "mrapPartition" }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } + "name" ] }, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "bucketArn" }, - "aws-global" + "partition" ] } - ], + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}", + "url": "https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}", "properties": { "authSchemes": [ { "disableDoubleEncoding": true, - "name": "sigv4", + "name": "sigv4a", "signingName": "s3", - "signingRegion": "us-east-1" + "signingRegionSet": [ + "*" + ] } ] }, "headers": {} }, "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Access Point Name", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "service" + ] + }, + "s3-outposts" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "S3 Outposts does not support Dual-stack", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "S3 Outposts does not support FIPS", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + } + ], + "error": "S3 Outposts does not support S3 Accelerate", + "type": "error" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[4]" + ] + } + ] + } + ], + "error": "Invalid Arn: Outpost Access Point ARN contains sub resources", + "type": "error" + }, + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[1]" + ], + "assign": "outpostId" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "outpostId" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "UseArnRegion" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseArnRegion" }, + false + ] + }, + { + "fn": "not", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "bucketArn" }, - false + "region" ] }, + "{Region}" + ] + } + ] + } + ], + "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", + "type": "error" + }, + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "fn": "getAttr", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] + "ref": "bucketArn" }, + "region" + ] + } + ], + "assign": "bucketPartition" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "ref": "Region" } ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", + "fn": "stringEquals", "argv": [ { - "fn": "isSet", + "fn": "getAttr", "argv": [ { - "ref": "Endpoint" - } + "ref": "bucketPartition" + }, + "name" ] - } - ] - }, - { - "fn": "not", - "argv": [ + }, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "partitionResult" }, - "aws-global" + "name" ] } ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] } ], "type": "tree", @@ -11944,123 +4464,182 @@ { "conditions": [ { - "fn": "stringEquals", + "fn": "isValidHostLabel", "argv": [ { - "ref": "Region" + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "accountId" + ] + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[2]" + ], + "assign": "outpostType" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[3]" + ], + "assign": "accessPointName" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "outpostType" + }, + "accesspoint" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Expected an outpost type `accesspoint`, found {outpostType}", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: expected an access point name", + "type": "error" + } + ] }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" + "conditions": [], + "error": "Invalid ARN: Expected a 4-component resource", + "type": "error" } ] }, - "headers": {} - }, - "type": "endpoint" + { + "conditions": [], + "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", + "type": "error" + } + ] }, { "conditions": [], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", + "type": "error" } ] }, { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "disableDoubleEncoding": true, - "name": "sigv4", - "signingName": "s3", - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "conditions": [], + "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", + "type": "error" } ] } @@ -12069,31 +4648,2638 @@ ] }, { - "conditions": [], - "error": "Invalid region: region was not a valid DNS name.", - "type": "error" + "conditions": [], + "error": "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The Outpost Id was not set", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: No ARN type specified", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 0, + 4, + false + ], + "assign": "arnPrefix" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnPrefix" + }, + "arn:" + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "Bucket" + } + ] + } + ] + } + ] + } + ], + "error": "Invalid ARN: `{Bucket}` was not a valid ARN", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "ForcePathStyle" + }, + true + ] + }, + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "Bucket" + } + ] + } + ], + "error": "Path-style addressing cannot be used with ARN buckets", + "type": "error" + }, + { + "conditions": [ + { + "fn": "uriEncode", + "argv": [ + { + "ref": "Bucket" + } + ], + "assign": "uri_encoded_bucket" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Path-style addressing cannot be used with S3 Accelerate", + "type": "error" + } + ] + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "UseObjectLambdaEndpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseObjectLambdaEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "Region" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "S3 Object Lambda does not support Dual-stack", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + } + ], + "error": "S3 Object Lambda does not support S3 Accelerate", + "type": "error" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-object-lambda", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-object-lambda", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-object-lambda", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Invalid region: region was not a valid DNS name.", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Bucket" + } + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "Region" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] } ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://s3.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid region: region was not a valid DNS name.", + "type": "error" } ] } ] - }, - { - "conditions": [], - "error": "A region must be set when sending requests to S3.", - "type": "error" } ] + }, + { + "conditions": [], + "error": "A region must be set when sending requests to S3.", + "type": "error" } ] } \ No newline at end of file diff --git a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json index f1dc6f77dcc..cad90f95e8f 100644 --- a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json +++ b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json @@ -281,7 +281,7 @@ { "documentation": "SDK::Host + access point + Dualstack is an error", "expect": { - "error": "DualStack cannot be combined with a Host override (PrivateLink)" + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "operationInputs": [ { @@ -2629,21 +2629,9 @@ } }, { - "documentation": "non-bucket endpoint with FIPS: TODO(descriptive)", + "documentation": "non-bucket endpoint override with FIPS = error", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-west-2", - "disableDoubleEncoding": true - } - ] - }, - "url": "http://beta.example.com:1234/path" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "us-west-2", @@ -2653,21 +2641,9 @@ } }, { - "documentation": "FIPS + dualstack + custom endpoint TODO(descriptive)", + "documentation": "FIPS + dualstack + custom endpoint", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-west-2", - "disableDoubleEncoding": true - } - ] - }, - "url": "http://beta.example.com:1234/path" - } + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "params": { "Region": "us-west-2", @@ -2677,21 +2653,9 @@ } }, { - "documentation": "dualstack + custom endpoint TODO(descriptive)", + "documentation": "dualstack + custom endpoint", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "signingRegion": "us-west-2", - "disableDoubleEncoding": true - } - ] - }, - "url": "http://beta.example.com:1234/path" - } + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "params": { "Region": "us-west-2", @@ -2956,19 +2920,7 @@ { "documentation": "endpoint override + FIPS + dualstack (BUG)", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "url": "http://foo.com/bucket%21" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "us-east-1", @@ -2982,19 +2934,7 @@ { "documentation": "endpoint override + non-dns bucket + FIPS (BUG)", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "url": "http://foo.com/bucket%21" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "us-east-1", @@ -3084,19 +3024,7 @@ { "documentation": "URI encoded bucket + use global endpoint", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "url": "https://foo.com/bucket%21" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "us-east-1", @@ -3215,19 +3143,7 @@ { "documentation": "endpoint override + non-uri safe endpoint + force path style", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "url": "http://foo.com/bucket%21" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "us-east-1", @@ -3267,21 +3183,9 @@ } }, { - "documentation": "endpoint override + FIPS + dualstack (this is wrong—it's a bug in the UseGlobalEndpoint branch)", + "documentation": "endpoint override + FIPS + dualstack", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "url": "http://foo.com" - } + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "params": { "Region": "us-east-1", @@ -3294,19 +3198,7 @@ { "documentation": "non-bucket endpoint override + dualstack + global endpoint", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "url": "http://foo.com" - } + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "params": { "Region": "us-east-1", @@ -3319,19 +3211,7 @@ { "documentation": "Endpoint override + UseGlobalEndpoint + us-east-1", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "url": "http://foo.com" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "us-east-1", @@ -3350,8 +3230,7 @@ "Region": "cn-north-1", "UseFIPS": true, "UseDualStack": false, - "UseGlobalEndpoint": true, - "Endpoint": "http://foo.com" + "UseGlobalEndpoint": true } }, { @@ -3453,21 +3332,9 @@ } }, { - "documentation": "aws-global + fips + custom endpoint (TODO: should be an error)", + "documentation": "aws-global + fips + custom endpoint", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "signingRegion": "us-east-1", - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true - } - ] - }, - "url": "http://foo.com/bucket%21" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "aws-global", @@ -3505,21 +3372,9 @@ } }, { - "documentation": "aws-global + dualstack + custom endpoint (TODO: should be an error)", + "documentation": "aws-global + dualstack + custom endpoint", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "signingRegion": "us-east-1", - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true - } - ] - }, - "url": "http://foo.com" - } + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "params": { "Region": "aws-global", @@ -3555,7 +3410,7 @@ } }, { - "documentation": "FIPS + aws-global + path only bucket. TODO: this should be an error", + "documentation": "FIPS + aws-global + path only bucket. This is not supported by S3 but we allow garbage in garbage out", "expect": { "endpoint": { "properties": { @@ -3581,21 +3436,9 @@ } }, { - "documentation": "aws-global + FIPS + endpoint override. TODO: should this be an error?", + "documentation": "aws-global + FIPS + endpoint override.", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "signingRegion": "us-east-1", - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true - } - ] - }, - "url": "http://foo.com" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "aws-global", @@ -3604,21 +3447,9 @@ } }, { - "documentation": "force path style, aws-global & endpoint override", + "documentation": "force path style, FIPS, aws-global & endpoint override", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "signingRegion": "us-east-1", - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true - } - ] - }, - "url": "http://foo.com/bucket%21" - } + "error": "A custom endpoint cannot be combined with FIPS" }, "params": { "Region": "aws-global", @@ -3654,19 +3485,7 @@ { "documentation": "endpoint override with aws-global region", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "signingRegion": "us-east-1", - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true - } - ] - }, - "url": "http://foo.com" - } + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "params": { "Region": "aws-global", @@ -4934,19 +4753,7 @@ { "documentation": "path style + fips@cn-north-1", "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "signingName": "s3", - "signingRegion": "cn-north-1", - "disableDoubleEncoding": true, - "name": "sigv4" - } - ] - }, - "url": "https://s3-fips.cn-north-1.amazonaws.com.cn/bucket-name" - } + "error": "Partition does not support FIPS" }, "operationInputs": [ { @@ -5491,7 +5298,7 @@ { "documentation": "SDK::Host + FIPS@us-west-2", "expect": { - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate" + "error": "A custom endpoint cannot be combined with FIPS" }, "operationInputs": [ { @@ -5521,7 +5328,7 @@ { "documentation": "SDK::Host + DualStack@us-west-2", "expect": { - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate" + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "operationInputs": [ { @@ -5551,7 +5358,7 @@ { "documentation": "SDK::HOST + accelerate@us-west-2", "expect": { - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate" + "error": "A custom endpoint cannot be combined with S3 Accelerate" }, "operationInputs": [ { @@ -5704,7 +5511,7 @@ } }, { - "documentation": "SDK::Host + FIPS@cn-north-1", + "documentation": "FIPS@cn-north-1", "expect": { "error": "Partition does not support FIPS" }, @@ -5712,7 +5519,6 @@ "Accelerate": false, "Bucket": "bucket-name", "ForcePathStyle": false, - "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", "Region": "cn-north-1", "UseDualStack": false, "UseFIPS": true @@ -5721,7 +5527,7 @@ { "documentation": "SDK::Host + DualStack@cn-north-1", "expect": { - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate" + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "operationInputs": [ { @@ -5751,7 +5557,7 @@ { "documentation": "SDK::HOST + accelerate@cn-north-1", "expect": { - "error": "S3 Accelerate cannot be used in this region" + "error": "A custom endpoint cannot be combined with S3 Accelerate" }, "params": { "Accelerate": true, @@ -5891,7 +5697,7 @@ { "documentation": "SDK::Host + FIPS@af-south-1", "expect": { - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate" + "error": "A custom endpoint cannot be combined with FIPS" }, "operationInputs": [ { @@ -5921,7 +5727,7 @@ { "documentation": "SDK::Host + DualStack@af-south-1", "expect": { - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate" + "error": "Cannot set dual-stack in combination with a custom endpoint." }, "operationInputs": [ { @@ -5951,7 +5757,7 @@ { "documentation": "SDK::HOST + accelerate@af-south-1", "expect": { - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate" + "error": "A custom endpoint cannot be combined with S3 Accelerate" }, "operationInputs": [ { @@ -7666,7 +7472,7 @@ } }, { - "documentation": "S3 Outposts Abba Real Outpost Prod us-west-1", + "documentation": "S3 Outposts bucketAlias Real Outpost Prod us-west-1", "expect": { "endpoint": { "properties": { @@ -7691,7 +7497,7 @@ } }, { - "documentation": "S3 Outposts Abba Real Outpost Prod ap-east-1", + "documentation": "S3 Outposts bucketAlias Real Outpost Prod ap-east-1", "expect": { "endpoint": { "properties": { @@ -7716,7 +7522,7 @@ } }, { - "documentation": "S3 Outposts Abba Ec2 Outpost Prod us-east-1", + "documentation": "S3 Outposts bucketAlias Ec2 Outpost Prod us-east-1", "expect": { "endpoint": { "properties": { @@ -7741,7 +7547,7 @@ } }, { - "documentation": "S3 Outposts Abba Ec2 Outpost Prod me-south-1", + "documentation": "S3 Outposts bucketAlias Ec2 Outpost Prod me-south-1", "expect": { "endpoint": { "properties": { @@ -7766,7 +7572,7 @@ } }, { - "documentation": "S3 Outposts Abba Real Outpost Beta", + "documentation": "S3 Outposts bucketAlias Real Outpost Beta", "expect": { "endpoint": { "properties": { @@ -7792,7 +7598,7 @@ } }, { - "documentation": "S3 Outposts Abba Ec2 Outpost Beta", + "documentation": "S3 Outposts bucketAlias Ec2 Outpost Beta", "expect": { "endpoint": { "properties": { @@ -7818,7 +7624,7 @@ } }, { - "documentation": "S3 Outposts Abba - No endpoint set for beta", + "documentation": "S3 Outposts bucketAlias - No endpoint set for beta", "expect": { "error": "Expected a endpoint to be specified but no endpoint was found" }, @@ -7831,7 +7637,7 @@ } }, { - "documentation": "S3 Outposts Abba Invalid hardware type", + "documentation": "S3 Outposts bucketAlias Invalid hardware type", "expect": { "error": "Unrecognized hardware type: \"Expected hardware type o or e but got h\"" }, @@ -7844,7 +7650,7 @@ } }, { - "documentation": "S3 Outposts Abba Special character in Outpost Arn", + "documentation": "S3 Outposts bucketAlias Special character in Outpost Arn", "expect": { "error": "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`." }, @@ -7857,7 +7663,7 @@ } }, { - "documentation": "S3 Outposts Abba - No endpoint set for beta", + "documentation": "S3 Outposts bucketAlias - No endpoint set for beta", "expect": { "error": "Expected a endpoint to be specified but no endpoint was found" }, diff --git a/tools/code-generation/endpoints/securitylake-2018-05-10.endpoint-tests.json b/tools/code-generation/endpoints/securitylake-2018-05-10.endpoint-tests.json index c25bed0b2a3..44e4b725ce1 100644 --- a/tools/code-generation/endpoints/securitylake-2018-05-10.endpoint-tests.json +++ b/tools/code-generation/endpoints/securitylake-2018-05-10.endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "us-gov-east-1" } }, { @@ -22,8 +22,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "us-gov-east-1" } }, { @@ -35,8 +35,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "us-gov-east-1" } }, { @@ -48,8 +48,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "us-gov-east-1" } }, { @@ -61,8 +61,8 @@ }, "params": { "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "cn-north-1" } }, { @@ -74,8 +74,8 @@ }, "params": { "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "cn-north-1" } }, { @@ -87,8 +87,8 @@ }, "params": { "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "cn-north-1" } }, { @@ -100,8 +100,8 @@ }, "params": { "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "cn-north-1" } }, { @@ -111,8 +111,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "us-iso-east-1" } }, { @@ -124,8 +124,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "us-iso-east-1" } }, { @@ -135,8 +135,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "us-iso-east-1" } }, { @@ -148,8 +148,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "us-iso-east-1" } }, { @@ -161,8 +161,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "us-east-1" } }, { @@ -174,8 +174,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "us-east-1" } }, { @@ -187,8 +187,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "us-east-1" } }, { @@ -200,8 +200,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "us-east-1" } }, { @@ -211,8 +211,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "us-isob-east-1" } }, { @@ -224,8 +224,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "Region": "us-isob-east-1" } }, { @@ -235,8 +235,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "us-isob-east-1" } }, { @@ -248,8 +248,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "Region": "us-isob-east-1" } }, { @@ -261,8 +261,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -273,8 +273,8 @@ }, "params": { "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -285,8 +285,8 @@ }, "params": { "UseDualStack": true, - "Region": "us-east-1", "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } } diff --git a/tools/code-generation/endpoints/transcribe-2017-10-26.endpoint-tests.json b/tools/code-generation/endpoints/transcribe-2017-10-26.endpoint-tests.json index f6b5504dd0a..a47d848a4fa 100644 --- a/tools/code-generation/endpoints/transcribe-2017-10-26.endpoint-tests.json +++ b/tools/code-generation/endpoints/transcribe-2017-10-26.endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -346,9 +346,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -398,9 +398,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -411,9 +411,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -424,9 +424,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -437,9 +437,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -450,9 +450,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -463,9 +463,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -476,9 +476,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -489,9 +489,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -502,9 +513,31 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -515,9 +548,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -528,9 +572,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -541,9 +585,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -566,9 +610,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -578,11 +622,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true, - "Region": "us-east-1", "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0"