diff --git a/CHANGELOG.md b/CHANGELOG.md index fedcc0f..dfa76b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [2.2.0](https://github.com/ably/sdk-upload-action/tree/v2.2.0) + +[Full Changelog](https://github.com/ably/sdk-upload-action/compare/v2.1.0...v2.2.0) + +[\#57](https://github.com/ably/sdk-upload-action/pull/57) introduces a way to navigate to a particular page when viewing a deployment: +[\#58](https://github.com/ably/sdk-upload-action/pull/58) adds related I/O for obtaining the `base-path` ahead of artifact build.: + + +- `landingPagePath` input +- `base-path` output + ## [2.1.0](https://github.com/ably/sdk-upload-action/tree/v2.1.0) [Full Changelog](https://github.com/ably/sdk-upload-action/compare/v2.0.0...v2.1.0) diff --git a/dist/index.js b/dist/index.js index f49fe37..042c7bb 100644 --- a/dist/index.js +++ b/dist/index.js @@ -133,6 +133,10 @@ const sourcePath = path_1.default.resolve(core.getInput('sourcePath', { required // - The getInput() method calls trim() for us by default (trimWhitespace: true) // - Empty string indicates no value, i.e. artifact name not specified const artifactName = core.getInput('artifactName'); +// Optional landingPagePath: +// - The getInput() method calls trim() for us by default (trimWhitespace: true) +// - Empty string indicates no value, i.e. landingPagePath not specified +const landingPagePath = core.getInput('landingPagePath'); let githubDeploymentRef; let s3KeyPrefix = `builds/${github_1.context.repo.owner}/${github_1.context.repo.repo}/`; let githubEnvironmentName = 'staging/'; @@ -163,6 +167,7 @@ core.debug(`S3 Key Prefix: ${s3KeyPrefix}`); core.debug(`GitHub Environment Name: ${githubEnvironmentName}`); const urlBase = `https://${s3BucketName}/${s3KeyPrefix}/`; core.setOutput('url-base', urlBase); +core.setOutput('base-path', s3KeyPrefix); const runMode = core.getInput('mode'); if (runMode === 'preempt') { process.exit(0); @@ -187,7 +192,9 @@ const createDeployment = () => __awaiter(void 0, void 0, void 0, function* () { return response.data.id; }); const setDeploymentStatus = (id, state, url) => __awaiter(void 0, void 0, void 0, function* () { - yield octokit.repos.createDeploymentStatus(Object.assign(Object.assign({}, github_1.context.repo), { deployment_id: id, state, log_url: url, target_url: url, environment_url: url, mediaType: { + // Set completeUrl if url exists; otherwise, it will remain undefined + const completeUrl = url ? `${url}${landingPagePath}` : undefined; + yield octokit.repos.createDeploymentStatus(Object.assign(Object.assign({}, github_1.context.repo), { deployment_id: id, state, log_url: completeUrl, target_url: completeUrl, environment_url: completeUrl, mediaType: { // 'flash' is needed to use the 'in_progress' state // 'ant-man' is needed to use the log_url property // see https://octokit.github.io/rest.js/v18#repos-create-deployment-status diff --git a/dist/index.js.map b/dist/index.js.map index 616d0bc..ab3559a 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../webpack://@ably/sdk-upload-action/./lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/command.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/core.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/file-command.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/oidc-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/path-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/summary.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/lib/context.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/lib/github.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/lib/internal/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/lib/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/node_modules/@actions/http-client/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/node_modules/@actions/http-client/proxy.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/glob.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-glob-options-helper.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-globber.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-match-kind.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-path-helper.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-path.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-pattern-helper.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-pattern.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-search-state.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/http-client/lib/auth.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/http-client/lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/http-client/lib/proxy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32/build/aws_crc32.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32/build/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32c/build/aws_crc32c.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32c/build/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32c/node_modules/tslib/tslib.es6.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/convertToBuffer.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/isEmptyData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/numToUint8.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/S3.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/S3Client.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/AbortMultipartUploadCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/CompleteMultipartUploadCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/CopyObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/CreateBucketCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/CreateMultipartUploadCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketAnalyticsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketCorsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketEncryptionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketIntelligentTieringConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketInventoryConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketLifecycleCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketMetricsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketOwnershipControlsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketPolicyCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketReplicationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketWebsiteCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteObjectTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteObjectsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeletePublicAccessBlockCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketAccelerateConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketAclCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketAnalyticsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketCorsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketEncryptionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketIntelligentTieringConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketInventoryConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketLifecycleConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketLocationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketLoggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketMetricsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketNotificationConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketOwnershipControlsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketPolicyCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketPolicyStatusCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketReplicationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketRequestPaymentCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketVersioningCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketWebsiteCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectAclCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectAttributesCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectLegalHoldCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectLockConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectRetentionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectTorrentCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetPublicAccessBlockCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/HeadBucketCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/HeadObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketAnalyticsConfigurationsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketIntelligentTieringConfigurationsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketInventoryConfigurationsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketMetricsConfigurationsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListMultipartUploadsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListObjectVersionsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListObjectsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListObjectsV2Command.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListPartsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketAccelerateConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketAclCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketAnalyticsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketCorsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketEncryptionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketIntelligentTieringConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketInventoryConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketLifecycleConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketLoggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketMetricsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketNotificationConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketOwnershipControlsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketPolicyCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketReplicationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketRequestPaymentCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketVersioningCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketWebsiteCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectAclCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectLegalHoldCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectLockConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectRetentionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutPublicAccessBlockCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/RestoreObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/SelectObjectContentCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/UploadPartCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/UploadPartCopyCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/WriteGetObjectResponseCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/EndpointParameters.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/endpointResolver.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/ruleset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/models/S3ServiceException.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/models/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/models/models_0.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/models/models_1.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/pagination/Interfaces.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/pagination/ListObjectsV2Paginator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/pagination/ListPartsPaginator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/pagination/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/protocols/Aws_restXml.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/runtimeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/runtimeConfig.shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/waitForBucketExists.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/waitForBucketNotExists.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/waitForObjectExists.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/waitForObjectNotExists.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/STS.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/NodeUseFipsEndpointConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/resolveCustomEndpointsConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/utils/getEndpointFromRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/config.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/getRealRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/isFipsRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/PartitionHash.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/RegionHash.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getHostnameFromVariants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getRegionInfo.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getResolvedHostname.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getResolvedPartition.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getResolvedSigningRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/config/Endpoint.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/config/EndpointConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/config/EndpointMode.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/config/EndpointModeConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/fromContainerMetadata.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/fromInstanceMetadata.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/remoteProvider/ImdsCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/remoteProvider/RemoteProviderInit.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/remoteProvider/httpRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/remoteProvider/retry.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/utils/getExtendedInstanceMetadataCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/utils/getInstanceMetadataEndpoint.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/utils/staticStabilityProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/EventStreamCodec.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/HeaderMarshaller.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/Int64.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/Message.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/splitMessage.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-config-resolver/dist-cjs/EventStreamSerdeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-config-resolver/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-node/dist-cjs/EventStreamMarshaller.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-node/dist-cjs/provider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-node/dist-cjs/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/EventStreamMarshaller.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/getChunkedStream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/getUnmarshalledStream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/provider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-stream-node/dist-cjs/HashCalculator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-stream-node/dist-cjs/fileStreamHasher.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-stream-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-stream-node/dist-cjs/readableStreamHasher.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/is-array-buffer/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/NodeDisableMultiregionAccessPointConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/NodeUseArnRegionConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/bucketEndpointMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/bucketHostname.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/bucketHostnameUtils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/configurations.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-content-length/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/createConfigValueProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/endpointMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/getEndpointPlugin.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/resolveEndpointConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/service-customizations/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/service-customizations/s3.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-expect-continue/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/flexibleChecksumsMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getChecksum.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getChecksumAlgorithmForRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getChecksumAlgorithmListForResponse.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getChecksumLocationName.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getFlexibleChecksumsPlugin.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/hasHeader.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/isStreaming.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/selectChecksumAlgorithmFunction.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/stringHasher.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/validateChecksumFromResponse.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-location-constraint/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/AdaptiveRetryStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/StandardRetryStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/configurations.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/defaultRetryQuota.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/delayDecider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/omitRetryHeadersMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/retryDecider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/retryMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/util.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/check-content-length-header.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/configuration.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/throw-200-exceptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/validate-bucket-name.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-serde/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-serde/dist-cjs/serdePlugin.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-serde/dist-cjs/serializerMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/configurations.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/middleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-ssec/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-stack/dist-cjs/MiddlewareStack.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-stack/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/configLoader.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/fromEnv.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/fromSharedConfigFiles.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/fromStatic.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/get-transformed-headers.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/node-http-handler.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/node-http2-handler.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/set-connection-timeout.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/set-socket-timeout.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/stream-collector/collector.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/stream-collector/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/write-request-body.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/CredentialsProviderError.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/ProviderError.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/TokenProviderError.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/chain.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/fromStatic.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/memoize.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/Field.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/FieldPosition.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/Fields.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/httpHandler.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/httpRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/httpResponse.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/isValidHostname.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/querystring-builder/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/querystring-parser/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/service-error-classification/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/service-error-classification/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getConfigFilepath.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getCredentialsFilepath.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getHomeDir.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getProfileData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getProfileName.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getSsoSessionData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/loadSharedConfigFiles.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/loadSsoSessionData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/parseIni.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/parseKnownFiles.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/slurpFile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/SignatureV4MultiRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/SignatureV4.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/cloneRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/credentialDerivation.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/getCanonicalHeaders.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/getCanonicalQuery.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/getPayloadHash.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/headerUtil.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/moveHeadersToQuery.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/prepareRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/utilDate.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/NoOpLogger.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/client.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/command.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/date-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/defaults-mode.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/emitWarningIfUnsupportedVersion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/exceptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/extended-encode-uri-component.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/get-array-if-single-item.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/get-value-from-text-node.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/lazy-json.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/object-mapping.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/parse-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/resolve-path.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/ser-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/split-every.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/abort.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/auth.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/checksum.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/client.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/command.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/credentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/crypto.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/dns.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/endpoint.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/eventStream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/http.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/logger.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/middleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/pagination.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/profile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/request.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/response.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/retry.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/serde.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/shapes.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/signature.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/stream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/token.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/transfer.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/util.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/waiter.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/url-parser/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-arn-parser/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-base64/dist-cjs/fromBase64.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-base64/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-base64/dist-cjs/toBase64.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-body-length-node/dist-cjs/calculateBodyLength.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-body-length-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-buffer-from/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-config-provider/dist-cjs/booleanSelector.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-config-provider/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-defaults-mode-node/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-defaults-mode-node/dist-cjs/defaultsModeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-defaults-mode-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-defaults-mode-node/dist-cjs/resolveDefaultsModeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-hex-encoding/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-middleware/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-middleware/dist-cjs/normalizeProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/AdaptiveRetryStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/DefaultRateLimiter.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/StandardRetryStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/config.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/defaultRetryBackoffStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/defaultRetryToken.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-stream-node/dist-cjs/getAwsChunkedEncodingStream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-stream-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-stream-node/dist-cjs/sdk-stream-mixin.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-uri-escape/dist-cjs/escape-uri-path.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-uri-escape/dist-cjs/escape-uri.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-uri-escape/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8-browser/dist-cjs/pureJs.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8-browser/dist-cjs/whatwgEncodingApi.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8/dist-cjs/fromUtf8.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8/dist-cjs/toUint8Array.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8/dist-cjs/toUtf8.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/createWaiter.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/poller.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/utils/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/utils/sleep.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/utils/validate.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/waiter.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/XmlNode.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/XmlText.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/escape-attribute.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/escape-element.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/auth-token/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/core/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/endpoint/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/graphql/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/request-error/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/request/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/balanced-match/index.js","../webpack://@ably/sdk-upload-action/./node_modules/before-after-hook/index.js","../webpack://@ably/sdk-upload-action/./node_modules/before-after-hook/lib/add.js","../webpack://@ably/sdk-upload-action/./node_modules/before-after-hook/lib/register.js","../webpack://@ably/sdk-upload-action/./node_modules/before-after-hook/lib/remove.js","../webpack://@ably/sdk-upload-action/./node_modules/brace-expansion/index.js","../webpack://@ably/sdk-upload-action/./node_modules/concat-map/index.js","../webpack://@ably/sdk-upload-action/./node_modules/deprecation/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/fxp.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/util.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/validator.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/node2json.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","../webpack://@ably/sdk-upload-action/./node_modules/is-plain-object/dist/is-plain-object.js","../webpack://@ably/sdk-upload-action/./node_modules/mime-db/index.js","../webpack://@ably/sdk-upload-action/./node_modules/mime-types/index.js","../webpack://@ably/sdk-upload-action/./node_modules/minimatch/minimatch.js","../webpack://@ably/sdk-upload-action/./node_modules/node-fetch/lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/once/once.js","../webpack://@ably/sdk-upload-action/./node_modules/strnum/strnum.js","../webpack://@ably/sdk-upload-action/./node_modules/tr46/index.js","../webpack://@ably/sdk-upload-action/./node_modules/tslib/tslib.es6.js","../webpack://@ably/sdk-upload-action/./node_modules/tunnel/index.js","../webpack://@ably/sdk-upload-action/./node_modules/tunnel/lib/tunnel.js","../webpack://@ably/sdk-upload-action/./node_modules/universal-user-agent/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/rng.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/regex.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/validate.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/stringify.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v1.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/parse.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v35.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/md5.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v3.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v4.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/sha1.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v5.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/nil.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/version.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/webidl-conversions/lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/URL-impl.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/URL.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/public-api.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/url-state-machine.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/wrappy/wrappy.js","../webpack://@ably/sdk-upload-action/./node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../webpack://@ably/sdk-upload-action/external \"assert\"","../webpack://@ably/sdk-upload-action/external \"buffer\"","../webpack://@ably/sdk-upload-action/external \"child_process\"","../webpack://@ably/sdk-upload-action/external \"crypto\"","../webpack://@ably/sdk-upload-action/external \"events\"","../webpack://@ably/sdk-upload-action/external \"fs\"","../webpack://@ably/sdk-upload-action/external \"http\"","../webpack://@ably/sdk-upload-action/external \"http2\"","../webpack://@ably/sdk-upload-action/external \"https\"","../webpack://@ably/sdk-upload-action/external \"net\"","../webpack://@ably/sdk-upload-action/external \"os\"","../webpack://@ably/sdk-upload-action/external \"path\"","../webpack://@ably/sdk-upload-action/external \"process\"","../webpack://@ably/sdk-upload-action/external \"punycode\"","../webpack://@ably/sdk-upload-action/external \"stream\"","../webpack://@ably/sdk-upload-action/external \"tls\"","../webpack://@ably/sdk-upload-action/external \"url\"","../webpack://@ably/sdk-upload-action/external \"util\"","../webpack://@ably/sdk-upload-action/external \"zlib\"","../webpack://@ably/sdk-upload-action/webpack/bootstrap","../webpack://@ably/sdk-upload-action/webpack/runtime/compat get default export","../webpack://@ably/sdk-upload-action/webpack/runtime/define property getters","../webpack://@ably/sdk-upload-action/webpack/runtime/hasOwnProperty shorthand","../webpack://@ably/sdk-upload-action/webpack/runtime/make namespace object","../webpack://@ably/sdk-upload-action/webpack/runtime/compat","../webpack://@ably/sdk-upload-action/webpack/startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core = __importStar(require(\"@actions/core\"));\nconst github_1 = require(\"@actions/github\");\nconst client_s3_1 = require(\"@aws-sdk/client-s3\");\nconst path_1 = __importDefault(require(\"path\"));\nconst fs_1 = __importDefault(require(\"fs\"));\nconst mime_types_1 = require(\"mime-types\");\nconst glob = __importStar(require(\"@actions/glob\"));\nconst githubEventPath = process.env.GITHUB_EVENT_PATH;\nconst githubRef = process.env.GITHUB_REF;\nif (typeof githubEventPath !== 'string') {\n core.setFailed('GITHUB_EVENT_PATH environment variable not set');\n process.exit(1);\n}\nif (typeof githubRef !== 'string') {\n core.setFailed('GITHUB_REF environment variable not set');\n process.exit(1);\n}\nconst githubToken = core.getInput('githubToken', { required: true });\nconst octokit = (0, github_1.getOctokit)(githubToken);\nconst githubEvent = JSON.parse(fs_1.default.readFileSync(githubEventPath, 'utf8'));\nconst createRef = (githubRef) => {\n // githubRef is in the form 'refs/heads/branch_name' or 'refs/tags/tag_name'\n const components = githubRef.split('/');\n const refTypePlural = components[1];\n let refType;\n switch (refTypePlural) {\n case 'heads': {\n refType = 'head';\n break;\n }\n case 'tags': {\n refType = 'tag';\n break;\n }\n default: {\n return null;\n }\n }\n return {\n type: refType,\n name: components.slice(2).join('/')\n };\n};\nconst ref = createRef(githubRef);\nconst s3BucketName = 'sdk.ably.com';\nconst sourcePath = path_1.default.resolve(core.getInput('sourcePath', { required: true }));\n// Optional artifactName:\n// - The getInput() method calls trim() for us by default (trimWhitespace: true)\n// - Empty string indicates no value, i.e. artifact name not specified\nconst artifactName = core.getInput('artifactName');\nlet githubDeploymentRef;\nlet s3KeyPrefix = `builds/${github_1.context.repo.owner}/${github_1.context.repo.repo}/`;\nlet githubEnvironmentName = 'staging/';\nif (github_1.context.eventName === 'pull_request') {\n githubDeploymentRef = githubEvent.pull_request.head.sha;\n s3KeyPrefix += `pull/${githubEvent.pull_request.number}`;\n githubEnvironmentName += `pull/${githubEvent.pull_request.number}`;\n}\nelse if (github_1.context.eventName === 'push' && ref !== null && ref.type === 'head' && ref.name === 'main') {\n githubDeploymentRef = github_1.context.sha;\n s3KeyPrefix += 'main';\n githubEnvironmentName += 'main';\n}\nelse if (github_1.context.eventName === 'push' && ref !== null && ref.type === 'tag') {\n githubDeploymentRef = github_1.context.sha;\n s3KeyPrefix += `tag/${ref.name}`;\n githubEnvironmentName += `tag/${ref.name}`;\n}\nelse {\n core.setFailed(\"Error: this action can only be ran on a pull_request, a push to the 'main' branch, or a push of a tag\");\n process.exit(1);\n}\nif (artifactName.length > 0) {\n s3KeyPrefix += ('/' + artifactName);\n githubEnvironmentName += ('/' + artifactName);\n}\ncore.debug(`S3 Key Prefix: ${s3KeyPrefix}`);\ncore.debug(`GitHub Environment Name: ${githubEnvironmentName}`);\nconst urlBase = `https://${s3BucketName}/${s3KeyPrefix}/`;\ncore.setOutput('url-base', urlBase);\nconst runMode = core.getInput('mode');\nif (runMode === 'preempt') {\n process.exit(0);\n}\nconst s3ClientConfig = {\n // RegionInputConfig\n region: 'eu-west-2',\n};\nconst s3Client = new client_s3_1.S3Client(s3ClientConfig);\nconst upload = (params) => __awaiter(void 0, void 0, void 0, function* () {\n const command = new client_s3_1.PutObjectCommand(params);\n yield s3Client.send(command);\n core.info(`uploaded: ${params.Key}`);\n});\nconst createDeployment = () => __awaiter(void 0, void 0, void 0, function* () {\n const response = yield octokit.repos.createDeployment(Object.assign(Object.assign({}, github_1.context.repo), { ref: githubDeploymentRef, task: artifactName || undefined, required_contexts: [], environment: githubEnvironmentName, auto_merge: false }));\n if (![201, 202].includes(response.status)) {\n core.setFailed(`Failed to create deployment, received ${response.status} response status`);\n process.exit(1);\n }\n // Typescript can't infer from the above that response.data.id will be a number now so we have to type cast\n return response.data.id;\n});\nconst setDeploymentStatus = (id, state, url) => __awaiter(void 0, void 0, void 0, function* () {\n yield octokit.repos.createDeploymentStatus(Object.assign(Object.assign({}, github_1.context.repo), { deployment_id: id, state, log_url: url, target_url: url, environment_url: url, mediaType: {\n // 'flash' is needed to use the 'in_progress' state\n // 'ant-man' is needed to use the log_url property\n // see https://octokit.github.io/rest.js/v18#repos-create-deployment-status\n previews: ['flash', 'ant-man'],\n } }));\n});\nconst run = () => __awaiter(void 0, void 0, void 0, function* () {\n const globber = yield glob.create(`${sourcePath}/**`);\n const allFiles = yield globber.glob();\n if (allFiles.length === 0) {\n throw new Error(`No files found in sourcePath: ${sourcePath}`);\n }\n const deploymentId = yield createDeployment();\n yield setDeploymentStatus(deploymentId, 'in_progress');\n try {\n yield Promise.all(allFiles.filter(file => !fs_1.default.statSync(file).isDirectory()).map(file => {\n const body = fs_1.default.readFileSync(file);\n core.debug(`sourcePath: ${sourcePath}`);\n core.debug(`file: ${file}`);\n const key = path_1.default.join(s3KeyPrefix, path_1.default.relative(sourcePath, file));\n core.debug(`resulting key: ${key}`);\n return upload({\n Key: key,\n Bucket: s3BucketName,\n Body: body,\n ACL: 'public-read',\n ContentType: (0, mime_types_1.lookup)(file) || 'application/octet-stream',\n });\n }));\n yield setDeploymentStatus(deploymentId, 'success', urlBase);\n }\n catch (err) {\n yield setDeploymentStatus(deploymentId, 'failure');\n throw err;\n }\n});\nrun().catch(err => {\n core.setFailed(err.message);\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.issue = exports.issueCommand = void 0;\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst oidc_utils_1 = require(\"./oidc-utils\");\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));\n }\n command_1.issueCommand('set-env', { name }, convertedVal);\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueFileCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nfunction getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\nexports.getMultilineInput = getMultilineInput;\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nfunction getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\nexports.getBooleanInput = getBooleanInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction error(message, properties = {}) {\n command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction warning(message, properties = {}) {\n command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction notice(message, properties = {}) {\n command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.notice = notice;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));\n }\n command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\nfunction getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield oidc_utils_1.OidcClient.getIDToken(aud);\n });\n}\nexports.getIDToken = getIDToken;\n/**\n * Summary exports\n */\nvar summary_1 = require(\"./summary\");\nObject.defineProperty(exports, \"summary\", { enumerable: true, get: function () { return summary_1.summary; } });\n/**\n * @deprecated use core.summary\n */\nvar summary_2 = require(\"./summary\");\nObject.defineProperty(exports, \"markdownSummary\", { enumerable: true, get: function () { return summary_2.markdownSummary; } });\n/**\n * Path exports\n */\nvar path_utils_1 = require(\"./path-utils\");\nObject.defineProperty(exports, \"toPosixPath\", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });\nObject.defineProperty(exports, \"toWin32Path\", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });\nObject.defineProperty(exports, \"toPlatformPath\", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });\n//# sourceMappingURL=core.js.map","\"use strict\";\n// For internal use, subject to change.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareKeyValueMessage = exports.issueFileCommand = void 0;\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst uuid_1 = require(\"uuid\");\nconst utils_1 = require(\"./utils\");\nfunction issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueFileCommand = issueFileCommand;\nfunction prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${uuid_1.v4()}`;\n const convertedValue = utils_1.toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\nexports.prepareKeyValueMessage = prepareKeyValueMessage;\n//# sourceMappingURL=file-command.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcClient = void 0;\nconst http_client_1 = require(\"@actions/http-client\");\nconst auth_1 = require(\"@actions/http-client/lib/auth\");\nconst core_1 = require(\"./core\");\nclass OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.result.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n core_1.debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n core_1.setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\nexports.OidcClient = OidcClient;\n//# sourceMappingURL=oidc-utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;\nconst path = __importStar(require(\"path\"));\n/**\n * toPosixPath converts the given path to the posix form. On Windows, \\\\ will be\n * replaced with /.\n *\n * @param pth. Path to transform.\n * @return string Posix path.\n */\nfunction toPosixPath(pth) {\n return pth.replace(/[\\\\]/g, '/');\n}\nexports.toPosixPath = toPosixPath;\n/**\n * toWin32Path converts the given path to the win32 form. On Linux, / will be\n * replaced with \\\\.\n *\n * @param pth. Path to transform.\n * @return string Win32 path.\n */\nfunction toWin32Path(pth) {\n return pth.replace(/[/]/g, '\\\\');\n}\nexports.toWin32Path = toWin32Path;\n/**\n * toPlatformPath converts the given path to a platform-specific path. It does\n * this by replacing instances of / and \\ with the platform-specific path\n * separator.\n *\n * @param pth The path to platformize.\n * @return string The platform-specific path.\n */\nfunction toPlatformPath(pth) {\n return pth.replace(/[/\\\\]/g, path.sep);\n}\nexports.toPlatformPath = toPlatformPath;\n//# sourceMappingURL=path-utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;\nconst os_1 = require(\"os\");\nconst fs_1 = require(\"fs\");\nconst { access, appendFile, writeFile } = fs_1.promises;\nexports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(os_1.EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexports.markdownSummary = _summary;\nexports.summary = _summary;\n//# sourceMappingURL=summary.js.map","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCommandProperties = exports.toCommandValue = void 0;\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nfunction toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\nexports.toCommandProperties = toCommandProperties;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Context = void 0;\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nclass Context {\n /**\n * Hydrate the context from the environment\n */\n constructor() {\n this.payload = {};\n if (process.env.GITHUB_EVENT_PATH) {\n if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {\n this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));\n }\n else {\n const path = process.env.GITHUB_EVENT_PATH;\n process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);\n }\n }\n this.eventName = process.env.GITHUB_EVENT_NAME;\n this.sha = process.env.GITHUB_SHA;\n this.ref = process.env.GITHUB_REF;\n this.workflow = process.env.GITHUB_WORKFLOW;\n this.action = process.env.GITHUB_ACTION;\n this.actor = process.env.GITHUB_ACTOR;\n this.job = process.env.GITHUB_JOB;\n this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);\n this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);\n }\n get issue() {\n const payload = this.payload;\n return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });\n }\n get repo() {\n if (process.env.GITHUB_REPOSITORY) {\n const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');\n return { owner, repo };\n }\n if (this.payload.repository) {\n return {\n owner: this.payload.repository.owner.login,\n repo: this.payload.repository.name\n };\n }\n throw new Error(\"context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'\");\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst utils_1 = require(\"./utils\");\nexports.context = new Context.Context();\n/**\n * Returns a hydrated octokit ready to use for GitHub Actions\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokit(token, options) {\n return new utils_1.GitHub(utils_1.getOctokitOptions(token, options));\n}\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;\nconst httpClient = __importStar(require(\"@actions/http-client\"));\nfunction getAuthString(token, options) {\n if (!token && !options.auth) {\n throw new Error('Parameter token or opts.auth is required');\n }\n else if (token && options.auth) {\n throw new Error('Parameters token and opts.auth may not both be specified');\n }\n return typeof options.auth === 'string' ? options.auth : `token ${token}`;\n}\nexports.getAuthString = getAuthString;\nfunction getProxyAgent(destinationUrl) {\n const hc = new httpClient.HttpClient();\n return hc.getAgent(destinationUrl);\n}\nexports.getProxyAgent = getProxyAgent;\nfunction getApiBaseUrl() {\n return process.env['GITHUB_API_URL'] || 'https://api.github.com';\n}\nexports.getApiBaseUrl = getApiBaseUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokitOptions = exports.GitHub = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst Utils = __importStar(require(\"./internal/utils\"));\n// octokit + plugins\nconst core_1 = require(\"@octokit/core\");\nconst plugin_rest_endpoint_methods_1 = require(\"@octokit/plugin-rest-endpoint-methods\");\nconst plugin_paginate_rest_1 = require(\"@octokit/plugin-paginate-rest\");\nexports.context = new Context.Context();\nconst baseUrl = Utils.getApiBaseUrl();\nconst defaults = {\n baseUrl,\n request: {\n agent: Utils.getProxyAgent(baseUrl)\n }\n};\nexports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(defaults);\n/**\n * Convience function to correctly format Octokit Options to pass into the constructor.\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokitOptions(token, options) {\n const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller\n // Auth\n const auth = Utils.getAuthString(token, opts);\n if (auth) {\n opts.auth = auth;\n }\n return opts;\n}\nexports.getOctokitOptions = getOctokitOptions;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst http = require(\"http\");\nconst https = require(\"https\");\nconst pm = require(\"./proxy\");\nlet tunnel;\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n let proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return new Promise(async (resolve, reject) => {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n let parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n }\n get(requestUrl, additionalHeaders) {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n }\n del(requestUrl, additionalHeaders) {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n }\n post(requestUrl, data, additionalHeaders) {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n }\n patch(requestUrl, data, additionalHeaders) {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n }\n put(requestUrl, data, additionalHeaders) {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n }\n head(requestUrl, additionalHeaders) {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n async getJson(requestUrl, additionalHeaders = {}) {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n let res = await this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n }\n async postJson(requestUrl, obj, additionalHeaders = {}) {\n let data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n let res = await this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n }\n async putJson(requestUrl, obj, additionalHeaders = {}) {\n let data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n let res = await this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n }\n async patchJson(requestUrl, obj, additionalHeaders = {}) {\n let data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n let res = await this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n async request(verb, requestUrl, data, headers) {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n let parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n while (numTries < maxTries) {\n response = await this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (let i = 0; i < this.handlers.length; i++) {\n if (this.handlers[i].canHandleAuthentication(response)) {\n authenticationHandler = this.handlers[i];\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n let parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol == 'https:' &&\n parsedUrl.protocol != parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n await response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (let header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = await this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n await response.readBody();\n await this._performExponentialBackoff(numTries);\n }\n }\n return response;\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return new Promise((resolve, reject) => {\n let callbackForResult = function (err, res) {\n if (err) {\n reject(err);\n }\n resolve(res);\n };\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n let socket;\n if (typeof data === 'string') {\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n let handleResult = (err, res) => {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n };\n let req = info.httpModule.request(info.options, (msg) => {\n let res = new HttpClientResponse(msg);\n handleResult(null, res);\n });\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error('Request timeout: ' + info.options.path), null);\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err, null);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n let parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n this.handlers.forEach(handler => {\n handler.prepareRequest(info.options);\n });\n }\n return info;\n }\n _mergeHeaders(headers) {\n const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n let proxyUrl = pm.getProxyUrl(parsedUrl);\n let useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (!!agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (!!this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n if (useProxy) {\n // If using proxy, need tunnel\n if (!tunnel) {\n tunnel = require('tunnel');\n }\n const agentOptions = {\n maxSockets: maxSockets,\n keepAlive: this._keepAlive,\n proxy: {\n ...((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n }),\n host: proxyUrl.hostname,\n port: proxyUrl.port\n }\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets: maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n }\n static dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n let a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n async _processResponse(res, options) {\n return new Promise(async (resolve, reject) => {\n const statusCode = res.message.statusCode;\n const response = {\n statusCode: statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode == HttpCodes.NotFound) {\n resolve(response);\n }\n let obj;\n let contents;\n // get the result from the body\n try {\n contents = await res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, HttpClient.dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = 'Failed request: (' + statusCode + ')';\n }\n let err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n });\n }\n}\nexports.HttpClient = HttpClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getProxyUrl(reqUrl) {\n let usingSsl = reqUrl.protocol === 'https:';\n let proxyUrl;\n if (checkBypass(reqUrl)) {\n return proxyUrl;\n }\n let proxyVar;\n if (usingSsl) {\n proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n if (proxyVar) {\n proxyUrl = new URL(proxyVar);\n }\n return proxyUrl;\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n let upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (let upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperReqHosts.some(x => x === upperNoProxyItem)) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = void 0;\nconst internal_globber_1 = require(\"./internal-globber\");\n/**\n * Constructs a globber\n *\n * @param patterns Patterns separated by newlines\n * @param options Glob options\n */\nfunction create(patterns, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield internal_globber_1.DefaultGlobber.create(patterns, options);\n });\n}\nexports.create = create;\n//# sourceMappingURL=glob.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptions = void 0;\nconst core = __importStar(require(\"@actions/core\"));\n/**\n * Returns a copy with defaults filled in.\n */\nfunction getOptions(copy) {\n const result = {\n followSymbolicLinks: true,\n implicitDescendants: true,\n omitBrokenSymbolicLinks: true\n };\n if (copy) {\n if (typeof copy.followSymbolicLinks === 'boolean') {\n result.followSymbolicLinks = copy.followSymbolicLinks;\n core.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`);\n }\n if (typeof copy.implicitDescendants === 'boolean') {\n result.implicitDescendants = copy.implicitDescendants;\n core.debug(`implicitDescendants '${result.implicitDescendants}'`);\n }\n if (typeof copy.omitBrokenSymbolicLinks === 'boolean') {\n result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks;\n core.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`);\n }\n }\n return result;\n}\nexports.getOptions = getOptions;\n//# sourceMappingURL=internal-glob-options-helper.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultGlobber = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst fs = __importStar(require(\"fs\"));\nconst globOptionsHelper = __importStar(require(\"./internal-glob-options-helper\"));\nconst path = __importStar(require(\"path\"));\nconst patternHelper = __importStar(require(\"./internal-pattern-helper\"));\nconst internal_match_kind_1 = require(\"./internal-match-kind\");\nconst internal_pattern_1 = require(\"./internal-pattern\");\nconst internal_search_state_1 = require(\"./internal-search-state\");\nconst IS_WINDOWS = process.platform === 'win32';\nclass DefaultGlobber {\n constructor(options) {\n this.patterns = [];\n this.searchPaths = [];\n this.options = globOptionsHelper.getOptions(options);\n }\n getSearchPaths() {\n // Return a copy\n return this.searchPaths.slice();\n }\n glob() {\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n const result = [];\n try {\n for (var _b = __asyncValues(this.globGenerator()), _c; _c = yield _b.next(), !_c.done;) {\n const itemPath = _c.value;\n result.push(itemPath);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n });\n }\n globGenerator() {\n return __asyncGenerator(this, arguments, function* globGenerator_1() {\n // Fill in defaults options\n const options = globOptionsHelper.getOptions(this.options);\n // Implicit descendants?\n const patterns = [];\n for (const pattern of this.patterns) {\n patterns.push(pattern);\n if (options.implicitDescendants &&\n (pattern.trailingSeparator ||\n pattern.segments[pattern.segments.length - 1] !== '**')) {\n patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat('**')));\n }\n }\n // Push the search paths\n const stack = [];\n for (const searchPath of patternHelper.getSearchPaths(patterns)) {\n core.debug(`Search path '${searchPath}'`);\n // Exists?\n try {\n // Intentionally using lstat. Detection for broken symlink\n // will be performed later (if following symlinks).\n yield __await(fs.promises.lstat(searchPath));\n }\n catch (err) {\n if (err.code === 'ENOENT') {\n continue;\n }\n throw err;\n }\n stack.unshift(new internal_search_state_1.SearchState(searchPath, 1));\n }\n // Search\n const traversalChain = []; // used to detect cycles\n while (stack.length) {\n // Pop\n const item = stack.pop();\n // Match?\n const match = patternHelper.match(patterns, item.path);\n const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path);\n if (!match && !partialMatch) {\n continue;\n }\n // Stat\n const stats = yield __await(DefaultGlobber.stat(item, options, traversalChain)\n // Broken symlink, or symlink cycle detected, or no longer exists\n );\n // Broken symlink, or symlink cycle detected, or no longer exists\n if (!stats) {\n continue;\n }\n // Directory\n if (stats.isDirectory()) {\n // Matched\n if (match & internal_match_kind_1.MatchKind.Directory) {\n yield yield __await(item.path);\n }\n // Descend?\n else if (!partialMatch) {\n continue;\n }\n // Push the child items in reverse\n const childLevel = item.level + 1;\n const childItems = (yield __await(fs.promises.readdir(item.path))).map(x => new internal_search_state_1.SearchState(path.join(item.path, x), childLevel));\n stack.push(...childItems.reverse());\n }\n // File\n else if (match & internal_match_kind_1.MatchKind.File) {\n yield yield __await(item.path);\n }\n }\n });\n }\n /**\n * Constructs a DefaultGlobber\n */\n static create(patterns, options) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = new DefaultGlobber(options);\n if (IS_WINDOWS) {\n patterns = patterns.replace(/\\r\\n/g, '\\n');\n patterns = patterns.replace(/\\r/g, '\\n');\n }\n const lines = patterns.split('\\n').map(x => x.trim());\n for (const line of lines) {\n // Empty or comment\n if (!line || line.startsWith('#')) {\n continue;\n }\n // Pattern\n else {\n result.patterns.push(new internal_pattern_1.Pattern(line));\n }\n }\n result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns));\n return result;\n });\n }\n static stat(item, options, traversalChain) {\n return __awaiter(this, void 0, void 0, function* () {\n // Note:\n // `stat` returns info about the target of a symlink (or symlink chain)\n // `lstat` returns info about a symlink itself\n let stats;\n if (options.followSymbolicLinks) {\n try {\n // Use `stat` (following symlinks)\n stats = yield fs.promises.stat(item.path);\n }\n catch (err) {\n if (err.code === 'ENOENT') {\n if (options.omitBrokenSymbolicLinks) {\n core.debug(`Broken symlink '${item.path}'`);\n return undefined;\n }\n throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`);\n }\n throw err;\n }\n }\n else {\n // Use `lstat` (not following symlinks)\n stats = yield fs.promises.lstat(item.path);\n }\n // Note, isDirectory() returns false for the lstat of a symlink\n if (stats.isDirectory() && options.followSymbolicLinks) {\n // Get the realpath\n const realPath = yield fs.promises.realpath(item.path);\n // Fixup the traversal chain to match the item level\n while (traversalChain.length >= item.level) {\n traversalChain.pop();\n }\n // Test for a cycle\n if (traversalChain.some((x) => x === realPath)) {\n core.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`);\n return undefined;\n }\n // Update the traversal chain\n traversalChain.push(realPath);\n }\n return stats;\n });\n }\n}\nexports.DefaultGlobber = DefaultGlobber;\n//# sourceMappingURL=internal-globber.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MatchKind = void 0;\n/**\n * Indicates whether a pattern matches a path\n */\nvar MatchKind;\n(function (MatchKind) {\n /** Not matched */\n MatchKind[MatchKind[\"None\"] = 0] = \"None\";\n /** Matched if the path is a directory */\n MatchKind[MatchKind[\"Directory\"] = 1] = \"Directory\";\n /** Matched if the path is a regular file */\n MatchKind[MatchKind[\"File\"] = 2] = \"File\";\n /** Matched */\n MatchKind[MatchKind[\"All\"] = 3] = \"All\";\n})(MatchKind = exports.MatchKind || (exports.MatchKind = {}));\n//# sourceMappingURL=internal-match-kind.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.safeTrimTrailingSeparator = exports.normalizeSeparators = exports.hasRoot = exports.hasAbsoluteRoot = exports.ensureAbsoluteRoot = exports.dirname = void 0;\nconst path = __importStar(require(\"path\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst IS_WINDOWS = process.platform === 'win32';\n/**\n * Similar to path.dirname except normalizes the path separators and slightly better handling for Windows UNC paths.\n *\n * For example, on Linux/macOS:\n * - `/ => /`\n * - `/hello => /`\n *\n * For example, on Windows:\n * - `C:\\ => C:\\`\n * - `C:\\hello => C:\\`\n * - `C: => C:`\n * - `C:hello => C:`\n * - `\\ => \\`\n * - `\\hello => \\`\n * - `\\\\hello => \\\\hello`\n * - `\\\\hello\\world => \\\\hello\\world`\n */\nfunction dirname(p) {\n // Normalize slashes and trim unnecessary trailing slash\n p = safeTrimTrailingSeparator(p);\n // Windows UNC root, e.g. \\\\hello or \\\\hello\\world\n if (IS_WINDOWS && /^\\\\\\\\[^\\\\]+(\\\\[^\\\\]+)?$/.test(p)) {\n return p;\n }\n // Get dirname\n let result = path.dirname(p);\n // Trim trailing slash for Windows UNC root, e.g. \\\\hello\\world\\\n if (IS_WINDOWS && /^\\\\\\\\[^\\\\]+\\\\[^\\\\]+\\\\$/.test(result)) {\n result = safeTrimTrailingSeparator(result);\n }\n return result;\n}\nexports.dirname = dirname;\n/**\n * Roots the path if not already rooted. On Windows, relative roots like `\\`\n * or `C:` are expanded based on the current working directory.\n */\nfunction ensureAbsoluteRoot(root, itemPath) {\n assert_1.default(root, `ensureAbsoluteRoot parameter 'root' must not be empty`);\n assert_1.default(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`);\n // Already rooted\n if (hasAbsoluteRoot(itemPath)) {\n return itemPath;\n }\n // Windows\n if (IS_WINDOWS) {\n // Check for itemPath like C: or C:foo\n if (itemPath.match(/^[A-Z]:[^\\\\/]|^[A-Z]:$/i)) {\n let cwd = process.cwd();\n assert_1.default(cwd.match(/^[A-Z]:\\\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);\n // Drive letter matches cwd? Expand to cwd\n if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) {\n // Drive only, e.g. C:\n if (itemPath.length === 2) {\n // Preserve specified drive letter case (upper or lower)\n return `${itemPath[0]}:\\\\${cwd.substr(3)}`;\n }\n // Drive + path, e.g. C:foo\n else {\n if (!cwd.endsWith('\\\\')) {\n cwd += '\\\\';\n }\n // Preserve specified drive letter case (upper or lower)\n return `${itemPath[0]}:\\\\${cwd.substr(3)}${itemPath.substr(2)}`;\n }\n }\n // Different drive\n else {\n return `${itemPath[0]}:\\\\${itemPath.substr(2)}`;\n }\n }\n // Check for itemPath like \\ or \\foo\n else if (normalizeSeparators(itemPath).match(/^\\\\$|^\\\\[^\\\\]/)) {\n const cwd = process.cwd();\n assert_1.default(cwd.match(/^[A-Z]:\\\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);\n return `${cwd[0]}:\\\\${itemPath.substr(1)}`;\n }\n }\n assert_1.default(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`);\n // Otherwise ensure root ends with a separator\n if (root.endsWith('/') || (IS_WINDOWS && root.endsWith('\\\\'))) {\n // Intentionally empty\n }\n else {\n // Append separator\n root += path.sep;\n }\n return root + itemPath;\n}\nexports.ensureAbsoluteRoot = ensureAbsoluteRoot;\n/**\n * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like:\n * `\\\\hello\\share` and `C:\\hello` (and using alternate separator).\n */\nfunction hasAbsoluteRoot(itemPath) {\n assert_1.default(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`);\n // Normalize separators\n itemPath = normalizeSeparators(itemPath);\n // Windows\n if (IS_WINDOWS) {\n // E.g. \\\\hello\\share or C:\\hello\n return itemPath.startsWith('\\\\\\\\') || /^[A-Z]:\\\\/i.test(itemPath);\n }\n // E.g. /hello\n return itemPath.startsWith('/');\n}\nexports.hasAbsoluteRoot = hasAbsoluteRoot;\n/**\n * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like:\n * `\\`, `\\hello`, `\\\\hello\\share`, `C:`, and `C:\\hello` (and using alternate separator).\n */\nfunction hasRoot(itemPath) {\n assert_1.default(itemPath, `isRooted parameter 'itemPath' must not be empty`);\n // Normalize separators\n itemPath = normalizeSeparators(itemPath);\n // Windows\n if (IS_WINDOWS) {\n // E.g. \\ or \\hello or \\\\hello\n // E.g. C: or C:\\hello\n return itemPath.startsWith('\\\\') || /^[A-Z]:/i.test(itemPath);\n }\n // E.g. /hello\n return itemPath.startsWith('/');\n}\nexports.hasRoot = hasRoot;\n/**\n * Removes redundant slashes and converts `/` to `\\` on Windows\n */\nfunction normalizeSeparators(p) {\n p = p || '';\n // Windows\n if (IS_WINDOWS) {\n // Convert slashes on Windows\n p = p.replace(/\\//g, '\\\\');\n // Remove redundant slashes\n const isUnc = /^\\\\\\\\+[^\\\\]/.test(p); // e.g. \\\\hello\n return (isUnc ? '\\\\' : '') + p.replace(/\\\\\\\\+/g, '\\\\'); // preserve leading \\\\ for UNC\n }\n // Remove redundant slashes\n return p.replace(/\\/\\/+/g, '/');\n}\nexports.normalizeSeparators = normalizeSeparators;\n/**\n * Normalizes the path separators and trims the trailing separator (when safe).\n * For example, `/foo/ => /foo` but `/ => /`\n */\nfunction safeTrimTrailingSeparator(p) {\n // Short-circuit if empty\n if (!p) {\n return '';\n }\n // Normalize separators\n p = normalizeSeparators(p);\n // No trailing slash\n if (!p.endsWith(path.sep)) {\n return p;\n }\n // Check '/' on Linux/macOS and '\\' on Windows\n if (p === path.sep) {\n return p;\n }\n // On Windows check if drive root. E.g. C:\\\n if (IS_WINDOWS && /^[A-Z]:\\\\$/i.test(p)) {\n return p;\n }\n // Otherwise trim trailing slash\n return p.substr(0, p.length - 1);\n}\nexports.safeTrimTrailingSeparator = safeTrimTrailingSeparator;\n//# sourceMappingURL=internal-path-helper.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Path = void 0;\nconst path = __importStar(require(\"path\"));\nconst pathHelper = __importStar(require(\"./internal-path-helper\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst IS_WINDOWS = process.platform === 'win32';\n/**\n * Helper class for parsing paths into segments\n */\nclass Path {\n /**\n * Constructs a Path\n * @param itemPath Path or array of segments\n */\n constructor(itemPath) {\n this.segments = [];\n // String\n if (typeof itemPath === 'string') {\n assert_1.default(itemPath, `Parameter 'itemPath' must not be empty`);\n // Normalize slashes and trim unnecessary trailing slash\n itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);\n // Not rooted\n if (!pathHelper.hasRoot(itemPath)) {\n this.segments = itemPath.split(path.sep);\n }\n // Rooted\n else {\n // Add all segments, while not at the root\n let remaining = itemPath;\n let dir = pathHelper.dirname(remaining);\n while (dir !== remaining) {\n // Add the segment\n const basename = path.basename(remaining);\n this.segments.unshift(basename);\n // Truncate the last segment\n remaining = dir;\n dir = pathHelper.dirname(remaining);\n }\n // Remainder is the root\n this.segments.unshift(remaining);\n }\n }\n // Array\n else {\n // Must not be empty\n assert_1.default(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`);\n // Each segment\n for (let i = 0; i < itemPath.length; i++) {\n let segment = itemPath[i];\n // Must not be empty\n assert_1.default(segment, `Parameter 'itemPath' must not contain any empty segments`);\n // Normalize slashes\n segment = pathHelper.normalizeSeparators(itemPath[i]);\n // Root segment\n if (i === 0 && pathHelper.hasRoot(segment)) {\n segment = pathHelper.safeTrimTrailingSeparator(segment);\n assert_1.default(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`);\n this.segments.push(segment);\n }\n // All other segments\n else {\n // Must not contain slash\n assert_1.default(!segment.includes(path.sep), `Parameter 'itemPath' contains unexpected path separators`);\n this.segments.push(segment);\n }\n }\n }\n }\n /**\n * Converts the path to it's string representation\n */\n toString() {\n // First segment\n let result = this.segments[0];\n // All others\n let skipSlash = result.endsWith(path.sep) || (IS_WINDOWS && /^[A-Z]:$/i.test(result));\n for (let i = 1; i < this.segments.length; i++) {\n if (skipSlash) {\n skipSlash = false;\n }\n else {\n result += path.sep;\n }\n result += this.segments[i];\n }\n return result;\n }\n}\nexports.Path = Path;\n//# sourceMappingURL=internal-path.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partialMatch = exports.match = exports.getSearchPaths = void 0;\nconst pathHelper = __importStar(require(\"./internal-path-helper\"));\nconst internal_match_kind_1 = require(\"./internal-match-kind\");\nconst IS_WINDOWS = process.platform === 'win32';\n/**\n * Given an array of patterns, returns an array of paths to search.\n * Duplicates and paths under other included paths are filtered out.\n */\nfunction getSearchPaths(patterns) {\n // Ignore negate patterns\n patterns = patterns.filter(x => !x.negate);\n // Create a map of all search paths\n const searchPathMap = {};\n for (const pattern of patterns) {\n const key = IS_WINDOWS\n ? pattern.searchPath.toUpperCase()\n : pattern.searchPath;\n searchPathMap[key] = 'candidate';\n }\n const result = [];\n for (const pattern of patterns) {\n // Check if already included\n const key = IS_WINDOWS\n ? pattern.searchPath.toUpperCase()\n : pattern.searchPath;\n if (searchPathMap[key] === 'included') {\n continue;\n }\n // Check for an ancestor search path\n let foundAncestor = false;\n let tempKey = key;\n let parent = pathHelper.dirname(tempKey);\n while (parent !== tempKey) {\n if (searchPathMap[parent]) {\n foundAncestor = true;\n break;\n }\n tempKey = parent;\n parent = pathHelper.dirname(tempKey);\n }\n // Include the search pattern in the result\n if (!foundAncestor) {\n result.push(pattern.searchPath);\n searchPathMap[key] = 'included';\n }\n }\n return result;\n}\nexports.getSearchPaths = getSearchPaths;\n/**\n * Matches the patterns against the path\n */\nfunction match(patterns, itemPath) {\n let result = internal_match_kind_1.MatchKind.None;\n for (const pattern of patterns) {\n if (pattern.negate) {\n result &= ~pattern.match(itemPath);\n }\n else {\n result |= pattern.match(itemPath);\n }\n }\n return result;\n}\nexports.match = match;\n/**\n * Checks whether to descend further into the directory\n */\nfunction partialMatch(patterns, itemPath) {\n return patterns.some(x => !x.negate && x.partialMatch(itemPath));\n}\nexports.partialMatch = partialMatch;\n//# sourceMappingURL=internal-pattern-helper.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pattern = void 0;\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst pathHelper = __importStar(require(\"./internal-path-helper\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst minimatch_1 = require(\"minimatch\");\nconst internal_match_kind_1 = require(\"./internal-match-kind\");\nconst internal_path_1 = require(\"./internal-path\");\nconst IS_WINDOWS = process.platform === 'win32';\nclass Pattern {\n constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) {\n /**\n * Indicates whether matches should be excluded from the result set\n */\n this.negate = false;\n // Pattern overload\n let pattern;\n if (typeof patternOrNegate === 'string') {\n pattern = patternOrNegate.trim();\n }\n // Segments overload\n else {\n // Convert to pattern\n segments = segments || [];\n assert_1.default(segments.length, `Parameter 'segments' must not empty`);\n const root = Pattern.getLiteral(segments[0]);\n assert_1.default(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`);\n pattern = new internal_path_1.Path(segments).toString().trim();\n if (patternOrNegate) {\n pattern = `!${pattern}`;\n }\n }\n // Negate\n while (pattern.startsWith('!')) {\n this.negate = !this.negate;\n pattern = pattern.substr(1).trim();\n }\n // Normalize slashes and ensures absolute root\n pattern = Pattern.fixupPattern(pattern, homedir);\n // Segments\n this.segments = new internal_path_1.Path(pattern).segments;\n // Trailing slash indicates the pattern should only match directories, not regular files\n this.trailingSeparator = pathHelper\n .normalizeSeparators(pattern)\n .endsWith(path.sep);\n pattern = pathHelper.safeTrimTrailingSeparator(pattern);\n // Search path (literal path prior to the first glob segment)\n let foundGlob = false;\n const searchSegments = this.segments\n .map(x => Pattern.getLiteral(x))\n .filter(x => !foundGlob && !(foundGlob = x === ''));\n this.searchPath = new internal_path_1.Path(searchSegments).toString();\n // Root RegExp (required when determining partial match)\n this.rootRegExp = new RegExp(Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? 'i' : '');\n this.isImplicitPattern = isImplicitPattern;\n // Create minimatch\n const minimatchOptions = {\n dot: true,\n nobrace: true,\n nocase: IS_WINDOWS,\n nocomment: true,\n noext: true,\n nonegate: true\n };\n pattern = IS_WINDOWS ? pattern.replace(/\\\\/g, '/') : pattern;\n this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions);\n }\n /**\n * Matches the pattern against the specified path\n */\n match(itemPath) {\n // Last segment is globstar?\n if (this.segments[this.segments.length - 1] === '**') {\n // Normalize slashes\n itemPath = pathHelper.normalizeSeparators(itemPath);\n // Append a trailing slash. Otherwise Minimatch will not match the directory immediately\n // preceding the globstar. For example, given the pattern `/foo/**`, Minimatch returns\n // false for `/foo` but returns true for `/foo/`. Append a trailing slash to handle that quirk.\n if (!itemPath.endsWith(path.sep) && this.isImplicitPattern === false) {\n // Note, this is safe because the constructor ensures the pattern has an absolute root.\n // For example, formats like C: and C:foo on Windows are resolved to an absolute root.\n itemPath = `${itemPath}${path.sep}`;\n }\n }\n else {\n // Normalize slashes and trim unnecessary trailing slash\n itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);\n }\n // Match\n if (this.minimatch.match(itemPath)) {\n return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All;\n }\n return internal_match_kind_1.MatchKind.None;\n }\n /**\n * Indicates whether the pattern may match descendants of the specified path\n */\n partialMatch(itemPath) {\n // Normalize slashes and trim unnecessary trailing slash\n itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);\n // matchOne does not handle root path correctly\n if (pathHelper.dirname(itemPath) === itemPath) {\n return this.rootRegExp.test(itemPath);\n }\n return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\\\+/ : /\\/+/), this.minimatch.set[0], true);\n }\n /**\n * Escapes glob patterns within a path\n */\n static globEscape(s) {\n return (IS_WINDOWS ? s : s.replace(/\\\\/g, '\\\\\\\\')) // escape '\\' on Linux/macOS\n .replace(/(\\[)(?=[^/]+\\])/g, '[[]') // escape '[' when ']' follows within the path segment\n .replace(/\\?/g, '[?]') // escape '?'\n .replace(/\\*/g, '[*]'); // escape '*'\n }\n /**\n * Normalizes slashes and ensures absolute root\n */\n static fixupPattern(pattern, homedir) {\n // Empty\n assert_1.default(pattern, 'pattern cannot be empty');\n // Must not contain `.` segment, unless first segment\n // Must not contain `..` segment\n const literalSegments = new internal_path_1.Path(pattern).segments.map(x => Pattern.getLiteral(x));\n assert_1.default(literalSegments.every((x, i) => (x !== '.' || i === 0) && x !== '..'), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`);\n // Must not contain globs in root, e.g. Windows UNC path \\\\foo\\b*r\n assert_1.default(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`);\n // Normalize slashes\n pattern = pathHelper.normalizeSeparators(pattern);\n // Replace leading `.` segment\n if (pattern === '.' || pattern.startsWith(`.${path.sep}`)) {\n pattern = Pattern.globEscape(process.cwd()) + pattern.substr(1);\n }\n // Replace leading `~` segment\n else if (pattern === '~' || pattern.startsWith(`~${path.sep}`)) {\n homedir = homedir || os.homedir();\n assert_1.default(homedir, 'Unable to determine HOME directory');\n assert_1.default(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`);\n pattern = Pattern.globEscape(homedir) + pattern.substr(1);\n }\n // Replace relative drive root, e.g. pattern is C: or C:foo\n else if (IS_WINDOWS &&\n (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\\\]/i))) {\n let root = pathHelper.ensureAbsoluteRoot('C:\\\\dummy-root', pattern.substr(0, 2));\n if (pattern.length > 2 && !root.endsWith('\\\\')) {\n root += '\\\\';\n }\n pattern = Pattern.globEscape(root) + pattern.substr(2);\n }\n // Replace relative root, e.g. pattern is \\ or \\foo\n else if (IS_WINDOWS && (pattern === '\\\\' || pattern.match(/^\\\\[^\\\\]/))) {\n let root = pathHelper.ensureAbsoluteRoot('C:\\\\dummy-root', '\\\\');\n if (!root.endsWith('\\\\')) {\n root += '\\\\';\n }\n pattern = Pattern.globEscape(root) + pattern.substr(1);\n }\n // Otherwise ensure absolute root\n else {\n pattern = pathHelper.ensureAbsoluteRoot(Pattern.globEscape(process.cwd()), pattern);\n }\n return pathHelper.normalizeSeparators(pattern);\n }\n /**\n * Attempts to unescape a pattern segment to create a literal path segment.\n * Otherwise returns empty string.\n */\n static getLiteral(segment) {\n let literal = '';\n for (let i = 0; i < segment.length; i++) {\n const c = segment[i];\n // Escape\n if (c === '\\\\' && !IS_WINDOWS && i + 1 < segment.length) {\n literal += segment[++i];\n continue;\n }\n // Wildcard\n else if (c === '*' || c === '?') {\n return '';\n }\n // Character set\n else if (c === '[' && i + 1 < segment.length) {\n let set = '';\n let closed = -1;\n for (let i2 = i + 1; i2 < segment.length; i2++) {\n const c2 = segment[i2];\n // Escape\n if (c2 === '\\\\' && !IS_WINDOWS && i2 + 1 < segment.length) {\n set += segment[++i2];\n continue;\n }\n // Closed\n else if (c2 === ']') {\n closed = i2;\n break;\n }\n // Otherwise\n else {\n set += c2;\n }\n }\n // Closed?\n if (closed >= 0) {\n // Cannot convert\n if (set.length > 1) {\n return '';\n }\n // Convert to literal\n if (set) {\n literal += set;\n i = closed;\n continue;\n }\n }\n // Otherwise fall thru\n }\n // Append\n literal += c;\n }\n return literal;\n }\n /**\n * Escapes regexp special characters\n * https://javascript.info/regexp-escaping\n */\n static regExpEscape(s) {\n return s.replace(/[[\\\\^$.|?*+()]/g, '\\\\$&');\n }\n}\nexports.Pattern = Pattern;\n//# sourceMappingURL=internal-pattern.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchState = void 0;\nclass SearchState {\n constructor(path, level) {\n this.path = path;\n this.level = level;\n }\n}\nexports.SearchState = SearchState;\n//# sourceMappingURL=internal-search-state.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;\nclass BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BasicCredentialHandler = BasicCredentialHandler;\nclass BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BearerCredentialHandler = BearerCredentialHandler;\nclass PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;\n//# sourceMappingURL=auth.js.map","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkBypass = exports.getProxyUrl = void 0;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n return new URL(proxyVar);\n }\n else {\n return undefined;\n }\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperReqHosts.some(x => x === upperNoProxyItem)) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\n//# sourceMappingURL=proxy.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar index_1 = require(\"./index\");\nvar AwsCrc32 = /** @class */ (function () {\n function AwsCrc32() {\n this.crc32 = new index_1.Crc32();\n }\n AwsCrc32.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash))\n return;\n this.crc32.update((0, util_1.convertToBuffer)(toHash));\n };\n AwsCrc32.prototype.digest = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, (0, util_1.numToUint8)(this.crc32.digest())];\n });\n });\n };\n AwsCrc32.prototype.reset = function () {\n this.crc32 = new index_1.Crc32();\n };\n return AwsCrc32;\n}());\nexports.AwsCrc32 = AwsCrc32;\n//# sourceMappingURL=aws_crc32.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nfunction crc32(data) {\n return new Crc32().update(data).digest();\n}\nexports.crc32 = crc32;\nvar Crc32 = /** @class */ (function () {\n function Crc32() {\n this.checksum = 0xffffffff;\n }\n Crc32.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32;\n}());\nexports.Crc32 = Crc32;\n// prettier-ignore\nvar a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nvar lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);\nvar aws_crc32_1 = require(\"./aws_crc32\");\nObject.defineProperty(exports, \"AwsCrc32\", { enumerable: true, get: function () { return aws_crc32_1.AwsCrc32; } });\n//# sourceMappingURL=index.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32c = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar index_1 = require(\"./index\");\nvar AwsCrc32c = /** @class */ (function () {\n function AwsCrc32c() {\n this.crc32c = new index_1.Crc32c();\n }\n AwsCrc32c.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash))\n return;\n this.crc32c.update((0, util_1.convertToBuffer)(toHash));\n };\n AwsCrc32c.prototype.digest = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, (0, util_1.numToUint8)(this.crc32c.digest())];\n });\n });\n };\n AwsCrc32c.prototype.reset = function () {\n this.crc32c = new index_1.Crc32c();\n };\n return AwsCrc32c;\n}());\nexports.AwsCrc32c = AwsCrc32c;\n//# sourceMappingURL=aws_crc32c.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32c = exports.Crc32c = exports.crc32c = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nfunction crc32c(data) {\n return new Crc32c().update(data).digest();\n}\nexports.crc32c = crc32c;\nvar Crc32c = /** @class */ (function () {\n function Crc32c() {\n this.checksum = 0xffffffff;\n }\n Crc32c.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32c.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32c;\n}());\nexports.Crc32c = Crc32c;\n// prettier-ignore\nvar a_lookupTable = [\n 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,\n 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,\n 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,\n 0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,\n 0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,\n 0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,\n 0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,\n 0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,\n 0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,\n 0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,\n 0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,\n 0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,\n 0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,\n 0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,\n 0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,\n 0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,\n 0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,\n 0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,\n 0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,\n 0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,\n 0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,\n 0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,\n 0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,\n 0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,\n 0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,\n 0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,\n 0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,\n 0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,\n 0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,\n 0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,\n 0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,\n 0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,\n];\nvar lookupTable = (0, util_1.uint32ArrayFrom)(a_lookupTable);\nvar aws_crc32c_1 = require(\"./aws_crc32c\");\nObject.defineProperty(exports, \"AwsCrc32c\", { enumerable: true, get: function () { return aws_crc32c_1.AwsCrc32c; } });\n//# sourceMappingURL=index.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertToBuffer = void 0;\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : util_utf8_browser_1.fromUtf8;\nfunction convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return data;\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\nexports.convertToBuffer = convertToBuffer;\n//# sourceMappingURL=convertToBuffer.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\nvar convertToBuffer_1 = require(\"./convertToBuffer\");\nObject.defineProperty(exports, \"convertToBuffer\", { enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } });\nvar isEmptyData_1 = require(\"./isEmptyData\");\nObject.defineProperty(exports, \"isEmptyData\", { enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } });\nvar numToUint8_1 = require(\"./numToUint8\");\nObject.defineProperty(exports, \"numToUint8\", { enumerable: true, get: function () { return numToUint8_1.numToUint8; } });\nvar uint32ArrayFrom_1 = require(\"./uint32ArrayFrom\");\nObject.defineProperty(exports, \"uint32ArrayFrom\", { enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmptyData = void 0;\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=isEmptyData.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numToUint8 = void 0;\nfunction numToUint8(num) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\nexports.numToUint8 = numToUint8;\n//# sourceMappingURL=numToUint8.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = void 0;\n// IE 11 does not support Array.from, so we do it manually\nfunction uint32ArrayFrom(a_lookUpTable) {\n if (!Uint32Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n a_index += 1;\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\nexports.uint32ArrayFrom = uint32ArrayFrom;\n//# sourceMappingURL=uint32ArrayFrom.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3 = void 0;\nconst AbortMultipartUploadCommand_1 = require(\"./commands/AbortMultipartUploadCommand\");\nconst CompleteMultipartUploadCommand_1 = require(\"./commands/CompleteMultipartUploadCommand\");\nconst CopyObjectCommand_1 = require(\"./commands/CopyObjectCommand\");\nconst CreateBucketCommand_1 = require(\"./commands/CreateBucketCommand\");\nconst CreateMultipartUploadCommand_1 = require(\"./commands/CreateMultipartUploadCommand\");\nconst DeleteBucketAnalyticsConfigurationCommand_1 = require(\"./commands/DeleteBucketAnalyticsConfigurationCommand\");\nconst DeleteBucketCommand_1 = require(\"./commands/DeleteBucketCommand\");\nconst DeleteBucketCorsCommand_1 = require(\"./commands/DeleteBucketCorsCommand\");\nconst DeleteBucketEncryptionCommand_1 = require(\"./commands/DeleteBucketEncryptionCommand\");\nconst DeleteBucketIntelligentTieringConfigurationCommand_1 = require(\"./commands/DeleteBucketIntelligentTieringConfigurationCommand\");\nconst DeleteBucketInventoryConfigurationCommand_1 = require(\"./commands/DeleteBucketInventoryConfigurationCommand\");\nconst DeleteBucketLifecycleCommand_1 = require(\"./commands/DeleteBucketLifecycleCommand\");\nconst DeleteBucketMetricsConfigurationCommand_1 = require(\"./commands/DeleteBucketMetricsConfigurationCommand\");\nconst DeleteBucketOwnershipControlsCommand_1 = require(\"./commands/DeleteBucketOwnershipControlsCommand\");\nconst DeleteBucketPolicyCommand_1 = require(\"./commands/DeleteBucketPolicyCommand\");\nconst DeleteBucketReplicationCommand_1 = require(\"./commands/DeleteBucketReplicationCommand\");\nconst DeleteBucketTaggingCommand_1 = require(\"./commands/DeleteBucketTaggingCommand\");\nconst DeleteBucketWebsiteCommand_1 = require(\"./commands/DeleteBucketWebsiteCommand\");\nconst DeleteObjectCommand_1 = require(\"./commands/DeleteObjectCommand\");\nconst DeleteObjectsCommand_1 = require(\"./commands/DeleteObjectsCommand\");\nconst DeleteObjectTaggingCommand_1 = require(\"./commands/DeleteObjectTaggingCommand\");\nconst DeletePublicAccessBlockCommand_1 = require(\"./commands/DeletePublicAccessBlockCommand\");\nconst GetBucketAccelerateConfigurationCommand_1 = require(\"./commands/GetBucketAccelerateConfigurationCommand\");\nconst GetBucketAclCommand_1 = require(\"./commands/GetBucketAclCommand\");\nconst GetBucketAnalyticsConfigurationCommand_1 = require(\"./commands/GetBucketAnalyticsConfigurationCommand\");\nconst GetBucketCorsCommand_1 = require(\"./commands/GetBucketCorsCommand\");\nconst GetBucketEncryptionCommand_1 = require(\"./commands/GetBucketEncryptionCommand\");\nconst GetBucketIntelligentTieringConfigurationCommand_1 = require(\"./commands/GetBucketIntelligentTieringConfigurationCommand\");\nconst GetBucketInventoryConfigurationCommand_1 = require(\"./commands/GetBucketInventoryConfigurationCommand\");\nconst GetBucketLifecycleConfigurationCommand_1 = require(\"./commands/GetBucketLifecycleConfigurationCommand\");\nconst GetBucketLocationCommand_1 = require(\"./commands/GetBucketLocationCommand\");\nconst GetBucketLoggingCommand_1 = require(\"./commands/GetBucketLoggingCommand\");\nconst GetBucketMetricsConfigurationCommand_1 = require(\"./commands/GetBucketMetricsConfigurationCommand\");\nconst GetBucketNotificationConfigurationCommand_1 = require(\"./commands/GetBucketNotificationConfigurationCommand\");\nconst GetBucketOwnershipControlsCommand_1 = require(\"./commands/GetBucketOwnershipControlsCommand\");\nconst GetBucketPolicyCommand_1 = require(\"./commands/GetBucketPolicyCommand\");\nconst GetBucketPolicyStatusCommand_1 = require(\"./commands/GetBucketPolicyStatusCommand\");\nconst GetBucketReplicationCommand_1 = require(\"./commands/GetBucketReplicationCommand\");\nconst GetBucketRequestPaymentCommand_1 = require(\"./commands/GetBucketRequestPaymentCommand\");\nconst GetBucketTaggingCommand_1 = require(\"./commands/GetBucketTaggingCommand\");\nconst GetBucketVersioningCommand_1 = require(\"./commands/GetBucketVersioningCommand\");\nconst GetBucketWebsiteCommand_1 = require(\"./commands/GetBucketWebsiteCommand\");\nconst GetObjectAclCommand_1 = require(\"./commands/GetObjectAclCommand\");\nconst GetObjectAttributesCommand_1 = require(\"./commands/GetObjectAttributesCommand\");\nconst GetObjectCommand_1 = require(\"./commands/GetObjectCommand\");\nconst GetObjectLegalHoldCommand_1 = require(\"./commands/GetObjectLegalHoldCommand\");\nconst GetObjectLockConfigurationCommand_1 = require(\"./commands/GetObjectLockConfigurationCommand\");\nconst GetObjectRetentionCommand_1 = require(\"./commands/GetObjectRetentionCommand\");\nconst GetObjectTaggingCommand_1 = require(\"./commands/GetObjectTaggingCommand\");\nconst GetObjectTorrentCommand_1 = require(\"./commands/GetObjectTorrentCommand\");\nconst GetPublicAccessBlockCommand_1 = require(\"./commands/GetPublicAccessBlockCommand\");\nconst HeadBucketCommand_1 = require(\"./commands/HeadBucketCommand\");\nconst HeadObjectCommand_1 = require(\"./commands/HeadObjectCommand\");\nconst ListBucketAnalyticsConfigurationsCommand_1 = require(\"./commands/ListBucketAnalyticsConfigurationsCommand\");\nconst ListBucketIntelligentTieringConfigurationsCommand_1 = require(\"./commands/ListBucketIntelligentTieringConfigurationsCommand\");\nconst ListBucketInventoryConfigurationsCommand_1 = require(\"./commands/ListBucketInventoryConfigurationsCommand\");\nconst ListBucketMetricsConfigurationsCommand_1 = require(\"./commands/ListBucketMetricsConfigurationsCommand\");\nconst ListBucketsCommand_1 = require(\"./commands/ListBucketsCommand\");\nconst ListMultipartUploadsCommand_1 = require(\"./commands/ListMultipartUploadsCommand\");\nconst ListObjectsCommand_1 = require(\"./commands/ListObjectsCommand\");\nconst ListObjectsV2Command_1 = require(\"./commands/ListObjectsV2Command\");\nconst ListObjectVersionsCommand_1 = require(\"./commands/ListObjectVersionsCommand\");\nconst ListPartsCommand_1 = require(\"./commands/ListPartsCommand\");\nconst PutBucketAccelerateConfigurationCommand_1 = require(\"./commands/PutBucketAccelerateConfigurationCommand\");\nconst PutBucketAclCommand_1 = require(\"./commands/PutBucketAclCommand\");\nconst PutBucketAnalyticsConfigurationCommand_1 = require(\"./commands/PutBucketAnalyticsConfigurationCommand\");\nconst PutBucketCorsCommand_1 = require(\"./commands/PutBucketCorsCommand\");\nconst PutBucketEncryptionCommand_1 = require(\"./commands/PutBucketEncryptionCommand\");\nconst PutBucketIntelligentTieringConfigurationCommand_1 = require(\"./commands/PutBucketIntelligentTieringConfigurationCommand\");\nconst PutBucketInventoryConfigurationCommand_1 = require(\"./commands/PutBucketInventoryConfigurationCommand\");\nconst PutBucketLifecycleConfigurationCommand_1 = require(\"./commands/PutBucketLifecycleConfigurationCommand\");\nconst PutBucketLoggingCommand_1 = require(\"./commands/PutBucketLoggingCommand\");\nconst PutBucketMetricsConfigurationCommand_1 = require(\"./commands/PutBucketMetricsConfigurationCommand\");\nconst PutBucketNotificationConfigurationCommand_1 = require(\"./commands/PutBucketNotificationConfigurationCommand\");\nconst PutBucketOwnershipControlsCommand_1 = require(\"./commands/PutBucketOwnershipControlsCommand\");\nconst PutBucketPolicyCommand_1 = require(\"./commands/PutBucketPolicyCommand\");\nconst PutBucketReplicationCommand_1 = require(\"./commands/PutBucketReplicationCommand\");\nconst PutBucketRequestPaymentCommand_1 = require(\"./commands/PutBucketRequestPaymentCommand\");\nconst PutBucketTaggingCommand_1 = require(\"./commands/PutBucketTaggingCommand\");\nconst PutBucketVersioningCommand_1 = require(\"./commands/PutBucketVersioningCommand\");\nconst PutBucketWebsiteCommand_1 = require(\"./commands/PutBucketWebsiteCommand\");\nconst PutObjectAclCommand_1 = require(\"./commands/PutObjectAclCommand\");\nconst PutObjectCommand_1 = require(\"./commands/PutObjectCommand\");\nconst PutObjectLegalHoldCommand_1 = require(\"./commands/PutObjectLegalHoldCommand\");\nconst PutObjectLockConfigurationCommand_1 = require(\"./commands/PutObjectLockConfigurationCommand\");\nconst PutObjectRetentionCommand_1 = require(\"./commands/PutObjectRetentionCommand\");\nconst PutObjectTaggingCommand_1 = require(\"./commands/PutObjectTaggingCommand\");\nconst PutPublicAccessBlockCommand_1 = require(\"./commands/PutPublicAccessBlockCommand\");\nconst RestoreObjectCommand_1 = require(\"./commands/RestoreObjectCommand\");\nconst SelectObjectContentCommand_1 = require(\"./commands/SelectObjectContentCommand\");\nconst UploadPartCommand_1 = require(\"./commands/UploadPartCommand\");\nconst UploadPartCopyCommand_1 = require(\"./commands/UploadPartCopyCommand\");\nconst WriteGetObjectResponseCommand_1 = require(\"./commands/WriteGetObjectResponseCommand\");\nconst S3Client_1 = require(\"./S3Client\");\nclass S3 extends S3Client_1.S3Client {\n abortMultipartUpload(args, optionsOrCb, cb) {\n const command = new AbortMultipartUploadCommand_1.AbortMultipartUploadCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n completeMultipartUpload(args, optionsOrCb, cb) {\n const command = new CompleteMultipartUploadCommand_1.CompleteMultipartUploadCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n copyObject(args, optionsOrCb, cb) {\n const command = new CopyObjectCommand_1.CopyObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n createBucket(args, optionsOrCb, cb) {\n const command = new CreateBucketCommand_1.CreateBucketCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n createMultipartUpload(args, optionsOrCb, cb) {\n const command = new CreateMultipartUploadCommand_1.CreateMultipartUploadCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucket(args, optionsOrCb, cb) {\n const command = new DeleteBucketCommand_1.DeleteBucketCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketAnalyticsConfiguration(args, optionsOrCb, cb) {\n const command = new DeleteBucketAnalyticsConfigurationCommand_1.DeleteBucketAnalyticsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketCors(args, optionsOrCb, cb) {\n const command = new DeleteBucketCorsCommand_1.DeleteBucketCorsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketEncryption(args, optionsOrCb, cb) {\n const command = new DeleteBucketEncryptionCommand_1.DeleteBucketEncryptionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketIntelligentTieringConfiguration(args, optionsOrCb, cb) {\n const command = new DeleteBucketIntelligentTieringConfigurationCommand_1.DeleteBucketIntelligentTieringConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketInventoryConfiguration(args, optionsOrCb, cb) {\n const command = new DeleteBucketInventoryConfigurationCommand_1.DeleteBucketInventoryConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketLifecycle(args, optionsOrCb, cb) {\n const command = new DeleteBucketLifecycleCommand_1.DeleteBucketLifecycleCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketMetricsConfiguration(args, optionsOrCb, cb) {\n const command = new DeleteBucketMetricsConfigurationCommand_1.DeleteBucketMetricsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketOwnershipControls(args, optionsOrCb, cb) {\n const command = new DeleteBucketOwnershipControlsCommand_1.DeleteBucketOwnershipControlsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketPolicy(args, optionsOrCb, cb) {\n const command = new DeleteBucketPolicyCommand_1.DeleteBucketPolicyCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketReplication(args, optionsOrCb, cb) {\n const command = new DeleteBucketReplicationCommand_1.DeleteBucketReplicationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketTagging(args, optionsOrCb, cb) {\n const command = new DeleteBucketTaggingCommand_1.DeleteBucketTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketWebsite(args, optionsOrCb, cb) {\n const command = new DeleteBucketWebsiteCommand_1.DeleteBucketWebsiteCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteObject(args, optionsOrCb, cb) {\n const command = new DeleteObjectCommand_1.DeleteObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteObjects(args, optionsOrCb, cb) {\n const command = new DeleteObjectsCommand_1.DeleteObjectsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteObjectTagging(args, optionsOrCb, cb) {\n const command = new DeleteObjectTaggingCommand_1.DeleteObjectTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deletePublicAccessBlock(args, optionsOrCb, cb) {\n const command = new DeletePublicAccessBlockCommand_1.DeletePublicAccessBlockCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketAccelerateConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketAccelerateConfigurationCommand_1.GetBucketAccelerateConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketAcl(args, optionsOrCb, cb) {\n const command = new GetBucketAclCommand_1.GetBucketAclCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketAnalyticsConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketAnalyticsConfigurationCommand_1.GetBucketAnalyticsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketCors(args, optionsOrCb, cb) {\n const command = new GetBucketCorsCommand_1.GetBucketCorsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketEncryption(args, optionsOrCb, cb) {\n const command = new GetBucketEncryptionCommand_1.GetBucketEncryptionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketIntelligentTieringConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketIntelligentTieringConfigurationCommand_1.GetBucketIntelligentTieringConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketInventoryConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketInventoryConfigurationCommand_1.GetBucketInventoryConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketLifecycleConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketLifecycleConfigurationCommand_1.GetBucketLifecycleConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketLocation(args, optionsOrCb, cb) {\n const command = new GetBucketLocationCommand_1.GetBucketLocationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketLogging(args, optionsOrCb, cb) {\n const command = new GetBucketLoggingCommand_1.GetBucketLoggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketMetricsConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketMetricsConfigurationCommand_1.GetBucketMetricsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketNotificationConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketNotificationConfigurationCommand_1.GetBucketNotificationConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketOwnershipControls(args, optionsOrCb, cb) {\n const command = new GetBucketOwnershipControlsCommand_1.GetBucketOwnershipControlsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketPolicy(args, optionsOrCb, cb) {\n const command = new GetBucketPolicyCommand_1.GetBucketPolicyCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketPolicyStatus(args, optionsOrCb, cb) {\n const command = new GetBucketPolicyStatusCommand_1.GetBucketPolicyStatusCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketReplication(args, optionsOrCb, cb) {\n const command = new GetBucketReplicationCommand_1.GetBucketReplicationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketRequestPayment(args, optionsOrCb, cb) {\n const command = new GetBucketRequestPaymentCommand_1.GetBucketRequestPaymentCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketTagging(args, optionsOrCb, cb) {\n const command = new GetBucketTaggingCommand_1.GetBucketTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketVersioning(args, optionsOrCb, cb) {\n const command = new GetBucketVersioningCommand_1.GetBucketVersioningCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketWebsite(args, optionsOrCb, cb) {\n const command = new GetBucketWebsiteCommand_1.GetBucketWebsiteCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObject(args, optionsOrCb, cb) {\n const command = new GetObjectCommand_1.GetObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectAcl(args, optionsOrCb, cb) {\n const command = new GetObjectAclCommand_1.GetObjectAclCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectAttributes(args, optionsOrCb, cb) {\n const command = new GetObjectAttributesCommand_1.GetObjectAttributesCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectLegalHold(args, optionsOrCb, cb) {\n const command = new GetObjectLegalHoldCommand_1.GetObjectLegalHoldCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectLockConfiguration(args, optionsOrCb, cb) {\n const command = new GetObjectLockConfigurationCommand_1.GetObjectLockConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectRetention(args, optionsOrCb, cb) {\n const command = new GetObjectRetentionCommand_1.GetObjectRetentionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectTagging(args, optionsOrCb, cb) {\n const command = new GetObjectTaggingCommand_1.GetObjectTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectTorrent(args, optionsOrCb, cb) {\n const command = new GetObjectTorrentCommand_1.GetObjectTorrentCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getPublicAccessBlock(args, optionsOrCb, cb) {\n const command = new GetPublicAccessBlockCommand_1.GetPublicAccessBlockCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n headBucket(args, optionsOrCb, cb) {\n const command = new HeadBucketCommand_1.HeadBucketCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n headObject(args, optionsOrCb, cb) {\n const command = new HeadObjectCommand_1.HeadObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBucketAnalyticsConfigurations(args, optionsOrCb, cb) {\n const command = new ListBucketAnalyticsConfigurationsCommand_1.ListBucketAnalyticsConfigurationsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBucketIntelligentTieringConfigurations(args, optionsOrCb, cb) {\n const command = new ListBucketIntelligentTieringConfigurationsCommand_1.ListBucketIntelligentTieringConfigurationsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBucketInventoryConfigurations(args, optionsOrCb, cb) {\n const command = new ListBucketInventoryConfigurationsCommand_1.ListBucketInventoryConfigurationsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBucketMetricsConfigurations(args, optionsOrCb, cb) {\n const command = new ListBucketMetricsConfigurationsCommand_1.ListBucketMetricsConfigurationsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBuckets(args, optionsOrCb, cb) {\n const command = new ListBucketsCommand_1.ListBucketsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listMultipartUploads(args, optionsOrCb, cb) {\n const command = new ListMultipartUploadsCommand_1.ListMultipartUploadsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listObjects(args, optionsOrCb, cb) {\n const command = new ListObjectsCommand_1.ListObjectsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listObjectsV2(args, optionsOrCb, cb) {\n const command = new ListObjectsV2Command_1.ListObjectsV2Command(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listObjectVersions(args, optionsOrCb, cb) {\n const command = new ListObjectVersionsCommand_1.ListObjectVersionsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listParts(args, optionsOrCb, cb) {\n const command = new ListPartsCommand_1.ListPartsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketAccelerateConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketAccelerateConfigurationCommand_1.PutBucketAccelerateConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketAcl(args, optionsOrCb, cb) {\n const command = new PutBucketAclCommand_1.PutBucketAclCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketAnalyticsConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketAnalyticsConfigurationCommand_1.PutBucketAnalyticsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketCors(args, optionsOrCb, cb) {\n const command = new PutBucketCorsCommand_1.PutBucketCorsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketEncryption(args, optionsOrCb, cb) {\n const command = new PutBucketEncryptionCommand_1.PutBucketEncryptionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketIntelligentTieringConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketIntelligentTieringConfigurationCommand_1.PutBucketIntelligentTieringConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketInventoryConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketInventoryConfigurationCommand_1.PutBucketInventoryConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketLifecycleConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketLifecycleConfigurationCommand_1.PutBucketLifecycleConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketLogging(args, optionsOrCb, cb) {\n const command = new PutBucketLoggingCommand_1.PutBucketLoggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketMetricsConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketMetricsConfigurationCommand_1.PutBucketMetricsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketNotificationConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketNotificationConfigurationCommand_1.PutBucketNotificationConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketOwnershipControls(args, optionsOrCb, cb) {\n const command = new PutBucketOwnershipControlsCommand_1.PutBucketOwnershipControlsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketPolicy(args, optionsOrCb, cb) {\n const command = new PutBucketPolicyCommand_1.PutBucketPolicyCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketReplication(args, optionsOrCb, cb) {\n const command = new PutBucketReplicationCommand_1.PutBucketReplicationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketRequestPayment(args, optionsOrCb, cb) {\n const command = new PutBucketRequestPaymentCommand_1.PutBucketRequestPaymentCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketTagging(args, optionsOrCb, cb) {\n const command = new PutBucketTaggingCommand_1.PutBucketTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketVersioning(args, optionsOrCb, cb) {\n const command = new PutBucketVersioningCommand_1.PutBucketVersioningCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketWebsite(args, optionsOrCb, cb) {\n const command = new PutBucketWebsiteCommand_1.PutBucketWebsiteCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObject(args, optionsOrCb, cb) {\n const command = new PutObjectCommand_1.PutObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectAcl(args, optionsOrCb, cb) {\n const command = new PutObjectAclCommand_1.PutObjectAclCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectLegalHold(args, optionsOrCb, cb) {\n const command = new PutObjectLegalHoldCommand_1.PutObjectLegalHoldCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectLockConfiguration(args, optionsOrCb, cb) {\n const command = new PutObjectLockConfigurationCommand_1.PutObjectLockConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectRetention(args, optionsOrCb, cb) {\n const command = new PutObjectRetentionCommand_1.PutObjectRetentionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectTagging(args, optionsOrCb, cb) {\n const command = new PutObjectTaggingCommand_1.PutObjectTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putPublicAccessBlock(args, optionsOrCb, cb) {\n const command = new PutPublicAccessBlockCommand_1.PutPublicAccessBlockCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n restoreObject(args, optionsOrCb, cb) {\n const command = new RestoreObjectCommand_1.RestoreObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n selectObjectContent(args, optionsOrCb, cb) {\n const command = new SelectObjectContentCommand_1.SelectObjectContentCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n uploadPart(args, optionsOrCb, cb) {\n const command = new UploadPartCommand_1.UploadPartCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n uploadPartCopy(args, optionsOrCb, cb) {\n const command = new UploadPartCopyCommand_1.UploadPartCopyCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n writeGetObjectResponse(args, optionsOrCb, cb) {\n const command = new WriteGetObjectResponseCommand_1.WriteGetObjectResponseCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n}\nexports.S3 = S3;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3Client = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst eventstream_serde_config_resolver_1 = require(\"@aws-sdk/eventstream-serde-config-resolver\");\nconst middleware_content_length_1 = require(\"@aws-sdk/middleware-content-length\");\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_expect_continue_1 = require(\"@aws-sdk/middleware-expect-continue\");\nconst middleware_host_header_1 = require(\"@aws-sdk/middleware-host-header\");\nconst middleware_logger_1 = require(\"@aws-sdk/middleware-logger\");\nconst middleware_recursion_detection_1 = require(\"@aws-sdk/middleware-recursion-detection\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst middleware_user_agent_1 = require(\"@aws-sdk/middleware-user-agent\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst EndpointParameters_1 = require(\"./endpoint/EndpointParameters\");\nconst runtimeConfig_1 = require(\"./runtimeConfig\");\nclass S3Client extends smithy_client_1.Client {\n constructor(configuration) {\n const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration);\n const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);\n const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1);\n const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);\n const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);\n const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);\n const _config_6 = (0, middleware_signing_1.resolveAwsAuthConfig)(_config_5);\n const _config_7 = (0, middleware_sdk_s3_1.resolveS3Config)(_config_6);\n const _config_8 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_7);\n const _config_9 = (0, eventstream_serde_config_resolver_1.resolveEventStreamSerdeConfig)(_config_8);\n super(_config_9);\n this.config = _config_9;\n this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));\n this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));\n this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));\n this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getValidateBucketNamePlugin)(this.config));\n this.middlewareStack.use((0, middleware_expect_continue_1.getAddExpectContinuePlugin)(this.config));\n this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\nexports.S3Client = S3Client;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbortMultipartUploadCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass AbortMultipartUploadCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, AbortMultipartUploadCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"AbortMultipartUploadCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.AbortMultipartUploadRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.AbortMultipartUploadOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlAbortMultipartUploadCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlAbortMultipartUploadCommand)(output, context);\n }\n}\nexports.AbortMultipartUploadCommand = AbortMultipartUploadCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CompleteMultipartUploadCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass CompleteMultipartUploadCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CompleteMultipartUploadCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getThrow200ExceptionsPlugin)(configuration));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CompleteMultipartUploadCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CompleteMultipartUploadRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CompleteMultipartUploadOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlCompleteMultipartUploadCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlCompleteMultipartUploadCommand)(output, context);\n }\n}\nexports.CompleteMultipartUploadCommand = CompleteMultipartUploadCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CopyObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass CopyObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CopyObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getThrow200ExceptionsPlugin)(configuration));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CopyObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CopyObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CopyObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlCopyObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlCopyObjectCommand)(output, context);\n }\n}\nexports.CopyObjectCommand = CopyObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateBucketCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_location_constraint_1 = require(\"@aws-sdk/middleware-location-constraint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass CreateBucketCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n DisableAccessPoints: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CreateBucketCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_location_constraint_1.getLocationConstraintPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CreateBucketCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CreateBucketRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CreateBucketOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlCreateBucketCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlCreateBucketCommand)(output, context);\n }\n}\nexports.CreateBucketCommand = CreateBucketCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateMultipartUploadCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass CreateMultipartUploadCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CreateMultipartUploadCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CreateMultipartUploadCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CreateMultipartUploadRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CreateMultipartUploadOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlCreateMultipartUploadCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlCreateMultipartUploadCommand)(output, context);\n }\n}\nexports.CreateMultipartUploadCommand = CreateMultipartUploadCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketAnalyticsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketAnalyticsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketAnalyticsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketAnalyticsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand)(output, context);\n }\n}\nexports.DeleteBucketAnalyticsConfigurationCommand = DeleteBucketAnalyticsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketCommand)(output, context);\n }\n}\nexports.DeleteBucketCommand = DeleteBucketCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketCorsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketCorsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketCorsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketCorsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketCorsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketCorsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketCorsCommand)(output, context);\n }\n}\nexports.DeleteBucketCorsCommand = DeleteBucketCorsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketEncryptionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketEncryptionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketEncryptionCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketEncryptionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketEncryptionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketEncryptionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketEncryptionCommand)(output, context);\n }\n}\nexports.DeleteBucketEncryptionCommand = DeleteBucketEncryptionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketIntelligentTieringConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketIntelligentTieringConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketIntelligentTieringConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketIntelligentTieringConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand)(output, context);\n }\n}\nexports.DeleteBucketIntelligentTieringConfigurationCommand = DeleteBucketIntelligentTieringConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketInventoryConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketInventoryConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketInventoryConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketInventoryConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketInventoryConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketInventoryConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand)(output, context);\n }\n}\nexports.DeleteBucketInventoryConfigurationCommand = DeleteBucketInventoryConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketLifecycleCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketLifecycleCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketLifecycleCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketLifecycleCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketLifecycleRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketLifecycleCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketLifecycleCommand)(output, context);\n }\n}\nexports.DeleteBucketLifecycleCommand = DeleteBucketLifecycleCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketMetricsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketMetricsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketMetricsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketMetricsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketMetricsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketMetricsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand)(output, context);\n }\n}\nexports.DeleteBucketMetricsConfigurationCommand = DeleteBucketMetricsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketOwnershipControlsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketOwnershipControlsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketOwnershipControlsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketOwnershipControlsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketOwnershipControlsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketOwnershipControlsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketOwnershipControlsCommand)(output, context);\n }\n}\nexports.DeleteBucketOwnershipControlsCommand = DeleteBucketOwnershipControlsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketPolicyCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketPolicyCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketPolicyCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketPolicyCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketPolicyRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketPolicyCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketPolicyCommand)(output, context);\n }\n}\nexports.DeleteBucketPolicyCommand = DeleteBucketPolicyCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketReplicationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketReplicationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketReplicationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketReplicationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketReplicationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketReplicationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketReplicationCommand)(output, context);\n }\n}\nexports.DeleteBucketReplicationCommand = DeleteBucketReplicationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketTaggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketTaggingCommand)(output, context);\n }\n}\nexports.DeleteBucketTaggingCommand = DeleteBucketTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketWebsiteCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketWebsiteCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketWebsiteCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketWebsiteCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketWebsiteRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketWebsiteCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketWebsiteCommand)(output, context);\n }\n}\nexports.DeleteBucketWebsiteCommand = DeleteBucketWebsiteCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteObjectCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.DeleteObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteObjectCommand)(output, context);\n }\n}\nexports.DeleteObjectCommand = DeleteObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteObjectTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteObjectTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteObjectTaggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteObjectTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteObjectTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.DeleteObjectTaggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteObjectTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteObjectTaggingCommand)(output, context);\n }\n}\nexports.DeleteObjectTaggingCommand = DeleteObjectTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteObjectsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteObjectsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteObjectsCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteObjectsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteObjectsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.DeleteObjectsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteObjectsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteObjectsCommand)(output, context);\n }\n}\nexports.DeleteObjectsCommand = DeleteObjectsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeletePublicAccessBlockCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeletePublicAccessBlockCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeletePublicAccessBlockCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeletePublicAccessBlockCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeletePublicAccessBlockRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeletePublicAccessBlockCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeletePublicAccessBlockCommand)(output, context);\n }\n}\nexports.DeletePublicAccessBlockCommand = DeletePublicAccessBlockCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketAccelerateConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketAccelerateConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketAccelerateConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketAccelerateConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketAccelerateConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketAccelerateConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketAccelerateConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketAccelerateConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketAccelerateConfigurationCommand = GetBucketAccelerateConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketAclCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketAclCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketAclCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketAclCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketAclRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketAclOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketAclCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketAclCommand)(output, context);\n }\n}\nexports.GetBucketAclCommand = GetBucketAclCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketAnalyticsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketAnalyticsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketAnalyticsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketAnalyticsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketAnalyticsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketAnalyticsConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketAnalyticsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketAnalyticsConfigurationCommand = GetBucketAnalyticsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketCorsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketCorsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketCorsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketCorsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketCorsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketCorsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketCorsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketCorsCommand)(output, context);\n }\n}\nexports.GetBucketCorsCommand = GetBucketCorsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketEncryptionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketEncryptionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketEncryptionCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketEncryptionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketEncryptionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketEncryptionOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketEncryptionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketEncryptionCommand)(output, context);\n }\n}\nexports.GetBucketEncryptionCommand = GetBucketEncryptionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketIntelligentTieringConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketIntelligentTieringConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketIntelligentTieringConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketIntelligentTieringConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketIntelligentTieringConfigurationCommand = GetBucketIntelligentTieringConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketInventoryConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketInventoryConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketInventoryConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketInventoryConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketInventoryConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketInventoryConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketInventoryConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketInventoryConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketInventoryConfigurationCommand = GetBucketInventoryConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketLifecycleConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketLifecycleConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketLifecycleConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketLifecycleConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketLifecycleConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketLifecycleConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketLifecycleConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketLifecycleConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketLifecycleConfigurationCommand = GetBucketLifecycleConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketLocationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketLocationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketLocationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketLocationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketLocationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketLocationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketLocationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketLocationCommand)(output, context);\n }\n}\nexports.GetBucketLocationCommand = GetBucketLocationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketLoggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketLoggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketLoggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketLoggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketLoggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketLoggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketLoggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketLoggingCommand)(output, context);\n }\n}\nexports.GetBucketLoggingCommand = GetBucketLoggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketMetricsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketMetricsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketMetricsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketMetricsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketMetricsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketMetricsConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketMetricsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketMetricsConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketMetricsConfigurationCommand = GetBucketMetricsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketNotificationConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketNotificationConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketNotificationConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketNotificationConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketNotificationConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.NotificationConfigurationFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketNotificationConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketNotificationConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketNotificationConfigurationCommand = GetBucketNotificationConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketOwnershipControlsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketOwnershipControlsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketOwnershipControlsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketOwnershipControlsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketOwnershipControlsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketOwnershipControlsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketOwnershipControlsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketOwnershipControlsCommand)(output, context);\n }\n}\nexports.GetBucketOwnershipControlsCommand = GetBucketOwnershipControlsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketPolicyCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketPolicyCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketPolicyCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketPolicyCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketPolicyRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketPolicyOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketPolicyCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketPolicyCommand)(output, context);\n }\n}\nexports.GetBucketPolicyCommand = GetBucketPolicyCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketPolicyStatusCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketPolicyStatusCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketPolicyStatusCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketPolicyStatusCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketPolicyStatusRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketPolicyStatusOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketPolicyStatusCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketPolicyStatusCommand)(output, context);\n }\n}\nexports.GetBucketPolicyStatusCommand = GetBucketPolicyStatusCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketReplicationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketReplicationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketReplicationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketReplicationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketReplicationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketReplicationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketReplicationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketReplicationCommand)(output, context);\n }\n}\nexports.GetBucketReplicationCommand = GetBucketReplicationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketRequestPaymentCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketRequestPaymentCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketRequestPaymentCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketRequestPaymentCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketRequestPaymentRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketRequestPaymentOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketRequestPaymentCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketRequestPaymentCommand)(output, context);\n }\n}\nexports.GetBucketRequestPaymentCommand = GetBucketRequestPaymentCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketTaggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketTaggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketTaggingCommand)(output, context);\n }\n}\nexports.GetBucketTaggingCommand = GetBucketTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketVersioningCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketVersioningCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketVersioningCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketVersioningCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketVersioningRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketVersioningOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketVersioningCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketVersioningCommand)(output, context);\n }\n}\nexports.GetBucketVersioningCommand = GetBucketVersioningCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketWebsiteCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketWebsiteCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketWebsiteCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketWebsiteCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketWebsiteRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketWebsiteOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketWebsiteCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketWebsiteCommand)(output, context);\n }\n}\nexports.GetBucketWebsiteCommand = GetBucketWebsiteCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectAclCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectAclCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectAclCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectAclCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectAclRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectAclOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectAclCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectAclCommand)(output, context);\n }\n}\nexports.GetObjectAclCommand = GetObjectAclCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectAttributesCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectAttributesCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectAttributesCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectAttributesCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectAttributesRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectAttributesOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectAttributesCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectAttributesCommand)(output, context);\n }\n}\nexports.GetObjectAttributesCommand = GetObjectAttributesCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestChecksumRequired: false,\n requestValidationModeMember: \"ChecksumMode\",\n responseAlgorithms: [\"CRC32\", \"CRC32C\", \"SHA256\", \"SHA1\"],\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectCommand)(output, context);\n }\n}\nexports.GetObjectCommand = GetObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectLegalHoldCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectLegalHoldCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectLegalHoldCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectLegalHoldCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectLegalHoldRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectLegalHoldOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectLegalHoldCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectLegalHoldCommand)(output, context);\n }\n}\nexports.GetObjectLegalHoldCommand = GetObjectLegalHoldCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectLockConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectLockConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectLockConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectLockConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectLockConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectLockConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectLockConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectLockConfigurationCommand)(output, context);\n }\n}\nexports.GetObjectLockConfigurationCommand = GetObjectLockConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectRetentionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectRetentionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectRetentionCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectRetentionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectRetentionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectRetentionOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectRetentionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectRetentionCommand)(output, context);\n }\n}\nexports.GetObjectRetentionCommand = GetObjectRetentionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectTaggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectTaggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectTaggingCommand)(output, context);\n }\n}\nexports.GetObjectTaggingCommand = GetObjectTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectTorrentCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectTorrentCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectTorrentCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectTorrentCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectTorrentRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectTorrentOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectTorrentCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectTorrentCommand)(output, context);\n }\n}\nexports.GetObjectTorrentCommand = GetObjectTorrentCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetPublicAccessBlockCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetPublicAccessBlockCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetPublicAccessBlockCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetPublicAccessBlockCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetPublicAccessBlockRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetPublicAccessBlockOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetPublicAccessBlockCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetPublicAccessBlockCommand)(output, context);\n }\n}\nexports.GetPublicAccessBlockCommand = GetPublicAccessBlockCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeadBucketCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass HeadBucketCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, HeadBucketCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"HeadBucketCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.HeadBucketRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlHeadBucketCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlHeadBucketCommand)(output, context);\n }\n}\nexports.HeadBucketCommand = HeadBucketCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeadObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass HeadObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, HeadObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"HeadObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.HeadObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.HeadObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlHeadObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlHeadObjectCommand)(output, context);\n }\n}\nexports.HeadObjectCommand = HeadObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketAnalyticsConfigurationsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketAnalyticsConfigurationsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketAnalyticsConfigurationsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketAnalyticsConfigurationsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketAnalyticsConfigurationsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand)(output, context);\n }\n}\nexports.ListBucketAnalyticsConfigurationsCommand = ListBucketAnalyticsConfigurationsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketIntelligentTieringConfigurationsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketIntelligentTieringConfigurationsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketIntelligentTieringConfigurationsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketIntelligentTieringConfigurationsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand)(output, context);\n }\n}\nexports.ListBucketIntelligentTieringConfigurationsCommand = ListBucketIntelligentTieringConfigurationsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketInventoryConfigurationsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketInventoryConfigurationsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketInventoryConfigurationsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketInventoryConfigurationsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListBucketInventoryConfigurationsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListBucketInventoryConfigurationsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketInventoryConfigurationsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketInventoryConfigurationsCommand)(output, context);\n }\n}\nexports.ListBucketInventoryConfigurationsCommand = ListBucketInventoryConfigurationsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketMetricsConfigurationsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketMetricsConfigurationsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketMetricsConfigurationsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketMetricsConfigurationsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListBucketMetricsConfigurationsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListBucketMetricsConfigurationsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketMetricsConfigurationsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketMetricsConfigurationsCommand)(output, context);\n }\n}\nexports.ListBucketMetricsConfigurationsCommand = ListBucketMetricsConfigurationsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: (input) => input,\n outputFilterSensitiveLog: models_0_1.ListBucketsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketsCommand)(output, context);\n }\n}\nexports.ListBucketsCommand = ListBucketsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListMultipartUploadsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListMultipartUploadsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListMultipartUploadsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListMultipartUploadsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListMultipartUploadsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListMultipartUploadsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListMultipartUploadsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListMultipartUploadsCommand)(output, context);\n }\n}\nexports.ListMultipartUploadsCommand = ListMultipartUploadsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListObjectVersionsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListObjectVersionsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListObjectVersionsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListObjectVersionsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListObjectVersionsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListObjectVersionsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListObjectVersionsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListObjectVersionsCommand)(output, context);\n }\n}\nexports.ListObjectVersionsCommand = ListObjectVersionsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListObjectsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListObjectsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListObjectsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListObjectsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListObjectsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListObjectsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListObjectsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListObjectsCommand)(output, context);\n }\n}\nexports.ListObjectsCommand = ListObjectsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListObjectsV2Command = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListObjectsV2Command extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListObjectsV2Command.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListObjectsV2Command\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListObjectsV2RequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListObjectsV2OutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListObjectsV2Command)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListObjectsV2Command)(output, context);\n }\n}\nexports.ListObjectsV2Command = ListObjectsV2Command;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListPartsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListPartsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListPartsCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListPartsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListPartsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListPartsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListPartsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListPartsCommand)(output, context);\n }\n}\nexports.ListPartsCommand = ListPartsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketAccelerateConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketAccelerateConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketAccelerateConfigurationCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: false,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketAccelerateConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketAccelerateConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketAccelerateConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketAccelerateConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketAccelerateConfigurationCommand = PutBucketAccelerateConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketAclCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketAclCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketAclCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketAclCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketAclRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketAclCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketAclCommand)(output, context);\n }\n}\nexports.PutBucketAclCommand = PutBucketAclCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketAnalyticsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketAnalyticsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketAnalyticsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketAnalyticsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketAnalyticsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketAnalyticsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketAnalyticsConfigurationCommand = PutBucketAnalyticsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketCorsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketCorsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketCorsCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketCorsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketCorsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketCorsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketCorsCommand)(output, context);\n }\n}\nexports.PutBucketCorsCommand = PutBucketCorsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketEncryptionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketEncryptionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketEncryptionCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketEncryptionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketEncryptionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketEncryptionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketEncryptionCommand)(output, context);\n }\n}\nexports.PutBucketEncryptionCommand = PutBucketEncryptionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketIntelligentTieringConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketIntelligentTieringConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketIntelligentTieringConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketIntelligentTieringConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketIntelligentTieringConfigurationCommand = PutBucketIntelligentTieringConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketInventoryConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketInventoryConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketInventoryConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketInventoryConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketInventoryConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketInventoryConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketInventoryConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketInventoryConfigurationCommand = PutBucketInventoryConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketLifecycleConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketLifecycleConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketLifecycleConfigurationCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketLifecycleConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketLifecycleConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketLifecycleConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketLifecycleConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketLifecycleConfigurationCommand = PutBucketLifecycleConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketLoggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketLoggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketLoggingCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketLoggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketLoggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketLoggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketLoggingCommand)(output, context);\n }\n}\nexports.PutBucketLoggingCommand = PutBucketLoggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketMetricsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketMetricsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketMetricsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketMetricsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketMetricsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketMetricsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketMetricsConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketMetricsConfigurationCommand = PutBucketMetricsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketNotificationConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketNotificationConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketNotificationConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketNotificationConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketNotificationConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketNotificationConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketNotificationConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketNotificationConfigurationCommand = PutBucketNotificationConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketOwnershipControlsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketOwnershipControlsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketOwnershipControlsCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, { input: this.input, requestChecksumRequired: true }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketOwnershipControlsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketOwnershipControlsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketOwnershipControlsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketOwnershipControlsCommand)(output, context);\n }\n}\nexports.PutBucketOwnershipControlsCommand = PutBucketOwnershipControlsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketPolicyCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketPolicyCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketPolicyCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketPolicyCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketPolicyRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketPolicyCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketPolicyCommand)(output, context);\n }\n}\nexports.PutBucketPolicyCommand = PutBucketPolicyCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketReplicationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketReplicationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketReplicationCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketReplicationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketReplicationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketReplicationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketReplicationCommand)(output, context);\n }\n}\nexports.PutBucketReplicationCommand = PutBucketReplicationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketRequestPaymentCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketRequestPaymentCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketRequestPaymentCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketRequestPaymentCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketRequestPaymentRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketRequestPaymentCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketRequestPaymentCommand)(output, context);\n }\n}\nexports.PutBucketRequestPaymentCommand = PutBucketRequestPaymentCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketTaggingCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketTaggingCommand)(output, context);\n }\n}\nexports.PutBucketTaggingCommand = PutBucketTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketVersioningCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketVersioningCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketVersioningCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketVersioningCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketVersioningRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketVersioningCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketVersioningCommand)(output, context);\n }\n}\nexports.PutBucketVersioningCommand = PutBucketVersioningCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketWebsiteCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketWebsiteCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketWebsiteCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketWebsiteCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketWebsiteRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketWebsiteCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketWebsiteCommand)(output, context);\n }\n}\nexports.PutBucketWebsiteCommand = PutBucketWebsiteCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectAclCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectAclCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectAclCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectAclCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutObjectAclRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.PutObjectAclOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectAclCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectAclCommand)(output, context);\n }\n}\nexports.PutObjectAclCommand = PutObjectAclCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getCheckContentLengthHeaderPlugin)(configuration));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: false,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.PutObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectCommand)(output, context);\n }\n}\nexports.PutObjectCommand = PutObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectLegalHoldCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectLegalHoldCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectLegalHoldCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectLegalHoldCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutObjectLegalHoldRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.PutObjectLegalHoldOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectLegalHoldCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectLegalHoldCommand)(output, context);\n }\n}\nexports.PutObjectLegalHoldCommand = PutObjectLegalHoldCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectLockConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectLockConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectLockConfigurationCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectLockConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutObjectLockConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.PutObjectLockConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectLockConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectLockConfigurationCommand)(output, context);\n }\n}\nexports.PutObjectLockConfigurationCommand = PutObjectLockConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectRetentionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectRetentionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectRetentionCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectRetentionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.PutObjectRetentionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.PutObjectRetentionOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectRetentionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectRetentionCommand)(output, context);\n }\n}\nexports.PutObjectRetentionCommand = PutObjectRetentionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectTaggingCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.PutObjectTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.PutObjectTaggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectTaggingCommand)(output, context);\n }\n}\nexports.PutObjectTaggingCommand = PutObjectTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutPublicAccessBlockCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutPublicAccessBlockCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutPublicAccessBlockCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutPublicAccessBlockCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.PutPublicAccessBlockRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutPublicAccessBlockCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutPublicAccessBlockCommand)(output, context);\n }\n}\nexports.PutPublicAccessBlockCommand = PutPublicAccessBlockCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestoreObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass RestoreObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, RestoreObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: false,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"RestoreObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.RestoreObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.RestoreObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlRestoreObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlRestoreObjectCommand)(output, context);\n }\n}\nexports.RestoreObjectCommand = RestoreObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SelectObjectContentCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass SelectObjectContentCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, SelectObjectContentCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"SelectObjectContentCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.SelectObjectContentRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.SelectObjectContentOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlSelectObjectContentCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlSelectObjectContentCommand)(output, context);\n }\n}\nexports.SelectObjectContentCommand = SelectObjectContentCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UploadPartCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass UploadPartCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, UploadPartCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: false,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"UploadPartCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.UploadPartRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.UploadPartOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlUploadPartCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlUploadPartCommand)(output, context);\n }\n}\nexports.UploadPartCommand = UploadPartCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UploadPartCopyCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass UploadPartCopyCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, UploadPartCopyCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getThrow200ExceptionsPlugin)(configuration));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"UploadPartCopyCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.UploadPartCopyRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.UploadPartCopyOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlUploadPartCopyCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlUploadPartCopyCommand)(output, context);\n }\n}\nexports.UploadPartCopyCommand = UploadPartCopyCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WriteGetObjectResponseCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass WriteGetObjectResponseCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseObjectLambdaEndpoint: { type: \"staticContextParams\", value: true },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, WriteGetObjectResponseCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"WriteGetObjectResponseCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.WriteGetObjectResponseRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlWriteGetObjectResponseCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlWriteGetObjectResponseCommand)(output, context);\n }\n}\nexports.WriteGetObjectResponseCommand = WriteGetObjectResponseCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AbortMultipartUploadCommand\"), exports);\ntslib_1.__exportStar(require(\"./CompleteMultipartUploadCommand\"), exports);\ntslib_1.__exportStar(require(\"./CopyObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./CreateBucketCommand\"), exports);\ntslib_1.__exportStar(require(\"./CreateMultipartUploadCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketAnalyticsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketCorsCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketEncryptionCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketIntelligentTieringConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketInventoryConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketLifecycleCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketMetricsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketOwnershipControlsCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketPolicyCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketReplicationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketWebsiteCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteObjectTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteObjectsCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeletePublicAccessBlockCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketAccelerateConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketAclCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketAnalyticsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketCorsCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketEncryptionCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketIntelligentTieringConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketInventoryConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketLifecycleConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketLocationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketLoggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketMetricsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketNotificationConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketOwnershipControlsCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketPolicyCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketPolicyStatusCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketReplicationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketRequestPaymentCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketVersioningCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketWebsiteCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectAclCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectAttributesCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectLegalHoldCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectLockConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectRetentionCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectTorrentCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetPublicAccessBlockCommand\"), exports);\ntslib_1.__exportStar(require(\"./HeadBucketCommand\"), exports);\ntslib_1.__exportStar(require(\"./HeadObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketAnalyticsConfigurationsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketIntelligentTieringConfigurationsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketInventoryConfigurationsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketMetricsConfigurationsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListMultipartUploadsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListObjectVersionsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListObjectsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListObjectsV2Command\"), exports);\ntslib_1.__exportStar(require(\"./ListPartsCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketAccelerateConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketAclCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketAnalyticsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketCorsCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketEncryptionCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketIntelligentTieringConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketInventoryConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketLifecycleConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketLoggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketMetricsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketNotificationConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketOwnershipControlsCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketPolicyCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketReplicationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketRequestPaymentCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketVersioningCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketWebsiteCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectAclCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectLegalHoldCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectLockConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectRetentionCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutPublicAccessBlockCommand\"), exports);\ntslib_1.__exportStar(require(\"./RestoreObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./SelectObjectContentCommand\"), exports);\ntslib_1.__exportStar(require(\"./UploadPartCommand\"), exports);\ntslib_1.__exportStar(require(\"./UploadPartCopyCommand\"), exports);\ntslib_1.__exportStar(require(\"./WriteGetObjectResponseCommand\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveClientEndpointParameters = void 0;\nconst resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useAccelerateEndpoint: options.useAccelerateEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n disableMultiregionAccessPoints: options.disableMultiregionAccessPoints ?? false,\n defaultSigningName: \"s3\",\n };\n};\nexports.resolveClientEndpointParameters = resolveClientEndpointParameters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst bV = \"required\", bW = \"type\", bX = \"rules\", bY = \"conditions\", bZ = \"fn\", ca = \"argv\", cb = \"ref\", cc = \"assign\", cd = \"url\", ce = \"properties\", cf = \"authSchemes\", cg = \"signingRegion\", ch = \"signingName\", ci = \"disableDoubleEncoding\", cj = \"headers\";\nconst a = false, b = true, c = \"tree\", d = \"isSet\", e = \"substring\", f = \"hardwareType\", g = \"regionPrefix\", h = \"abbaSuffix\", i = \"outpostId\", j = \"aws.partition\", k = \"stringEquals\", l = \"isValidHostLabel\", m = \"not\", n = \"error\", o = \"parseURL\", p = \"s3-outposts\", q = \"endpoint\", r = \"booleanEquals\", s = \"aws.parseArn\", t = \"s3\", u = \"aws.isVirtualHostableS3Bucket\", v = \"getAttr\", w = \"name\", x = \"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate\", y = \"https://{Bucket}.s3.{partitionResult#dnsSuffix}\", z = \"bucketArn\", A = \"arnType\", B = \"\", C = \"s3-object-lambda\", D = \"accesspoint\", E = \"accessPointName\", F = \"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}\", G = \"mrapPartition\", H = \"outpostType\", I = \"arnPrefix\", J = \"{url#scheme}://{url#authority}{url#path}\", K = \"https://s3.{partitionResult#dnsSuffix}\", L = { [bV]: false, [bW]: \"String\" }, M = { [bV]: true, \"default\": false, [bW]: \"Boolean\" }, N = { [bV]: false, [bW]: \"Boolean\" }, O = { [bZ]: d, [ca]: [{ [cb]: \"Bucket\" }] }, P = { [cb]: \"Bucket\" }, Q = { [cb]: f }, R = { [bY]: [{ [bZ]: m, [ca]: [{ [bZ]: d, [ca]: [{ [cb]: \"Endpoint\" }] }] }], [n]: \"Expected a endpoint to be specified but no endpoint was found\", [bW]: n }, S = { [bZ]: m, [ca]: [{ [bZ]: d, [ca]: [{ [cb]: \"Endpoint\" }] }] }, T = { [bZ]: d, [ca]: [{ [cb]: \"Endpoint\" }] }, U = { [bZ]: o, [ca]: [{ [cb]: \"Endpoint\" }], [cc]: \"url\" }, V = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: p, [ci]: true }] }, W = {}, X = { [cb]: \"ForcePathStyle\" }, Y = { [bY]: [{ [bZ]: \"uriEncode\", [ca]: [P], [cc]: \"uri_encoded_bucket\" }], [bW]: c, [bX]: [{ [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, T], [n]: \"Cannot set dual-stack in combination with a custom endpoint.\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: j, [ca]: [{ [cb]: \"Region\" }], [cc]: \"partitionResult\" }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"Accelerate\" }, false] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [q]: { [cd]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [q]: { [cd]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [q]: { [cd]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"us-east-1\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"us-east-1\"] }], [q]: { [cd]: \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [q]: { [cd]: \"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }] }, { [n]: \"Path-style addressing cannot be used with S3 Accelerate\", [bW]: n }] }] }, { [n]: \"A valid partition could not be determined\", [bW]: n }] }] }, Z = { [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, aa = { [bZ]: r, [ca]: [{ [cb]: \"Accelerate\" }, false] }, ab = { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, ac = { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, ad = { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }, ae = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, af = { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }, ag = { [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, ah = { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, ai = { [n]: \"A valid partition could not be determined\", [bW]: n }, aj = { [bY]: [ab, { [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: \"partitionResult\" }, w] }, \"aws-cn\"] }], [n]: \"Partition does not support FIPS\", [bW]: n }, ak = { [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: \"partitionResult\" }, w] }, \"aws-cn\"] }, al = { [bZ]: r, [ca]: [{ [cb]: \"Accelerate\" }, true] }, am = { [bY]: [Z, ab, aa, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, an = { [cd]: \"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, ao = { [bY]: [ag, ab, aa, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, ap = { [cd]: \"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, aq = { [bY]: [Z, ah, al, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, ar = { [cd]: \"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, as = { [bY]: [Z, ah, aa, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, at = { [cd]: \"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, au = { [bY]: [ag, ah, aa, T, U, { [bZ]: r, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: \"url\" }, \"isIp\"] }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, av = { [bZ]: r, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: \"url\" }, \"isIp\"] }, true] }, aw = { [cb]: \"url\" }, ax = { [bY]: [ag, ah, aa, T, U, { [bZ]: r, [ca]: [{ [bZ]: v, [ca]: [aw, \"isIp\"] }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{Bucket}.{url#authority}{url#path}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, ay = { [bZ]: r, [ca]: [{ [bZ]: v, [ca]: [aw, \"isIp\"] }, false] }, az = { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}\", [ce]: ae, [cj]: {} }, aA = { [cd]: \"{url#scheme}://{Bucket}.{url#authority}{url#path}\", [ce]: ae, [cj]: {} }, aB = { [q]: aA, [bW]: q }, aC = { [bY]: [ag, ah, al, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, aD = { [cd]: \"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, aE = { [bY]: [ag, ah, aa, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: y, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, aF = { [cd]: \"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, aG = { [n]: \"Invalid region: region was not a valid DNS name.\", [bW]: n }, aH = { [cb]: z }, aI = { [cb]: A }, aJ = { [bZ]: v, [ca]: [aH, \"service\"] }, aK = { [cb]: E }, aL = { [bY]: [Z], [n]: \"S3 Object Lambda does not support Dual-stack\", [bW]: n }, aM = { [bY]: [al], [n]: \"S3 Object Lambda does not support S3 Accelerate\", [bW]: n }, aN = { [bY]: [{ [bZ]: d, [ca]: [{ [cb]: \"DisableAccessPoints\" }] }, { [bZ]: r, [ca]: [{ [cb]: \"DisableAccessPoints\" }, true] }], [n]: \"Access points are not supported for this operation\", [bW]: n }, aO = { [bY]: [{ [bZ]: d, [ca]: [{ [cb]: \"UseArnRegion\" }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseArnRegion\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [aH, \"region\"] }, \"{Region}\"] }] }], [n]: \"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`\", [bW]: n }, aP = { [bZ]: v, [ca]: [{ [cb]: \"bucketPartition\" }, w] }, aQ = { [bZ]: v, [ca]: [aH, \"accountId\"] }, aR = { [bY]: [ab, { [bZ]: k, [ca]: [aP, \"aws-cn\"] }], [n]: \"Partition does not support FIPS\", [bW]: n }, aS = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{bucketArn#region}\", [ch]: C, [ci]: true }] }, aT = { [n]: \"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`\", [bW]: n }, aU = { [n]: \"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`\", [bW]: n }, aV = { [n]: \"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)\", [bW]: n }, aW = { [n]: \"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`\", [bW]: n }, aX = { [n]: \"Could not load partition for ARN region `{bucketArn#region}`\", [bW]: n }, aY = { [n]: \"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.\", [bW]: n }, aZ = { [n]: \"Invalid ARN: bucket ARN is missing a region\", [bW]: n }, ba = { [n]: \"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided\", [bW]: n }, bb = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{bucketArn#region}\", [ch]: t, [ci]: true }] }, bc = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{bucketArn#region}\", [ch]: p, [ci]: true }] }, bd = { [cb]: \"UseObjectLambdaEndpoint\" }, be = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: C, [ci]: true }] }, bf = { [bY]: [ab, Z, T, U, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: J, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bg = { [q]: { [cd]: J, [ce]: ae, [cj]: {} }, [bW]: q }, bh = { [cd]: J, [ce]: ae, [cj]: {} }, bi = { [bY]: [ab, Z, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bj = { [cd]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, bk = { [bY]: [ab, ag, T, U, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: J, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bl = { [bY]: [ab, ag, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bm = { [cd]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, bn = { [bY]: [ah, Z, T, U, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: J, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bo = { [bY]: [ah, Z, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bp = { [cd]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, bq = { [bY]: [ah, ag, T, U, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: J, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, br = { [bY]: [ah, ag, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: K, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bs = { [cd]: \"https://s3.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, bt = [{ [cb]: \"Region\" }], bu = [P], bv = [{ [bZ]: l, [ca]: [{ [cb]: i }, false] }], bw = [{ [bZ]: k, [ca]: [{ [cb]: g }, \"beta\"] }], bx = [{ [cb]: \"Endpoint\" }], by = [T, U], bz = [O], bA = [{ [bZ]: s, [ca]: [P] }], bB = [Z, T], bC = [{ [bZ]: j, [ca]: bt, [cc]: \"partitionResult\" }], bD = [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"us-east-1\"] }], bE = [{ [bZ]: l, [ca]: [{ [cb]: \"Region\" }, false] }], bF = [{ [bZ]: k, [ca]: [aI, D] }], bG = [{ [bZ]: v, [ca]: [aH, \"resourceId[1]\"], [cc]: E }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [aK, B] }] }], bH = [aH, \"resourceId[1]\"], bI = [Z], bJ = [al], bK = [{ [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [aH, \"region\"] }, B] }] }], bL = [{ [bZ]: m, [ca]: [{ [bZ]: d, [ca]: [{ [bZ]: v, [ca]: [aH, \"resourceId[2]\"] }] }] }], bM = [aH, \"resourceId[2]\"], bN = [{ [bZ]: j, [ca]: [{ [bZ]: v, [ca]: [aH, \"region\"] }], [cc]: \"bucketPartition\" }], bO = [{ [bZ]: k, [ca]: [aP, { [bZ]: v, [ca]: [{ [cb]: \"partitionResult\" }, w] }] }], bP = [{ [bZ]: l, [ca]: [{ [bZ]: v, [ca]: [aH, \"region\"] }, true] }], bQ = [{ [bZ]: l, [ca]: [aQ, false] }], bR = [{ [bZ]: l, [ca]: [aK, false] }], bS = [ab], bT = [{ [bZ]: l, [ca]: [{ [cb]: \"Region\" }, true] }], bU = [bg];\nconst _data = { version: \"1.0\", parameters: { Bucket: L, Region: L, UseFIPS: M, UseDualStack: M, Endpoint: L, ForcePathStyle: N, Accelerate: M, UseGlobalEndpoint: M, UseObjectLambdaEndpoint: N, DisableAccessPoints: N, DisableMultiRegionAccessPoints: M, UseArnRegion: N }, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: d, [ca]: bt }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [O, { [bZ]: e, [ca]: [P, 49, 50, b], [cc]: f }, { [bZ]: e, [ca]: [P, 8, 12, b], [cc]: g }, { [bZ]: e, [ca]: [P, 0, 7, b], [cc]: h }, { [bZ]: e, [ca]: [P, 32, 49, b], [cc]: i }, { [bZ]: j, [ca]: bt, [cc]: \"regionPartition\" }, { [bZ]: k, [ca]: [{ [cb]: h }, \"--op-s3\"] }], [bW]: c, [bX]: [{ [bY]: bv, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [Q, \"e\"] }], [bW]: c, [bX]: [{ [bY]: bw, [bW]: c, [bX]: [R, { [bY]: by, endpoint: { [cd]: \"https://{Bucket}.ec2.{url#authority}\", [ce]: V, [cj]: W }, [bW]: q }] }, { endpoint: { [cd]: \"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [ce]: V, [cj]: W }, [bW]: q }] }, { [bY]: [{ [bZ]: k, [ca]: [Q, \"o\"] }], [bW]: c, [bX]: [{ [bY]: bw, [bW]: c, [bX]: [R, { [bY]: by, endpoint: { [cd]: \"https://{Bucket}.op-{outpostId}.{url#authority}\", [ce]: V, [cj]: W }, [bW]: q }] }, { endpoint: { [cd]: \"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [ce]: V, [cj]: W }, [bW]: q }] }, { error: \"Unrecognized hardware type: \\\"Expected hardware type o or e but got {hardwareType}\\\"\", [bW]: n }] }] }, { error: \"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.\", [bW]: n }] }, { [bY]: bz, [bW]: c, [bX]: [{ [bY]: [T, { [bZ]: m, [ca]: [{ [bZ]: d, [ca]: [{ [bZ]: o, [ca]: bx }] }] }], error: \"Custom endpoint `{Endpoint}` was not a valid URI\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: d, [ca]: [X] }, { [bZ]: r, [ca]: [X, b] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bA, error: \"Path-style addressing cannot be used with ARN buckets\", [bW]: n }, Y] }] }, { [bY]: [{ [bZ]: u, [ca]: [P, a] }], [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bE, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aj, { [bW]: c, [bX]: [{ [bY]: [al, ab], error: \"Accelerate cannot be used with FIPS\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [al, ak], error: \"S3 Accelerate cannot be used in this region\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [T, Z], error: x, [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [T, ab], error: x, [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [T, al], error: x, [bW]: n }, { [bW]: c, [bX]: [am, am, { [bY]: [Z, ab, aa, S, ac, ad], [bW]: c, [bX]: [{ endpoint: an, [bW]: q }] }, { [bY]: [Z, ab, aa, S, ac, af], endpoint: an, [bW]: q }, ao, ao, { [bY]: [ag, ab, aa, S, ac, ad], [bW]: c, [bX]: [{ endpoint: ap, [bW]: q }] }, { [bY]: [ag, ab, aa, S, ac, af], endpoint: ap, [bW]: q }, aq, aq, { [bY]: [Z, ah, al, S, ac, ad], [bW]: c, [bX]: [{ endpoint: ar, [bW]: q }] }, { [bY]: [Z, ah, al, S, ac, af], endpoint: ar, [bW]: q }, as, as, { [bY]: [Z, ah, aa, S, ac, ad], [bW]: c, [bX]: [{ endpoint: at, [bW]: q }] }, { [bY]: [Z, ah, aa, S, ac, af], endpoint: at, [bW]: q }, au, ax, au, ax, { [bY]: [ag, ah, aa, T, U, av, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: az, [bW]: q }, { endpoint: az, [bW]: q }] }, { [bY]: [ag, ah, aa, T, U, ay, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: aA, [bW]: q }, aB] }, { [bY]: [ag, ah, aa, T, U, av, ac, af], endpoint: az, [bW]: q }, { [bY]: [ag, ah, aa, T, U, ay, ac, af], endpoint: aA, [bW]: q }, aC, aC, { [bY]: [ag, ah, al, S, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: aD, [bW]: q }, { endpoint: aD, [bW]: q }] }, { [bY]: [ag, ah, al, S, ac, af], endpoint: aD, [bW]: q }, aE, aE, { [bY]: [ag, ah, aa, S, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: { [cd]: y, [ce]: ae, [cj]: W }, [bW]: q }, { endpoint: aF, [bW]: q }] }, { [bY]: [ag, ah, aa, S, ac, af], endpoint: aF, [bW]: q }] }] }] }] }] }] }] }] }, aG] }] }, ai] }, { [bY]: [T, U, { [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [aw, \"scheme\"] }, \"http\"] }, { [bZ]: u, [ca]: [P, b] }, ah, ag, aa], [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bE, [bW]: c, [bX]: [aB] }, aG] }] }, ai] }, { [bY]: [{ [bZ]: s, [ca]: bu, [cc]: z }], [bW]: c, [bX]: [{ [bY]: [{ [bZ]: v, [ca]: [aH, \"resourceId[0]\"], [cc]: A }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [aI, B] }] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [aJ, C] }], [bW]: c, [bX]: [{ [bY]: bF, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bG, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aL, { [bW]: c, [bX]: [aM, { [bW]: c, [bX]: [{ [bY]: bK, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aN, { [bW]: c, [bX]: [{ [bY]: bL, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aO, { [bW]: c, [bX]: [{ [bY]: bN, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bO, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bP, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [aQ, B] }], error: \"Invalid ARN: Missing account id\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bQ, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bR, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aR, { [bW]: c, [bX]: [{ [bY]: by, endpoint: { [cd]: F, [ce]: aS, [cj]: W }, [bW]: q }, { [bY]: bS, endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: aS, [cj]: W }, [bW]: q }, { endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: aS, [cj]: W }, [bW]: q }] }] }] }, aT] }] }, aU] }] }] }, aV] }] }, aW] }] }, ai] }] }, aX] }] }] }, aY] }] }] }, aZ] }] }] }] }, ba] }] }, { error: \"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`\", [bW]: n }] }, { [bY]: bF, [bW]: c, [bX]: [{ [bY]: bG, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bK, [bW]: c, [bX]: [{ [bY]: bF, [bW]: c, [bX]: [{ [bY]: bK, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aN, { [bW]: c, [bX]: [{ [bY]: bL, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aO, { [bW]: c, [bX]: [{ [bY]: bN, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [aP, \"{partitionResult#name}\"] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bP, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [aJ, t] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bQ, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bR, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bJ, error: \"Access Points do not support S3 Accelerate\", [bW]: n }, { [bW]: c, [bX]: [aR, { [bW]: c, [bX]: [{ [bY]: bB, error: \"DualStack cannot be combined with a Host override (PrivateLink)\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [ab, Z], endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bb, [cj]: W }, [bW]: q }, { [bY]: [ab, ag], endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bb, [cj]: W }, [bW]: q }, { [bY]: [ah, Z], endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bb, [cj]: W }, [bW]: q }, { [bY]: [ah, ag, T, U], endpoint: { [cd]: F, [ce]: bb, [cj]: W }, [bW]: q }, { [bY]: [ah, ag], endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bb, [cj]: W }, [bW]: q }] }] }] }] }] }, aT] }] }, aU] }] }, { error: \"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}\", [bW]: n }] }] }, aV] }] }, aW] }] }, ai] }] }, aX] }] }] }, aY] }] }] }, aZ] }] }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: l, [ca]: [aK, b] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bI, error: \"S3 MRAP does not support dual-stack\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bS, error: \"S3 MRAP does not support FIPS\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bJ, error: \"S3 MRAP does not support S3 Accelerate\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"DisableMultiRegionAccessPoints\" }, b] }], error: \"Invalid configuration: Multi-Region Access Point ARNs are disabled.\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: j, [ca]: bt, [cc]: G }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: G }, w] }, { [bZ]: v, [ca]: [aH, \"partition\"] }] }], [bW]: c, [bX]: [{ endpoint: { [cd]: \"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}\", [ce]: { [cf]: [{ name: \"sigv4a\", signingRegionSet: [\"*\"], [ch]: t, [ci]: b }] }, [cj]: W }, [bW]: q }] }, { error: \"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`\", [bW]: n }] }] }, { error: \"{Region} was not a valid region\", [bW]: n }] }] }] }] }] }] }, { error: \"Invalid Access Point Name\", [bW]: n }] }] }] }, ba] }, { [bY]: [{ [bZ]: k, [ca]: [aJ, p] }], [bW]: c, [bX]: [{ [bY]: bI, error: \"S3 Outposts does not support Dual-stack\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bS, error: \"S3 Outposts does not support FIPS\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bJ, error: \"S3 Outposts does not support S3 Accelerate\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: d, [ca]: [{ [bZ]: v, [ca]: [aH, \"resourceId[4]\"] }] }], error: \"Invalid Arn: Outpost Access Point ARN contains sub resources\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: v, [ca]: bH, [cc]: i }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bv, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aO, { [bW]: c, [bX]: [{ [bY]: bN, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bO, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bP, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bQ, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: v, [ca]: bM, [cc]: H }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: v, [ca]: [aH, \"resourceId[3]\"], [cc]: E }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [{ [cb]: H }, D] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: by, endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}\", [ce]: bc, [cj]: W }, [bW]: q }, { endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bc, [cj]: W }, [bW]: q }] }] }, { error: \"Expected an outpost type `accesspoint`, found {outpostType}\", [bW]: n }] }] }, { error: \"Invalid ARN: expected an access point name\", [bW]: n }] }] }, { error: \"Invalid ARN: Expected a 4-component resource\", [bW]: n }] }] }, aU] }] }, aV] }] }, aW] }] }, ai] }] }, { error: \"Could not load partition for ARN region {bucketArn#region}\", [bW]: n }] }] }] }, { error: \"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`\", [bW]: n }] }] }, { error: \"Invalid ARN: The Outpost Id was not set\", [bW]: n }] }] }] }] }] }, { error: \"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})\", [bW]: n }] }] }, { error: \"Invalid ARN: No ARN type specified\", [bW]: n }] }, { [bY]: [{ [bZ]: e, [ca]: [P, 0, 4, a], [cc]: I }, { [bZ]: k, [ca]: [{ [cb]: I }, \"arn:\"] }, { [bZ]: m, [ca]: [{ [bZ]: d, [ca]: bA }] }], error: \"Invalid ARN: `{Bucket}` was not a valid ARN\", [bW]: n }, Y] }] }, { [bY]: [{ [bZ]: d, [ca]: [bd] }, { [bZ]: r, [ca]: [bd, b] }], [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bT, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aL, { [bW]: c, [bX]: [aM, { [bW]: c, [bX]: [aj, { [bW]: c, [bX]: [{ [bY]: by, endpoint: { [cd]: J, [ce]: be, [cj]: W }, [bW]: q }, { [bY]: bS, endpoint: { [cd]: \"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}\", [ce]: be, [cj]: W }, [bW]: q }, { endpoint: { [cd]: \"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}\", [ce]: be, [cj]: W }, [bW]: q }] }] }] }] }] }, aG] }] }, ai] }, { [bY]: [{ [bZ]: m, [ca]: bz }], [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bT, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aj, { [bW]: c, [bX]: [bf, bf, { [bY]: [ab, Z, T, U, ac, ad], [bW]: c, [bX]: bU }, { [bY]: [ab, Z, T, U, ac, af], endpoint: bh, [bW]: q }, bi, bi, { [bY]: [ab, Z, S, ac, ad], [bW]: c, [bX]: [{ endpoint: bj, [bW]: q }] }, { [bY]: [ab, Z, S, ac, af], endpoint: bj, [bW]: q }, bk, bk, { [bY]: [ab, ag, T, U, ac, ad], [bW]: c, [bX]: bU }, { [bY]: [ab, ag, T, U, ac, af], endpoint: bh, [bW]: q }, bl, bl, { [bY]: [ab, ag, S, ac, ad], [bW]: c, [bX]: [{ endpoint: bm, [bW]: q }] }, { [bY]: [ab, ag, S, ac, af], endpoint: bm, [bW]: q }, bn, bn, { [bY]: [ah, Z, T, U, ac, ad], [bW]: c, [bX]: bU }, { [bY]: [ah, Z, T, U, ac, af], endpoint: bh, [bW]: q }, bo, bo, { [bY]: [ah, Z, S, ac, ad], [bW]: c, [bX]: [{ endpoint: bp, [bW]: q }] }, { [bY]: [ah, Z, S, ac, af], endpoint: bp, [bW]: q }, bq, bq, { [bY]: [ah, ag, T, U, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: bh, [bW]: q }, bg] }, { [bY]: [ah, ag, T, U, ac, af], endpoint: bh, [bW]: q }, br, br, { [bY]: [ah, ag, S, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: { [cd]: K, [ce]: ae, [cj]: W }, [bW]: q }, { endpoint: bs, [bW]: q }] }, { [bY]: [ah, ag, S, ac, af], endpoint: bs, [bW]: q }] }] }] }, aG] }] }, ai] }] }] }, { error: \"A region must be set when sending requests to S3.\", [bW]: n }] }] };\nexports.ruleSet = _data;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3ServiceException = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./S3\"), exports);\ntslib_1.__exportStar(require(\"./S3Client\"), exports);\ntslib_1.__exportStar(require(\"./commands\"), exports);\ntslib_1.__exportStar(require(\"./models\"), exports);\ntslib_1.__exportStar(require(\"./pagination\"), exports);\ntslib_1.__exportStar(require(\"./waiters\"), exports);\nvar S3ServiceException_1 = require(\"./models/S3ServiceException\");\nObject.defineProperty(exports, \"S3ServiceException\", { enumerable: true, get: function () { return S3ServiceException_1.S3ServiceException; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3ServiceException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nclass S3ServiceException extends smithy_client_1.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, S3ServiceException.prototype);\n }\n}\nexports.S3ServiceException = S3ServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./models_0\"), exports);\ntslib_1.__exportStar(require(\"./models_1\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumMode = exports.ReplicationStatus = exports.Protocol = exports.BucketVersioningStatus = exports.MFADeleteStatus = exports.Payer = exports.ReplicationRuleStatus = exports.SseKmsEncryptedObjectsStatus = exports.ReplicaModificationsStatus = exports.ReplicationRuleFilter = exports.ExistingObjectReplicationStatus = exports.ReplicationTimeStatus = exports.MetricsStatus = exports.DeleteMarkerReplicationStatus = exports.FilterRuleName = exports.MetricsFilter = exports.BucketLogsPermission = exports.ExpirationStatus = exports.TransitionStorageClass = exports.LifecycleRuleFilter = exports.InventoryFrequency = exports.InventoryOptionalField = exports.InventoryIncludedObjectVersions = exports.InventoryFormat = exports.IntelligentTieringAccessTier = exports.IntelligentTieringStatus = exports.StorageClassAnalysisSchemaVersion = exports.AnalyticsS3ExportFileFormat = exports.AnalyticsFilter = exports.ObjectOwnership = exports.BucketLocationConstraint = exports.BucketCannedACL = exports.BucketAlreadyOwnedByYou = exports.BucketAlreadyExists = exports.ObjectNotInActiveTierError = exports.TaggingDirective = exports.StorageClass = exports.ObjectLockMode = exports.ObjectLockLegalHoldStatus = exports.MetadataDirective = exports.ChecksumAlgorithm = exports.ObjectCannedACL = exports.ServerSideEncryption = exports.OwnerOverride = exports.Permission = exports.Type = exports.BucketAccelerateStatus = exports.NoSuchUpload = exports.RequestPayer = exports.RequestCharged = void 0;\nexports._ErrorFilterSensitiveLog = exports.DeletedObjectFilterSensitiveLog = exports.DeleteObjectRequestFilterSensitiveLog = exports.DeleteObjectOutputFilterSensitiveLog = exports.DeleteBucketWebsiteRequestFilterSensitiveLog = exports.DeleteBucketTaggingRequestFilterSensitiveLog = exports.DeleteBucketReplicationRequestFilterSensitiveLog = exports.DeleteBucketPolicyRequestFilterSensitiveLog = exports.DeleteBucketOwnershipControlsRequestFilterSensitiveLog = exports.DeleteBucketMetricsConfigurationRequestFilterSensitiveLog = exports.DeleteBucketLifecycleRequestFilterSensitiveLog = exports.DeleteBucketInventoryConfigurationRequestFilterSensitiveLog = exports.DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = exports.DeleteBucketEncryptionRequestFilterSensitiveLog = exports.DeleteBucketCorsRequestFilterSensitiveLog = exports.DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog = exports.DeleteBucketRequestFilterSensitiveLog = exports.CreateMultipartUploadRequestFilterSensitiveLog = exports.CreateMultipartUploadOutputFilterSensitiveLog = exports.CreateBucketRequestFilterSensitiveLog = exports.CreateBucketConfigurationFilterSensitiveLog = exports.CreateBucketOutputFilterSensitiveLog = exports.CopyObjectRequestFilterSensitiveLog = exports.CopyObjectOutputFilterSensitiveLog = exports.CopyObjectResultFilterSensitiveLog = exports.CompleteMultipartUploadRequestFilterSensitiveLog = exports.CompletedMultipartUploadFilterSensitiveLog = exports.CompletedPartFilterSensitiveLog = exports.CompleteMultipartUploadOutputFilterSensitiveLog = exports.AccessControlTranslationFilterSensitiveLog = exports.AccessControlPolicyFilterSensitiveLog = exports.OwnerFilterSensitiveLog = exports.GrantFilterSensitiveLog = exports.GranteeFilterSensitiveLog = exports.AccelerateConfigurationFilterSensitiveLog = exports.AbortMultipartUploadRequestFilterSensitiveLog = exports.AbortMultipartUploadOutputFilterSensitiveLog = exports.AbortIncompleteMultipartUploadFilterSensitiveLog = exports.MFADelete = exports.ObjectVersionStorageClass = exports.NoSuchBucket = exports.ObjectStorageClass = exports.EncodingType = exports.ArchiveStatus = exports.NotFound = exports.ObjectLockRetentionMode = exports.ObjectLockEnabled = exports.ObjectAttributes = exports.NoSuchKey = exports.InvalidObjectState = void 0;\nexports.NoncurrentVersionTransitionFilterSensitiveLog = exports.NoncurrentVersionExpirationFilterSensitiveLog = exports.LifecycleRuleFilterFilterSensitiveLog = exports.LifecycleRuleAndOperatorFilterSensitiveLog = exports.LifecycleExpirationFilterSensitiveLog = exports.GetBucketInventoryConfigurationRequestFilterSensitiveLog = exports.GetBucketInventoryConfigurationOutputFilterSensitiveLog = exports.InventoryConfigurationFilterSensitiveLog = exports.InventoryScheduleFilterSensitiveLog = exports.InventoryFilterFilterSensitiveLog = exports.InventoryDestinationFilterSensitiveLog = exports.InventoryS3BucketDestinationFilterSensitiveLog = exports.InventoryEncryptionFilterSensitiveLog = exports.SSES3FilterSensitiveLog = exports.SSEKMSFilterSensitiveLog = exports.GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = exports.GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog = exports.IntelligentTieringConfigurationFilterSensitiveLog = exports.TieringFilterSensitiveLog = exports.IntelligentTieringFilterFilterSensitiveLog = exports.IntelligentTieringAndOperatorFilterSensitiveLog = exports.GetBucketEncryptionRequestFilterSensitiveLog = exports.GetBucketEncryptionOutputFilterSensitiveLog = exports.ServerSideEncryptionConfigurationFilterSensitiveLog = exports.ServerSideEncryptionRuleFilterSensitiveLog = exports.ServerSideEncryptionByDefaultFilterSensitiveLog = exports.GetBucketCorsRequestFilterSensitiveLog = exports.GetBucketCorsOutputFilterSensitiveLog = exports.CORSRuleFilterSensitiveLog = exports.GetBucketAnalyticsConfigurationRequestFilterSensitiveLog = exports.GetBucketAnalyticsConfigurationOutputFilterSensitiveLog = exports.AnalyticsConfigurationFilterSensitiveLog = exports.StorageClassAnalysisFilterSensitiveLog = exports.StorageClassAnalysisDataExportFilterSensitiveLog = exports.AnalyticsExportDestinationFilterSensitiveLog = exports.AnalyticsS3BucketDestinationFilterSensitiveLog = exports.AnalyticsFilterFilterSensitiveLog = exports.AnalyticsAndOperatorFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.GetBucketAclRequestFilterSensitiveLog = exports.GetBucketAclOutputFilterSensitiveLog = exports.GetBucketAccelerateConfigurationRequestFilterSensitiveLog = exports.GetBucketAccelerateConfigurationOutputFilterSensitiveLog = exports.DeletePublicAccessBlockRequestFilterSensitiveLog = exports.DeleteObjectTaggingRequestFilterSensitiveLog = exports.DeleteObjectTaggingOutputFilterSensitiveLog = exports.DeleteObjectsRequestFilterSensitiveLog = exports.DeleteFilterSensitiveLog = exports.ObjectIdentifierFilterSensitiveLog = exports.DeleteObjectsOutputFilterSensitiveLog = void 0;\nexports.GetBucketRequestPaymentOutputFilterSensitiveLog = exports.GetBucketReplicationRequestFilterSensitiveLog = exports.GetBucketReplicationOutputFilterSensitiveLog = exports.ReplicationConfigurationFilterSensitiveLog = exports.ReplicationRuleFilterSensitiveLog = exports.SourceSelectionCriteriaFilterSensitiveLog = exports.SseKmsEncryptedObjectsFilterSensitiveLog = exports.ReplicaModificationsFilterSensitiveLog = exports.ReplicationRuleFilterFilterSensitiveLog = exports.ReplicationRuleAndOperatorFilterSensitiveLog = exports.ExistingObjectReplicationFilterSensitiveLog = exports.DestinationFilterSensitiveLog = exports.ReplicationTimeFilterSensitiveLog = exports.MetricsFilterSensitiveLog = exports.ReplicationTimeValueFilterSensitiveLog = exports.EncryptionConfigurationFilterSensitiveLog = exports.DeleteMarkerReplicationFilterSensitiveLog = exports.GetBucketPolicyStatusRequestFilterSensitiveLog = exports.GetBucketPolicyStatusOutputFilterSensitiveLog = exports.PolicyStatusFilterSensitiveLog = exports.GetBucketPolicyRequestFilterSensitiveLog = exports.GetBucketPolicyOutputFilterSensitiveLog = exports.GetBucketOwnershipControlsRequestFilterSensitiveLog = exports.GetBucketOwnershipControlsOutputFilterSensitiveLog = exports.OwnershipControlsFilterSensitiveLog = exports.OwnershipControlsRuleFilterSensitiveLog = exports.NotificationConfigurationFilterSensitiveLog = exports.TopicConfigurationFilterSensitiveLog = exports.QueueConfigurationFilterSensitiveLog = exports.LambdaFunctionConfigurationFilterSensitiveLog = exports.NotificationConfigurationFilterFilterSensitiveLog = exports.S3KeyFilterFilterSensitiveLog = exports.FilterRuleFilterSensitiveLog = exports.EventBridgeConfigurationFilterSensitiveLog = exports.GetBucketNotificationConfigurationRequestFilterSensitiveLog = exports.GetBucketMetricsConfigurationRequestFilterSensitiveLog = exports.GetBucketMetricsConfigurationOutputFilterSensitiveLog = exports.MetricsConfigurationFilterSensitiveLog = exports.MetricsFilterFilterSensitiveLog = exports.MetricsAndOperatorFilterSensitiveLog = exports.GetBucketLoggingRequestFilterSensitiveLog = exports.GetBucketLoggingOutputFilterSensitiveLog = exports.LoggingEnabledFilterSensitiveLog = exports.TargetGrantFilterSensitiveLog = exports.GetBucketLocationRequestFilterSensitiveLog = exports.GetBucketLocationOutputFilterSensitiveLog = exports.GetBucketLifecycleConfigurationRequestFilterSensitiveLog = exports.GetBucketLifecycleConfigurationOutputFilterSensitiveLog = exports.LifecycleRuleFilterSensitiveLog = exports.TransitionFilterSensitiveLog = void 0;\nexports.ListBucketMetricsConfigurationsOutputFilterSensitiveLog = exports.ListBucketInventoryConfigurationsRequestFilterSensitiveLog = exports.ListBucketInventoryConfigurationsOutputFilterSensitiveLog = exports.ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog = exports.ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog = exports.ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog = exports.ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog = exports.HeadObjectRequestFilterSensitiveLog = exports.HeadObjectOutputFilterSensitiveLog = exports.HeadBucketRequestFilterSensitiveLog = exports.GetPublicAccessBlockRequestFilterSensitiveLog = exports.GetPublicAccessBlockOutputFilterSensitiveLog = exports.PublicAccessBlockConfigurationFilterSensitiveLog = exports.GetObjectTorrentRequestFilterSensitiveLog = exports.GetObjectTorrentOutputFilterSensitiveLog = exports.GetObjectTaggingRequestFilterSensitiveLog = exports.GetObjectTaggingOutputFilterSensitiveLog = exports.GetObjectRetentionRequestFilterSensitiveLog = exports.GetObjectRetentionOutputFilterSensitiveLog = exports.ObjectLockRetentionFilterSensitiveLog = exports.GetObjectLockConfigurationRequestFilterSensitiveLog = exports.GetObjectLockConfigurationOutputFilterSensitiveLog = exports.ObjectLockConfigurationFilterSensitiveLog = exports.ObjectLockRuleFilterSensitiveLog = exports.DefaultRetentionFilterSensitiveLog = exports.GetObjectLegalHoldRequestFilterSensitiveLog = exports.GetObjectLegalHoldOutputFilterSensitiveLog = exports.ObjectLockLegalHoldFilterSensitiveLog = exports.GetObjectAttributesRequestFilterSensitiveLog = exports.GetObjectAttributesOutputFilterSensitiveLog = exports.GetObjectAttributesPartsFilterSensitiveLog = exports.ObjectPartFilterSensitiveLog = exports.ChecksumFilterSensitiveLog = exports.GetObjectAclRequestFilterSensitiveLog = exports.GetObjectAclOutputFilterSensitiveLog = exports.GetObjectRequestFilterSensitiveLog = exports.GetObjectOutputFilterSensitiveLog = exports.GetBucketWebsiteRequestFilterSensitiveLog = exports.GetBucketWebsiteOutputFilterSensitiveLog = exports.RoutingRuleFilterSensitiveLog = exports.RedirectFilterSensitiveLog = exports.ConditionFilterSensitiveLog = exports.RedirectAllRequestsToFilterSensitiveLog = exports.IndexDocumentFilterSensitiveLog = exports.ErrorDocumentFilterSensitiveLog = exports.GetBucketVersioningRequestFilterSensitiveLog = exports.GetBucketVersioningOutputFilterSensitiveLog = exports.GetBucketTaggingRequestFilterSensitiveLog = exports.GetBucketTaggingOutputFilterSensitiveLog = exports.GetBucketRequestPaymentRequestFilterSensitiveLog = void 0;\nexports.PutObjectLegalHoldOutputFilterSensitiveLog = exports.PutObjectAclRequestFilterSensitiveLog = exports.PutObjectAclOutputFilterSensitiveLog = exports.PutObjectRequestFilterSensitiveLog = exports.PutObjectOutputFilterSensitiveLog = exports.PutBucketWebsiteRequestFilterSensitiveLog = exports.WebsiteConfigurationFilterSensitiveLog = exports.PutBucketVersioningRequestFilterSensitiveLog = exports.VersioningConfigurationFilterSensitiveLog = exports.PutBucketTaggingRequestFilterSensitiveLog = exports.TaggingFilterSensitiveLog = exports.PutBucketRequestPaymentRequestFilterSensitiveLog = exports.RequestPaymentConfigurationFilterSensitiveLog = exports.PutBucketReplicationRequestFilterSensitiveLog = exports.PutBucketPolicyRequestFilterSensitiveLog = exports.PutBucketOwnershipControlsRequestFilterSensitiveLog = exports.PutBucketNotificationConfigurationRequestFilterSensitiveLog = exports.PutBucketMetricsConfigurationRequestFilterSensitiveLog = exports.PutBucketLoggingRequestFilterSensitiveLog = exports.BucketLoggingStatusFilterSensitiveLog = exports.PutBucketLifecycleConfigurationRequestFilterSensitiveLog = exports.BucketLifecycleConfigurationFilterSensitiveLog = exports.PutBucketInventoryConfigurationRequestFilterSensitiveLog = exports.PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = exports.PutBucketEncryptionRequestFilterSensitiveLog = exports.PutBucketCorsRequestFilterSensitiveLog = exports.CORSConfigurationFilterSensitiveLog = exports.PutBucketAnalyticsConfigurationRequestFilterSensitiveLog = exports.PutBucketAclRequestFilterSensitiveLog = exports.PutBucketAccelerateConfigurationRequestFilterSensitiveLog = exports.ListPartsRequestFilterSensitiveLog = exports.ListPartsOutputFilterSensitiveLog = exports.PartFilterSensitiveLog = exports.ListObjectVersionsRequestFilterSensitiveLog = exports.ListObjectVersionsOutputFilterSensitiveLog = exports.ObjectVersionFilterSensitiveLog = exports.DeleteMarkerEntryFilterSensitiveLog = exports.ListObjectsV2RequestFilterSensitiveLog = exports.ListObjectsV2OutputFilterSensitiveLog = exports.ListObjectsRequestFilterSensitiveLog = exports.ListObjectsOutputFilterSensitiveLog = exports._ObjectFilterSensitiveLog = exports.ListMultipartUploadsRequestFilterSensitiveLog = exports.ListMultipartUploadsOutputFilterSensitiveLog = exports.MultipartUploadFilterSensitiveLog = exports.InitiatorFilterSensitiveLog = exports.CommonPrefixFilterSensitiveLog = exports.ListBucketsOutputFilterSensitiveLog = exports.BucketFilterSensitiveLog = exports.ListBucketMetricsConfigurationsRequestFilterSensitiveLog = void 0;\nexports.PutObjectLockConfigurationRequestFilterSensitiveLog = exports.PutObjectLockConfigurationOutputFilterSensitiveLog = exports.PutObjectLegalHoldRequestFilterSensitiveLog = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst S3ServiceException_1 = require(\"./S3ServiceException\");\nvar RequestCharged;\n(function (RequestCharged) {\n RequestCharged[\"requester\"] = \"requester\";\n})(RequestCharged = exports.RequestCharged || (exports.RequestCharged = {}));\nvar RequestPayer;\n(function (RequestPayer) {\n RequestPayer[\"requester\"] = \"requester\";\n})(RequestPayer = exports.RequestPayer || (exports.RequestPayer = {}));\nclass NoSuchUpload extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"NoSuchUpload\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"NoSuchUpload\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, NoSuchUpload.prototype);\n }\n}\nexports.NoSuchUpload = NoSuchUpload;\nvar BucketAccelerateStatus;\n(function (BucketAccelerateStatus) {\n BucketAccelerateStatus[\"Enabled\"] = \"Enabled\";\n BucketAccelerateStatus[\"Suspended\"] = \"Suspended\";\n})(BucketAccelerateStatus = exports.BucketAccelerateStatus || (exports.BucketAccelerateStatus = {}));\nvar Type;\n(function (Type) {\n Type[\"AmazonCustomerByEmail\"] = \"AmazonCustomerByEmail\";\n Type[\"CanonicalUser\"] = \"CanonicalUser\";\n Type[\"Group\"] = \"Group\";\n})(Type = exports.Type || (exports.Type = {}));\nvar Permission;\n(function (Permission) {\n Permission[\"FULL_CONTROL\"] = \"FULL_CONTROL\";\n Permission[\"READ\"] = \"READ\";\n Permission[\"READ_ACP\"] = \"READ_ACP\";\n Permission[\"WRITE\"] = \"WRITE\";\n Permission[\"WRITE_ACP\"] = \"WRITE_ACP\";\n})(Permission = exports.Permission || (exports.Permission = {}));\nvar OwnerOverride;\n(function (OwnerOverride) {\n OwnerOverride[\"Destination\"] = \"Destination\";\n})(OwnerOverride = exports.OwnerOverride || (exports.OwnerOverride = {}));\nvar ServerSideEncryption;\n(function (ServerSideEncryption) {\n ServerSideEncryption[\"AES256\"] = \"AES256\";\n ServerSideEncryption[\"aws_kms\"] = \"aws:kms\";\n})(ServerSideEncryption = exports.ServerSideEncryption || (exports.ServerSideEncryption = {}));\nvar ObjectCannedACL;\n(function (ObjectCannedACL) {\n ObjectCannedACL[\"authenticated_read\"] = \"authenticated-read\";\n ObjectCannedACL[\"aws_exec_read\"] = \"aws-exec-read\";\n ObjectCannedACL[\"bucket_owner_full_control\"] = \"bucket-owner-full-control\";\n ObjectCannedACL[\"bucket_owner_read\"] = \"bucket-owner-read\";\n ObjectCannedACL[\"private\"] = \"private\";\n ObjectCannedACL[\"public_read\"] = \"public-read\";\n ObjectCannedACL[\"public_read_write\"] = \"public-read-write\";\n})(ObjectCannedACL = exports.ObjectCannedACL || (exports.ObjectCannedACL = {}));\nvar ChecksumAlgorithm;\n(function (ChecksumAlgorithm) {\n ChecksumAlgorithm[\"CRC32\"] = \"CRC32\";\n ChecksumAlgorithm[\"CRC32C\"] = \"CRC32C\";\n ChecksumAlgorithm[\"SHA1\"] = \"SHA1\";\n ChecksumAlgorithm[\"SHA256\"] = \"SHA256\";\n})(ChecksumAlgorithm = exports.ChecksumAlgorithm || (exports.ChecksumAlgorithm = {}));\nvar MetadataDirective;\n(function (MetadataDirective) {\n MetadataDirective[\"COPY\"] = \"COPY\";\n MetadataDirective[\"REPLACE\"] = \"REPLACE\";\n})(MetadataDirective = exports.MetadataDirective || (exports.MetadataDirective = {}));\nvar ObjectLockLegalHoldStatus;\n(function (ObjectLockLegalHoldStatus) {\n ObjectLockLegalHoldStatus[\"OFF\"] = \"OFF\";\n ObjectLockLegalHoldStatus[\"ON\"] = \"ON\";\n})(ObjectLockLegalHoldStatus = exports.ObjectLockLegalHoldStatus || (exports.ObjectLockLegalHoldStatus = {}));\nvar ObjectLockMode;\n(function (ObjectLockMode) {\n ObjectLockMode[\"COMPLIANCE\"] = \"COMPLIANCE\";\n ObjectLockMode[\"GOVERNANCE\"] = \"GOVERNANCE\";\n})(ObjectLockMode = exports.ObjectLockMode || (exports.ObjectLockMode = {}));\nvar StorageClass;\n(function (StorageClass) {\n StorageClass[\"DEEP_ARCHIVE\"] = \"DEEP_ARCHIVE\";\n StorageClass[\"GLACIER\"] = \"GLACIER\";\n StorageClass[\"GLACIER_IR\"] = \"GLACIER_IR\";\n StorageClass[\"INTELLIGENT_TIERING\"] = \"INTELLIGENT_TIERING\";\n StorageClass[\"ONEZONE_IA\"] = \"ONEZONE_IA\";\n StorageClass[\"OUTPOSTS\"] = \"OUTPOSTS\";\n StorageClass[\"REDUCED_REDUNDANCY\"] = \"REDUCED_REDUNDANCY\";\n StorageClass[\"STANDARD\"] = \"STANDARD\";\n StorageClass[\"STANDARD_IA\"] = \"STANDARD_IA\";\n})(StorageClass = exports.StorageClass || (exports.StorageClass = {}));\nvar TaggingDirective;\n(function (TaggingDirective) {\n TaggingDirective[\"COPY\"] = \"COPY\";\n TaggingDirective[\"REPLACE\"] = \"REPLACE\";\n})(TaggingDirective = exports.TaggingDirective || (exports.TaggingDirective = {}));\nclass ObjectNotInActiveTierError extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ObjectNotInActiveTierError\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ObjectNotInActiveTierError.prototype);\n }\n}\nexports.ObjectNotInActiveTierError = ObjectNotInActiveTierError;\nclass BucketAlreadyExists extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"BucketAlreadyExists\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, BucketAlreadyExists.prototype);\n }\n}\nexports.BucketAlreadyExists = BucketAlreadyExists;\nclass BucketAlreadyOwnedByYou extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"BucketAlreadyOwnedByYou\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, BucketAlreadyOwnedByYou.prototype);\n }\n}\nexports.BucketAlreadyOwnedByYou = BucketAlreadyOwnedByYou;\nvar BucketCannedACL;\n(function (BucketCannedACL) {\n BucketCannedACL[\"authenticated_read\"] = \"authenticated-read\";\n BucketCannedACL[\"private\"] = \"private\";\n BucketCannedACL[\"public_read\"] = \"public-read\";\n BucketCannedACL[\"public_read_write\"] = \"public-read-write\";\n})(BucketCannedACL = exports.BucketCannedACL || (exports.BucketCannedACL = {}));\nvar BucketLocationConstraint;\n(function (BucketLocationConstraint) {\n BucketLocationConstraint[\"EU\"] = \"EU\";\n BucketLocationConstraint[\"af_south_1\"] = \"af-south-1\";\n BucketLocationConstraint[\"ap_east_1\"] = \"ap-east-1\";\n BucketLocationConstraint[\"ap_northeast_1\"] = \"ap-northeast-1\";\n BucketLocationConstraint[\"ap_northeast_2\"] = \"ap-northeast-2\";\n BucketLocationConstraint[\"ap_northeast_3\"] = \"ap-northeast-3\";\n BucketLocationConstraint[\"ap_south_1\"] = \"ap-south-1\";\n BucketLocationConstraint[\"ap_southeast_1\"] = \"ap-southeast-1\";\n BucketLocationConstraint[\"ap_southeast_2\"] = \"ap-southeast-2\";\n BucketLocationConstraint[\"ap_southeast_3\"] = \"ap-southeast-3\";\n BucketLocationConstraint[\"ca_central_1\"] = \"ca-central-1\";\n BucketLocationConstraint[\"cn_north_1\"] = \"cn-north-1\";\n BucketLocationConstraint[\"cn_northwest_1\"] = \"cn-northwest-1\";\n BucketLocationConstraint[\"eu_central_1\"] = \"eu-central-1\";\n BucketLocationConstraint[\"eu_north_1\"] = \"eu-north-1\";\n BucketLocationConstraint[\"eu_south_1\"] = \"eu-south-1\";\n BucketLocationConstraint[\"eu_west_1\"] = \"eu-west-1\";\n BucketLocationConstraint[\"eu_west_2\"] = \"eu-west-2\";\n BucketLocationConstraint[\"eu_west_3\"] = \"eu-west-3\";\n BucketLocationConstraint[\"me_south_1\"] = \"me-south-1\";\n BucketLocationConstraint[\"sa_east_1\"] = \"sa-east-1\";\n BucketLocationConstraint[\"us_east_2\"] = \"us-east-2\";\n BucketLocationConstraint[\"us_gov_east_1\"] = \"us-gov-east-1\";\n BucketLocationConstraint[\"us_gov_west_1\"] = \"us-gov-west-1\";\n BucketLocationConstraint[\"us_west_1\"] = \"us-west-1\";\n BucketLocationConstraint[\"us_west_2\"] = \"us-west-2\";\n})(BucketLocationConstraint = exports.BucketLocationConstraint || (exports.BucketLocationConstraint = {}));\nvar ObjectOwnership;\n(function (ObjectOwnership) {\n ObjectOwnership[\"BucketOwnerEnforced\"] = \"BucketOwnerEnforced\";\n ObjectOwnership[\"BucketOwnerPreferred\"] = \"BucketOwnerPreferred\";\n ObjectOwnership[\"ObjectWriter\"] = \"ObjectWriter\";\n})(ObjectOwnership = exports.ObjectOwnership || (exports.ObjectOwnership = {}));\nvar AnalyticsFilter;\n(function (AnalyticsFilter) {\n AnalyticsFilter.visit = (value, visitor) => {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(AnalyticsFilter = exports.AnalyticsFilter || (exports.AnalyticsFilter = {}));\nvar AnalyticsS3ExportFileFormat;\n(function (AnalyticsS3ExportFileFormat) {\n AnalyticsS3ExportFileFormat[\"CSV\"] = \"CSV\";\n})(AnalyticsS3ExportFileFormat = exports.AnalyticsS3ExportFileFormat || (exports.AnalyticsS3ExportFileFormat = {}));\nvar StorageClassAnalysisSchemaVersion;\n(function (StorageClassAnalysisSchemaVersion) {\n StorageClassAnalysisSchemaVersion[\"V_1\"] = \"V_1\";\n})(StorageClassAnalysisSchemaVersion = exports.StorageClassAnalysisSchemaVersion || (exports.StorageClassAnalysisSchemaVersion = {}));\nvar IntelligentTieringStatus;\n(function (IntelligentTieringStatus) {\n IntelligentTieringStatus[\"Disabled\"] = \"Disabled\";\n IntelligentTieringStatus[\"Enabled\"] = \"Enabled\";\n})(IntelligentTieringStatus = exports.IntelligentTieringStatus || (exports.IntelligentTieringStatus = {}));\nvar IntelligentTieringAccessTier;\n(function (IntelligentTieringAccessTier) {\n IntelligentTieringAccessTier[\"ARCHIVE_ACCESS\"] = \"ARCHIVE_ACCESS\";\n IntelligentTieringAccessTier[\"DEEP_ARCHIVE_ACCESS\"] = \"DEEP_ARCHIVE_ACCESS\";\n})(IntelligentTieringAccessTier = exports.IntelligentTieringAccessTier || (exports.IntelligentTieringAccessTier = {}));\nvar InventoryFormat;\n(function (InventoryFormat) {\n InventoryFormat[\"CSV\"] = \"CSV\";\n InventoryFormat[\"ORC\"] = \"ORC\";\n InventoryFormat[\"Parquet\"] = \"Parquet\";\n})(InventoryFormat = exports.InventoryFormat || (exports.InventoryFormat = {}));\nvar InventoryIncludedObjectVersions;\n(function (InventoryIncludedObjectVersions) {\n InventoryIncludedObjectVersions[\"All\"] = \"All\";\n InventoryIncludedObjectVersions[\"Current\"] = \"Current\";\n})(InventoryIncludedObjectVersions = exports.InventoryIncludedObjectVersions || (exports.InventoryIncludedObjectVersions = {}));\nvar InventoryOptionalField;\n(function (InventoryOptionalField) {\n InventoryOptionalField[\"BucketKeyStatus\"] = \"BucketKeyStatus\";\n InventoryOptionalField[\"ChecksumAlgorithm\"] = \"ChecksumAlgorithm\";\n InventoryOptionalField[\"ETag\"] = \"ETag\";\n InventoryOptionalField[\"EncryptionStatus\"] = \"EncryptionStatus\";\n InventoryOptionalField[\"IntelligentTieringAccessTier\"] = \"IntelligentTieringAccessTier\";\n InventoryOptionalField[\"IsMultipartUploaded\"] = \"IsMultipartUploaded\";\n InventoryOptionalField[\"LastModifiedDate\"] = \"LastModifiedDate\";\n InventoryOptionalField[\"ObjectLockLegalHoldStatus\"] = \"ObjectLockLegalHoldStatus\";\n InventoryOptionalField[\"ObjectLockMode\"] = \"ObjectLockMode\";\n InventoryOptionalField[\"ObjectLockRetainUntilDate\"] = \"ObjectLockRetainUntilDate\";\n InventoryOptionalField[\"ReplicationStatus\"] = \"ReplicationStatus\";\n InventoryOptionalField[\"Size\"] = \"Size\";\n InventoryOptionalField[\"StorageClass\"] = \"StorageClass\";\n})(InventoryOptionalField = exports.InventoryOptionalField || (exports.InventoryOptionalField = {}));\nvar InventoryFrequency;\n(function (InventoryFrequency) {\n InventoryFrequency[\"Daily\"] = \"Daily\";\n InventoryFrequency[\"Weekly\"] = \"Weekly\";\n})(InventoryFrequency = exports.InventoryFrequency || (exports.InventoryFrequency = {}));\nvar LifecycleRuleFilter;\n(function (LifecycleRuleFilter) {\n LifecycleRuleFilter.visit = (value, visitor) => {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.ObjectSizeGreaterThan !== undefined)\n return visitor.ObjectSizeGreaterThan(value.ObjectSizeGreaterThan);\n if (value.ObjectSizeLessThan !== undefined)\n return visitor.ObjectSizeLessThan(value.ObjectSizeLessThan);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(LifecycleRuleFilter = exports.LifecycleRuleFilter || (exports.LifecycleRuleFilter = {}));\nvar TransitionStorageClass;\n(function (TransitionStorageClass) {\n TransitionStorageClass[\"DEEP_ARCHIVE\"] = \"DEEP_ARCHIVE\";\n TransitionStorageClass[\"GLACIER\"] = \"GLACIER\";\n TransitionStorageClass[\"GLACIER_IR\"] = \"GLACIER_IR\";\n TransitionStorageClass[\"INTELLIGENT_TIERING\"] = \"INTELLIGENT_TIERING\";\n TransitionStorageClass[\"ONEZONE_IA\"] = \"ONEZONE_IA\";\n TransitionStorageClass[\"STANDARD_IA\"] = \"STANDARD_IA\";\n})(TransitionStorageClass = exports.TransitionStorageClass || (exports.TransitionStorageClass = {}));\nvar ExpirationStatus;\n(function (ExpirationStatus) {\n ExpirationStatus[\"Disabled\"] = \"Disabled\";\n ExpirationStatus[\"Enabled\"] = \"Enabled\";\n})(ExpirationStatus = exports.ExpirationStatus || (exports.ExpirationStatus = {}));\nvar BucketLogsPermission;\n(function (BucketLogsPermission) {\n BucketLogsPermission[\"FULL_CONTROL\"] = \"FULL_CONTROL\";\n BucketLogsPermission[\"READ\"] = \"READ\";\n BucketLogsPermission[\"WRITE\"] = \"WRITE\";\n})(BucketLogsPermission = exports.BucketLogsPermission || (exports.BucketLogsPermission = {}));\nvar MetricsFilter;\n(function (MetricsFilter) {\n MetricsFilter.visit = (value, visitor) => {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.AccessPointArn !== undefined)\n return visitor.AccessPointArn(value.AccessPointArn);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(MetricsFilter = exports.MetricsFilter || (exports.MetricsFilter = {}));\nvar FilterRuleName;\n(function (FilterRuleName) {\n FilterRuleName[\"prefix\"] = \"prefix\";\n FilterRuleName[\"suffix\"] = \"suffix\";\n})(FilterRuleName = exports.FilterRuleName || (exports.FilterRuleName = {}));\nvar DeleteMarkerReplicationStatus;\n(function (DeleteMarkerReplicationStatus) {\n DeleteMarkerReplicationStatus[\"Disabled\"] = \"Disabled\";\n DeleteMarkerReplicationStatus[\"Enabled\"] = \"Enabled\";\n})(DeleteMarkerReplicationStatus = exports.DeleteMarkerReplicationStatus || (exports.DeleteMarkerReplicationStatus = {}));\nvar MetricsStatus;\n(function (MetricsStatus) {\n MetricsStatus[\"Disabled\"] = \"Disabled\";\n MetricsStatus[\"Enabled\"] = \"Enabled\";\n})(MetricsStatus = exports.MetricsStatus || (exports.MetricsStatus = {}));\nvar ReplicationTimeStatus;\n(function (ReplicationTimeStatus) {\n ReplicationTimeStatus[\"Disabled\"] = \"Disabled\";\n ReplicationTimeStatus[\"Enabled\"] = \"Enabled\";\n})(ReplicationTimeStatus = exports.ReplicationTimeStatus || (exports.ReplicationTimeStatus = {}));\nvar ExistingObjectReplicationStatus;\n(function (ExistingObjectReplicationStatus) {\n ExistingObjectReplicationStatus[\"Disabled\"] = \"Disabled\";\n ExistingObjectReplicationStatus[\"Enabled\"] = \"Enabled\";\n})(ExistingObjectReplicationStatus = exports.ExistingObjectReplicationStatus || (exports.ExistingObjectReplicationStatus = {}));\nvar ReplicationRuleFilter;\n(function (ReplicationRuleFilter) {\n ReplicationRuleFilter.visit = (value, visitor) => {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ReplicationRuleFilter = exports.ReplicationRuleFilter || (exports.ReplicationRuleFilter = {}));\nvar ReplicaModificationsStatus;\n(function (ReplicaModificationsStatus) {\n ReplicaModificationsStatus[\"Disabled\"] = \"Disabled\";\n ReplicaModificationsStatus[\"Enabled\"] = \"Enabled\";\n})(ReplicaModificationsStatus = exports.ReplicaModificationsStatus || (exports.ReplicaModificationsStatus = {}));\nvar SseKmsEncryptedObjectsStatus;\n(function (SseKmsEncryptedObjectsStatus) {\n SseKmsEncryptedObjectsStatus[\"Disabled\"] = \"Disabled\";\n SseKmsEncryptedObjectsStatus[\"Enabled\"] = \"Enabled\";\n})(SseKmsEncryptedObjectsStatus = exports.SseKmsEncryptedObjectsStatus || (exports.SseKmsEncryptedObjectsStatus = {}));\nvar ReplicationRuleStatus;\n(function (ReplicationRuleStatus) {\n ReplicationRuleStatus[\"Disabled\"] = \"Disabled\";\n ReplicationRuleStatus[\"Enabled\"] = \"Enabled\";\n})(ReplicationRuleStatus = exports.ReplicationRuleStatus || (exports.ReplicationRuleStatus = {}));\nvar Payer;\n(function (Payer) {\n Payer[\"BucketOwner\"] = \"BucketOwner\";\n Payer[\"Requester\"] = \"Requester\";\n})(Payer = exports.Payer || (exports.Payer = {}));\nvar MFADeleteStatus;\n(function (MFADeleteStatus) {\n MFADeleteStatus[\"Disabled\"] = \"Disabled\";\n MFADeleteStatus[\"Enabled\"] = \"Enabled\";\n})(MFADeleteStatus = exports.MFADeleteStatus || (exports.MFADeleteStatus = {}));\nvar BucketVersioningStatus;\n(function (BucketVersioningStatus) {\n BucketVersioningStatus[\"Enabled\"] = \"Enabled\";\n BucketVersioningStatus[\"Suspended\"] = \"Suspended\";\n})(BucketVersioningStatus = exports.BucketVersioningStatus || (exports.BucketVersioningStatus = {}));\nvar Protocol;\n(function (Protocol) {\n Protocol[\"http\"] = \"http\";\n Protocol[\"https\"] = \"https\";\n})(Protocol = exports.Protocol || (exports.Protocol = {}));\nvar ReplicationStatus;\n(function (ReplicationStatus) {\n ReplicationStatus[\"COMPLETE\"] = \"COMPLETE\";\n ReplicationStatus[\"FAILED\"] = \"FAILED\";\n ReplicationStatus[\"PENDING\"] = \"PENDING\";\n ReplicationStatus[\"REPLICA\"] = \"REPLICA\";\n})(ReplicationStatus = exports.ReplicationStatus || (exports.ReplicationStatus = {}));\nvar ChecksumMode;\n(function (ChecksumMode) {\n ChecksumMode[\"ENABLED\"] = \"ENABLED\";\n})(ChecksumMode = exports.ChecksumMode || (exports.ChecksumMode = {}));\nclass InvalidObjectState extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"InvalidObjectState\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidObjectState\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidObjectState.prototype);\n this.StorageClass = opts.StorageClass;\n this.AccessTier = opts.AccessTier;\n }\n}\nexports.InvalidObjectState = InvalidObjectState;\nclass NoSuchKey extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"NoSuchKey\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"NoSuchKey\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, NoSuchKey.prototype);\n }\n}\nexports.NoSuchKey = NoSuchKey;\nvar ObjectAttributes;\n(function (ObjectAttributes) {\n ObjectAttributes[\"CHECKSUM\"] = \"Checksum\";\n ObjectAttributes[\"ETAG\"] = \"ETag\";\n ObjectAttributes[\"OBJECT_PARTS\"] = \"ObjectParts\";\n ObjectAttributes[\"OBJECT_SIZE\"] = \"ObjectSize\";\n ObjectAttributes[\"STORAGE_CLASS\"] = \"StorageClass\";\n})(ObjectAttributes = exports.ObjectAttributes || (exports.ObjectAttributes = {}));\nvar ObjectLockEnabled;\n(function (ObjectLockEnabled) {\n ObjectLockEnabled[\"Enabled\"] = \"Enabled\";\n})(ObjectLockEnabled = exports.ObjectLockEnabled || (exports.ObjectLockEnabled = {}));\nvar ObjectLockRetentionMode;\n(function (ObjectLockRetentionMode) {\n ObjectLockRetentionMode[\"COMPLIANCE\"] = \"COMPLIANCE\";\n ObjectLockRetentionMode[\"GOVERNANCE\"] = \"GOVERNANCE\";\n})(ObjectLockRetentionMode = exports.ObjectLockRetentionMode || (exports.ObjectLockRetentionMode = {}));\nclass NotFound extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"NotFound\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"NotFound\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, NotFound.prototype);\n }\n}\nexports.NotFound = NotFound;\nvar ArchiveStatus;\n(function (ArchiveStatus) {\n ArchiveStatus[\"ARCHIVE_ACCESS\"] = \"ARCHIVE_ACCESS\";\n ArchiveStatus[\"DEEP_ARCHIVE_ACCESS\"] = \"DEEP_ARCHIVE_ACCESS\";\n})(ArchiveStatus = exports.ArchiveStatus || (exports.ArchiveStatus = {}));\nvar EncodingType;\n(function (EncodingType) {\n EncodingType[\"url\"] = \"url\";\n})(EncodingType = exports.EncodingType || (exports.EncodingType = {}));\nvar ObjectStorageClass;\n(function (ObjectStorageClass) {\n ObjectStorageClass[\"DEEP_ARCHIVE\"] = \"DEEP_ARCHIVE\";\n ObjectStorageClass[\"GLACIER\"] = \"GLACIER\";\n ObjectStorageClass[\"GLACIER_IR\"] = \"GLACIER_IR\";\n ObjectStorageClass[\"INTELLIGENT_TIERING\"] = \"INTELLIGENT_TIERING\";\n ObjectStorageClass[\"ONEZONE_IA\"] = \"ONEZONE_IA\";\n ObjectStorageClass[\"OUTPOSTS\"] = \"OUTPOSTS\";\n ObjectStorageClass[\"REDUCED_REDUNDANCY\"] = \"REDUCED_REDUNDANCY\";\n ObjectStorageClass[\"STANDARD\"] = \"STANDARD\";\n ObjectStorageClass[\"STANDARD_IA\"] = \"STANDARD_IA\";\n})(ObjectStorageClass = exports.ObjectStorageClass || (exports.ObjectStorageClass = {}));\nclass NoSuchBucket extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"NoSuchBucket\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"NoSuchBucket\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, NoSuchBucket.prototype);\n }\n}\nexports.NoSuchBucket = NoSuchBucket;\nvar ObjectVersionStorageClass;\n(function (ObjectVersionStorageClass) {\n ObjectVersionStorageClass[\"STANDARD\"] = \"STANDARD\";\n})(ObjectVersionStorageClass = exports.ObjectVersionStorageClass || (exports.ObjectVersionStorageClass = {}));\nvar MFADelete;\n(function (MFADelete) {\n MFADelete[\"Disabled\"] = \"Disabled\";\n MFADelete[\"Enabled\"] = \"Enabled\";\n})(MFADelete = exports.MFADelete || (exports.MFADelete = {}));\nconst AbortIncompleteMultipartUploadFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AbortIncompleteMultipartUploadFilterSensitiveLog = AbortIncompleteMultipartUploadFilterSensitiveLog;\nconst AbortMultipartUploadOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AbortMultipartUploadOutputFilterSensitiveLog = AbortMultipartUploadOutputFilterSensitiveLog;\nconst AbortMultipartUploadRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AbortMultipartUploadRequestFilterSensitiveLog = AbortMultipartUploadRequestFilterSensitiveLog;\nconst AccelerateConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AccelerateConfigurationFilterSensitiveLog = AccelerateConfigurationFilterSensitiveLog;\nconst GranteeFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GranteeFilterSensitiveLog = GranteeFilterSensitiveLog;\nconst GrantFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GrantFilterSensitiveLog = GrantFilterSensitiveLog;\nconst OwnerFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.OwnerFilterSensitiveLog = OwnerFilterSensitiveLog;\nconst AccessControlPolicyFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AccessControlPolicyFilterSensitiveLog = AccessControlPolicyFilterSensitiveLog;\nconst AccessControlTranslationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AccessControlTranslationFilterSensitiveLog = AccessControlTranslationFilterSensitiveLog;\nconst CompleteMultipartUploadOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CompleteMultipartUploadOutputFilterSensitiveLog = CompleteMultipartUploadOutputFilterSensitiveLog;\nconst CompletedPartFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CompletedPartFilterSensitiveLog = CompletedPartFilterSensitiveLog;\nconst CompletedMultipartUploadFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CompletedMultipartUploadFilterSensitiveLog = CompletedMultipartUploadFilterSensitiveLog;\nconst CompleteMultipartUploadRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CompleteMultipartUploadRequestFilterSensitiveLog = CompleteMultipartUploadRequestFilterSensitiveLog;\nconst CopyObjectResultFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CopyObjectResultFilterSensitiveLog = CopyObjectResultFilterSensitiveLog;\nconst CopyObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CopyObjectOutputFilterSensitiveLog = CopyObjectOutputFilterSensitiveLog;\nconst CopyObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CopyObjectRequestFilterSensitiveLog = CopyObjectRequestFilterSensitiveLog;\nconst CreateBucketOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateBucketOutputFilterSensitiveLog = CreateBucketOutputFilterSensitiveLog;\nconst CreateBucketConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateBucketConfigurationFilterSensitiveLog = CreateBucketConfigurationFilterSensitiveLog;\nconst CreateBucketRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateBucketRequestFilterSensitiveLog = CreateBucketRequestFilterSensitiveLog;\nconst CreateMultipartUploadOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CreateMultipartUploadOutputFilterSensitiveLog = CreateMultipartUploadOutputFilterSensitiveLog;\nconst CreateMultipartUploadRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CreateMultipartUploadRequestFilterSensitiveLog = CreateMultipartUploadRequestFilterSensitiveLog;\nconst DeleteBucketRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketRequestFilterSensitiveLog = DeleteBucketRequestFilterSensitiveLog;\nconst DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog = DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog;\nconst DeleteBucketCorsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketCorsRequestFilterSensitiveLog = DeleteBucketCorsRequestFilterSensitiveLog;\nconst DeleteBucketEncryptionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketEncryptionRequestFilterSensitiveLog = DeleteBucketEncryptionRequestFilterSensitiveLog;\nconst DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog;\nconst DeleteBucketInventoryConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketInventoryConfigurationRequestFilterSensitiveLog = DeleteBucketInventoryConfigurationRequestFilterSensitiveLog;\nconst DeleteBucketLifecycleRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketLifecycleRequestFilterSensitiveLog = DeleteBucketLifecycleRequestFilterSensitiveLog;\nconst DeleteBucketMetricsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketMetricsConfigurationRequestFilterSensitiveLog = DeleteBucketMetricsConfigurationRequestFilterSensitiveLog;\nconst DeleteBucketOwnershipControlsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketOwnershipControlsRequestFilterSensitiveLog = DeleteBucketOwnershipControlsRequestFilterSensitiveLog;\nconst DeleteBucketPolicyRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketPolicyRequestFilterSensitiveLog = DeleteBucketPolicyRequestFilterSensitiveLog;\nconst DeleteBucketReplicationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketReplicationRequestFilterSensitiveLog = DeleteBucketReplicationRequestFilterSensitiveLog;\nconst DeleteBucketTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketTaggingRequestFilterSensitiveLog = DeleteBucketTaggingRequestFilterSensitiveLog;\nconst DeleteBucketWebsiteRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketWebsiteRequestFilterSensitiveLog = DeleteBucketWebsiteRequestFilterSensitiveLog;\nconst DeleteObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectOutputFilterSensitiveLog = DeleteObjectOutputFilterSensitiveLog;\nconst DeleteObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectRequestFilterSensitiveLog = DeleteObjectRequestFilterSensitiveLog;\nconst DeletedObjectFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeletedObjectFilterSensitiveLog = DeletedObjectFilterSensitiveLog;\nconst _ErrorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports._ErrorFilterSensitiveLog = _ErrorFilterSensitiveLog;\nconst DeleteObjectsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectsOutputFilterSensitiveLog = DeleteObjectsOutputFilterSensitiveLog;\nconst ObjectIdentifierFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectIdentifierFilterSensitiveLog = ObjectIdentifierFilterSensitiveLog;\nconst DeleteFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteFilterSensitiveLog = DeleteFilterSensitiveLog;\nconst DeleteObjectsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectsRequestFilterSensitiveLog = DeleteObjectsRequestFilterSensitiveLog;\nconst DeleteObjectTaggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectTaggingOutputFilterSensitiveLog = DeleteObjectTaggingOutputFilterSensitiveLog;\nconst DeleteObjectTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectTaggingRequestFilterSensitiveLog = DeleteObjectTaggingRequestFilterSensitiveLog;\nconst DeletePublicAccessBlockRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeletePublicAccessBlockRequestFilterSensitiveLog = DeletePublicAccessBlockRequestFilterSensitiveLog;\nconst GetBucketAccelerateConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAccelerateConfigurationOutputFilterSensitiveLog = GetBucketAccelerateConfigurationOutputFilterSensitiveLog;\nconst GetBucketAccelerateConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAccelerateConfigurationRequestFilterSensitiveLog = GetBucketAccelerateConfigurationRequestFilterSensitiveLog;\nconst GetBucketAclOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAclOutputFilterSensitiveLog = GetBucketAclOutputFilterSensitiveLog;\nconst GetBucketAclRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAclRequestFilterSensitiveLog = GetBucketAclRequestFilterSensitiveLog;\nconst TagFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TagFilterSensitiveLog = TagFilterSensitiveLog;\nconst AnalyticsAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AnalyticsAndOperatorFilterSensitiveLog = AnalyticsAndOperatorFilterSensitiveLog;\nconst AnalyticsFilterFilterSensitiveLog = (obj) => {\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: (0, exports.TagFilterSensitiveLog)(obj.Tag) };\n if (obj.And !== undefined)\n return { And: (0, exports.AnalyticsAndOperatorFilterSensitiveLog)(obj.And) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.AnalyticsFilterFilterSensitiveLog = AnalyticsFilterFilterSensitiveLog;\nconst AnalyticsS3BucketDestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AnalyticsS3BucketDestinationFilterSensitiveLog = AnalyticsS3BucketDestinationFilterSensitiveLog;\nconst AnalyticsExportDestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AnalyticsExportDestinationFilterSensitiveLog = AnalyticsExportDestinationFilterSensitiveLog;\nconst StorageClassAnalysisDataExportFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StorageClassAnalysisDataExportFilterSensitiveLog = StorageClassAnalysisDataExportFilterSensitiveLog;\nconst StorageClassAnalysisFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StorageClassAnalysisFilterSensitiveLog = StorageClassAnalysisFilterSensitiveLog;\nconst AnalyticsConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Filter && { Filter: (0, exports.AnalyticsFilterFilterSensitiveLog)(obj.Filter) }),\n});\nexports.AnalyticsConfigurationFilterSensitiveLog = AnalyticsConfigurationFilterSensitiveLog;\nconst GetBucketAnalyticsConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.AnalyticsConfiguration && {\n AnalyticsConfiguration: (0, exports.AnalyticsConfigurationFilterSensitiveLog)(obj.AnalyticsConfiguration),\n }),\n});\nexports.GetBucketAnalyticsConfigurationOutputFilterSensitiveLog = GetBucketAnalyticsConfigurationOutputFilterSensitiveLog;\nconst GetBucketAnalyticsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAnalyticsConfigurationRequestFilterSensitiveLog = GetBucketAnalyticsConfigurationRequestFilterSensitiveLog;\nconst CORSRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CORSRuleFilterSensitiveLog = CORSRuleFilterSensitiveLog;\nconst GetBucketCorsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketCorsOutputFilterSensitiveLog = GetBucketCorsOutputFilterSensitiveLog;\nconst GetBucketCorsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketCorsRequestFilterSensitiveLog = GetBucketCorsRequestFilterSensitiveLog;\nconst ServerSideEncryptionByDefaultFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.KMSMasterKeyID && { KMSMasterKeyID: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.ServerSideEncryptionByDefaultFilterSensitiveLog = ServerSideEncryptionByDefaultFilterSensitiveLog;\nconst ServerSideEncryptionRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ApplyServerSideEncryptionByDefault && {\n ApplyServerSideEncryptionByDefault: (0, exports.ServerSideEncryptionByDefaultFilterSensitiveLog)(obj.ApplyServerSideEncryptionByDefault),\n }),\n});\nexports.ServerSideEncryptionRuleFilterSensitiveLog = ServerSideEncryptionRuleFilterSensitiveLog;\nconst ServerSideEncryptionConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => (0, exports.ServerSideEncryptionRuleFilterSensitiveLog)(item)) }),\n});\nexports.ServerSideEncryptionConfigurationFilterSensitiveLog = ServerSideEncryptionConfigurationFilterSensitiveLog;\nconst GetBucketEncryptionOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ServerSideEncryptionConfiguration && {\n ServerSideEncryptionConfiguration: (0, exports.ServerSideEncryptionConfigurationFilterSensitiveLog)(obj.ServerSideEncryptionConfiguration),\n }),\n});\nexports.GetBucketEncryptionOutputFilterSensitiveLog = GetBucketEncryptionOutputFilterSensitiveLog;\nconst GetBucketEncryptionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketEncryptionRequestFilterSensitiveLog = GetBucketEncryptionRequestFilterSensitiveLog;\nconst IntelligentTieringAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.IntelligentTieringAndOperatorFilterSensitiveLog = IntelligentTieringAndOperatorFilterSensitiveLog;\nconst IntelligentTieringFilterFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.IntelligentTieringFilterFilterSensitiveLog = IntelligentTieringFilterFilterSensitiveLog;\nconst TieringFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TieringFilterSensitiveLog = TieringFilterSensitiveLog;\nconst IntelligentTieringConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.IntelligentTieringConfigurationFilterSensitiveLog = IntelligentTieringConfigurationFilterSensitiveLog;\nconst GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog = GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog;\nconst GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog;\nconst SSEKMSFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.KeyId && { KeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.SSEKMSFilterSensitiveLog = SSEKMSFilterSensitiveLog;\nconst SSES3FilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.SSES3FilterSensitiveLog = SSES3FilterSensitiveLog;\nconst InventoryEncryptionFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMS && { SSEKMS: (0, exports.SSEKMSFilterSensitiveLog)(obj.SSEKMS) }),\n});\nexports.InventoryEncryptionFilterSensitiveLog = InventoryEncryptionFilterSensitiveLog;\nconst InventoryS3BucketDestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Encryption && { Encryption: (0, exports.InventoryEncryptionFilterSensitiveLog)(obj.Encryption) }),\n});\nexports.InventoryS3BucketDestinationFilterSensitiveLog = InventoryS3BucketDestinationFilterSensitiveLog;\nconst InventoryDestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.S3BucketDestination && {\n S3BucketDestination: (0, exports.InventoryS3BucketDestinationFilterSensitiveLog)(obj.S3BucketDestination),\n }),\n});\nexports.InventoryDestinationFilterSensitiveLog = InventoryDestinationFilterSensitiveLog;\nconst InventoryFilterFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.InventoryFilterFilterSensitiveLog = InventoryFilterFilterSensitiveLog;\nconst InventoryScheduleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.InventoryScheduleFilterSensitiveLog = InventoryScheduleFilterSensitiveLog;\nconst InventoryConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Destination && { Destination: (0, exports.InventoryDestinationFilterSensitiveLog)(obj.Destination) }),\n});\nexports.InventoryConfigurationFilterSensitiveLog = InventoryConfigurationFilterSensitiveLog;\nconst GetBucketInventoryConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.InventoryConfiguration && {\n InventoryConfiguration: (0, exports.InventoryConfigurationFilterSensitiveLog)(obj.InventoryConfiguration),\n }),\n});\nexports.GetBucketInventoryConfigurationOutputFilterSensitiveLog = GetBucketInventoryConfigurationOutputFilterSensitiveLog;\nconst GetBucketInventoryConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketInventoryConfigurationRequestFilterSensitiveLog = GetBucketInventoryConfigurationRequestFilterSensitiveLog;\nconst LifecycleExpirationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.LifecycleExpirationFilterSensitiveLog = LifecycleExpirationFilterSensitiveLog;\nconst LifecycleRuleAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.LifecycleRuleAndOperatorFilterSensitiveLog = LifecycleRuleAndOperatorFilterSensitiveLog;\nconst LifecycleRuleFilterFilterSensitiveLog = (obj) => {\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: (0, exports.TagFilterSensitiveLog)(obj.Tag) };\n if (obj.ObjectSizeGreaterThan !== undefined)\n return { ObjectSizeGreaterThan: obj.ObjectSizeGreaterThan };\n if (obj.ObjectSizeLessThan !== undefined)\n return { ObjectSizeLessThan: obj.ObjectSizeLessThan };\n if (obj.And !== undefined)\n return { And: (0, exports.LifecycleRuleAndOperatorFilterSensitiveLog)(obj.And) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.LifecycleRuleFilterFilterSensitiveLog = LifecycleRuleFilterFilterSensitiveLog;\nconst NoncurrentVersionExpirationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.NoncurrentVersionExpirationFilterSensitiveLog = NoncurrentVersionExpirationFilterSensitiveLog;\nconst NoncurrentVersionTransitionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.NoncurrentVersionTransitionFilterSensitiveLog = NoncurrentVersionTransitionFilterSensitiveLog;\nconst TransitionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TransitionFilterSensitiveLog = TransitionFilterSensitiveLog;\nconst LifecycleRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Filter && { Filter: (0, exports.LifecycleRuleFilterFilterSensitiveLog)(obj.Filter) }),\n});\nexports.LifecycleRuleFilterSensitiveLog = LifecycleRuleFilterSensitiveLog;\nconst GetBucketLifecycleConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => (0, exports.LifecycleRuleFilterSensitiveLog)(item)) }),\n});\nexports.GetBucketLifecycleConfigurationOutputFilterSensitiveLog = GetBucketLifecycleConfigurationOutputFilterSensitiveLog;\nconst GetBucketLifecycleConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLifecycleConfigurationRequestFilterSensitiveLog = GetBucketLifecycleConfigurationRequestFilterSensitiveLog;\nconst GetBucketLocationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLocationOutputFilterSensitiveLog = GetBucketLocationOutputFilterSensitiveLog;\nconst GetBucketLocationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLocationRequestFilterSensitiveLog = GetBucketLocationRequestFilterSensitiveLog;\nconst TargetGrantFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TargetGrantFilterSensitiveLog = TargetGrantFilterSensitiveLog;\nconst LoggingEnabledFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.LoggingEnabledFilterSensitiveLog = LoggingEnabledFilterSensitiveLog;\nconst GetBucketLoggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLoggingOutputFilterSensitiveLog = GetBucketLoggingOutputFilterSensitiveLog;\nconst GetBucketLoggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLoggingRequestFilterSensitiveLog = GetBucketLoggingRequestFilterSensitiveLog;\nconst MetricsAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.MetricsAndOperatorFilterSensitiveLog = MetricsAndOperatorFilterSensitiveLog;\nconst MetricsFilterFilterSensitiveLog = (obj) => {\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: (0, exports.TagFilterSensitiveLog)(obj.Tag) };\n if (obj.AccessPointArn !== undefined)\n return { AccessPointArn: obj.AccessPointArn };\n if (obj.And !== undefined)\n return { And: (0, exports.MetricsAndOperatorFilterSensitiveLog)(obj.And) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.MetricsFilterFilterSensitiveLog = MetricsFilterFilterSensitiveLog;\nconst MetricsConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Filter && { Filter: (0, exports.MetricsFilterFilterSensitiveLog)(obj.Filter) }),\n});\nexports.MetricsConfigurationFilterSensitiveLog = MetricsConfigurationFilterSensitiveLog;\nconst GetBucketMetricsConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.MetricsConfiguration && {\n MetricsConfiguration: (0, exports.MetricsConfigurationFilterSensitiveLog)(obj.MetricsConfiguration),\n }),\n});\nexports.GetBucketMetricsConfigurationOutputFilterSensitiveLog = GetBucketMetricsConfigurationOutputFilterSensitiveLog;\nconst GetBucketMetricsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketMetricsConfigurationRequestFilterSensitiveLog = GetBucketMetricsConfigurationRequestFilterSensitiveLog;\nconst GetBucketNotificationConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketNotificationConfigurationRequestFilterSensitiveLog = GetBucketNotificationConfigurationRequestFilterSensitiveLog;\nconst EventBridgeConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.EventBridgeConfigurationFilterSensitiveLog = EventBridgeConfigurationFilterSensitiveLog;\nconst FilterRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.FilterRuleFilterSensitiveLog = FilterRuleFilterSensitiveLog;\nconst S3KeyFilterFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.S3KeyFilterFilterSensitiveLog = S3KeyFilterFilterSensitiveLog;\nconst NotificationConfigurationFilterFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.NotificationConfigurationFilterFilterSensitiveLog = NotificationConfigurationFilterFilterSensitiveLog;\nconst LambdaFunctionConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.LambdaFunctionConfigurationFilterSensitiveLog = LambdaFunctionConfigurationFilterSensitiveLog;\nconst QueueConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.QueueConfigurationFilterSensitiveLog = QueueConfigurationFilterSensitiveLog;\nconst TopicConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TopicConfigurationFilterSensitiveLog = TopicConfigurationFilterSensitiveLog;\nconst NotificationConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.NotificationConfigurationFilterSensitiveLog = NotificationConfigurationFilterSensitiveLog;\nconst OwnershipControlsRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.OwnershipControlsRuleFilterSensitiveLog = OwnershipControlsRuleFilterSensitiveLog;\nconst OwnershipControlsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.OwnershipControlsFilterSensitiveLog = OwnershipControlsFilterSensitiveLog;\nconst GetBucketOwnershipControlsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketOwnershipControlsOutputFilterSensitiveLog = GetBucketOwnershipControlsOutputFilterSensitiveLog;\nconst GetBucketOwnershipControlsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketOwnershipControlsRequestFilterSensitiveLog = GetBucketOwnershipControlsRequestFilterSensitiveLog;\nconst GetBucketPolicyOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketPolicyOutputFilterSensitiveLog = GetBucketPolicyOutputFilterSensitiveLog;\nconst GetBucketPolicyRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketPolicyRequestFilterSensitiveLog = GetBucketPolicyRequestFilterSensitiveLog;\nconst PolicyStatusFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PolicyStatusFilterSensitiveLog = PolicyStatusFilterSensitiveLog;\nconst GetBucketPolicyStatusOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketPolicyStatusOutputFilterSensitiveLog = GetBucketPolicyStatusOutputFilterSensitiveLog;\nconst GetBucketPolicyStatusRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketPolicyStatusRequestFilterSensitiveLog = GetBucketPolicyStatusRequestFilterSensitiveLog;\nconst DeleteMarkerReplicationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteMarkerReplicationFilterSensitiveLog = DeleteMarkerReplicationFilterSensitiveLog;\nconst EncryptionConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.EncryptionConfigurationFilterSensitiveLog = EncryptionConfigurationFilterSensitiveLog;\nconst ReplicationTimeValueFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ReplicationTimeValueFilterSensitiveLog = ReplicationTimeValueFilterSensitiveLog;\nconst MetricsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.MetricsFilterSensitiveLog = MetricsFilterSensitiveLog;\nconst ReplicationTimeFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ReplicationTimeFilterSensitiveLog = ReplicationTimeFilterSensitiveLog;\nconst DestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DestinationFilterSensitiveLog = DestinationFilterSensitiveLog;\nconst ExistingObjectReplicationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ExistingObjectReplicationFilterSensitiveLog = ExistingObjectReplicationFilterSensitiveLog;\nconst ReplicationRuleAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ReplicationRuleAndOperatorFilterSensitiveLog = ReplicationRuleAndOperatorFilterSensitiveLog;\nconst ReplicationRuleFilterFilterSensitiveLog = (obj) => {\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: (0, exports.TagFilterSensitiveLog)(obj.Tag) };\n if (obj.And !== undefined)\n return { And: (0, exports.ReplicationRuleAndOperatorFilterSensitiveLog)(obj.And) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.ReplicationRuleFilterFilterSensitiveLog = ReplicationRuleFilterFilterSensitiveLog;\nconst ReplicaModificationsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ReplicaModificationsFilterSensitiveLog = ReplicaModificationsFilterSensitiveLog;\nconst SseKmsEncryptedObjectsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.SseKmsEncryptedObjectsFilterSensitiveLog = SseKmsEncryptedObjectsFilterSensitiveLog;\nconst SourceSelectionCriteriaFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.SourceSelectionCriteriaFilterSensitiveLog = SourceSelectionCriteriaFilterSensitiveLog;\nconst ReplicationRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Filter && { Filter: (0, exports.ReplicationRuleFilterFilterSensitiveLog)(obj.Filter) }),\n});\nexports.ReplicationRuleFilterSensitiveLog = ReplicationRuleFilterSensitiveLog;\nconst ReplicationConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => (0, exports.ReplicationRuleFilterSensitiveLog)(item)) }),\n});\nexports.ReplicationConfigurationFilterSensitiveLog = ReplicationConfigurationFilterSensitiveLog;\nconst GetBucketReplicationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ReplicationConfiguration && {\n ReplicationConfiguration: (0, exports.ReplicationConfigurationFilterSensitiveLog)(obj.ReplicationConfiguration),\n }),\n});\nexports.GetBucketReplicationOutputFilterSensitiveLog = GetBucketReplicationOutputFilterSensitiveLog;\nconst GetBucketReplicationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketReplicationRequestFilterSensitiveLog = GetBucketReplicationRequestFilterSensitiveLog;\nconst GetBucketRequestPaymentOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketRequestPaymentOutputFilterSensitiveLog = GetBucketRequestPaymentOutputFilterSensitiveLog;\nconst GetBucketRequestPaymentRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketRequestPaymentRequestFilterSensitiveLog = GetBucketRequestPaymentRequestFilterSensitiveLog;\nconst GetBucketTaggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketTaggingOutputFilterSensitiveLog = GetBucketTaggingOutputFilterSensitiveLog;\nconst GetBucketTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketTaggingRequestFilterSensitiveLog = GetBucketTaggingRequestFilterSensitiveLog;\nconst GetBucketVersioningOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketVersioningOutputFilterSensitiveLog = GetBucketVersioningOutputFilterSensitiveLog;\nconst GetBucketVersioningRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketVersioningRequestFilterSensitiveLog = GetBucketVersioningRequestFilterSensitiveLog;\nconst ErrorDocumentFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ErrorDocumentFilterSensitiveLog = ErrorDocumentFilterSensitiveLog;\nconst IndexDocumentFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.IndexDocumentFilterSensitiveLog = IndexDocumentFilterSensitiveLog;\nconst RedirectAllRequestsToFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RedirectAllRequestsToFilterSensitiveLog = RedirectAllRequestsToFilterSensitiveLog;\nconst ConditionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ConditionFilterSensitiveLog = ConditionFilterSensitiveLog;\nconst RedirectFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RedirectFilterSensitiveLog = RedirectFilterSensitiveLog;\nconst RoutingRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RoutingRuleFilterSensitiveLog = RoutingRuleFilterSensitiveLog;\nconst GetBucketWebsiteOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketWebsiteOutputFilterSensitiveLog = GetBucketWebsiteOutputFilterSensitiveLog;\nconst GetBucketWebsiteRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketWebsiteRequestFilterSensitiveLog = GetBucketWebsiteRequestFilterSensitiveLog;\nconst GetObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.GetObjectOutputFilterSensitiveLog = GetObjectOutputFilterSensitiveLog;\nconst GetObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.GetObjectRequestFilterSensitiveLog = GetObjectRequestFilterSensitiveLog;\nconst GetObjectAclOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectAclOutputFilterSensitiveLog = GetObjectAclOutputFilterSensitiveLog;\nconst GetObjectAclRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectAclRequestFilterSensitiveLog = GetObjectAclRequestFilterSensitiveLog;\nconst ChecksumFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ChecksumFilterSensitiveLog = ChecksumFilterSensitiveLog;\nconst ObjectPartFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectPartFilterSensitiveLog = ObjectPartFilterSensitiveLog;\nconst GetObjectAttributesPartsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectAttributesPartsFilterSensitiveLog = GetObjectAttributesPartsFilterSensitiveLog;\nconst GetObjectAttributesOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectAttributesOutputFilterSensitiveLog = GetObjectAttributesOutputFilterSensitiveLog;\nconst GetObjectAttributesRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.GetObjectAttributesRequestFilterSensitiveLog = GetObjectAttributesRequestFilterSensitiveLog;\nconst ObjectLockLegalHoldFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectLockLegalHoldFilterSensitiveLog = ObjectLockLegalHoldFilterSensitiveLog;\nconst GetObjectLegalHoldOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectLegalHoldOutputFilterSensitiveLog = GetObjectLegalHoldOutputFilterSensitiveLog;\nconst GetObjectLegalHoldRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectLegalHoldRequestFilterSensitiveLog = GetObjectLegalHoldRequestFilterSensitiveLog;\nconst DefaultRetentionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DefaultRetentionFilterSensitiveLog = DefaultRetentionFilterSensitiveLog;\nconst ObjectLockRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectLockRuleFilterSensitiveLog = ObjectLockRuleFilterSensitiveLog;\nconst ObjectLockConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectLockConfigurationFilterSensitiveLog = ObjectLockConfigurationFilterSensitiveLog;\nconst GetObjectLockConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectLockConfigurationOutputFilterSensitiveLog = GetObjectLockConfigurationOutputFilterSensitiveLog;\nconst GetObjectLockConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectLockConfigurationRequestFilterSensitiveLog = GetObjectLockConfigurationRequestFilterSensitiveLog;\nconst ObjectLockRetentionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectLockRetentionFilterSensitiveLog = ObjectLockRetentionFilterSensitiveLog;\nconst GetObjectRetentionOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectRetentionOutputFilterSensitiveLog = GetObjectRetentionOutputFilterSensitiveLog;\nconst GetObjectRetentionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectRetentionRequestFilterSensitiveLog = GetObjectRetentionRequestFilterSensitiveLog;\nconst GetObjectTaggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectTaggingOutputFilterSensitiveLog = GetObjectTaggingOutputFilterSensitiveLog;\nconst GetObjectTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectTaggingRequestFilterSensitiveLog = GetObjectTaggingRequestFilterSensitiveLog;\nconst GetObjectTorrentOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectTorrentOutputFilterSensitiveLog = GetObjectTorrentOutputFilterSensitiveLog;\nconst GetObjectTorrentRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectTorrentRequestFilterSensitiveLog = GetObjectTorrentRequestFilterSensitiveLog;\nconst PublicAccessBlockConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PublicAccessBlockConfigurationFilterSensitiveLog = PublicAccessBlockConfigurationFilterSensitiveLog;\nconst GetPublicAccessBlockOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetPublicAccessBlockOutputFilterSensitiveLog = GetPublicAccessBlockOutputFilterSensitiveLog;\nconst GetPublicAccessBlockRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetPublicAccessBlockRequestFilterSensitiveLog = GetPublicAccessBlockRequestFilterSensitiveLog;\nconst HeadBucketRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.HeadBucketRequestFilterSensitiveLog = HeadBucketRequestFilterSensitiveLog;\nconst HeadObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.HeadObjectOutputFilterSensitiveLog = HeadObjectOutputFilterSensitiveLog;\nconst HeadObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.HeadObjectRequestFilterSensitiveLog = HeadObjectRequestFilterSensitiveLog;\nconst ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.AnalyticsConfigurationList && {\n AnalyticsConfigurationList: obj.AnalyticsConfigurationList.map((item) => (0, exports.AnalyticsConfigurationFilterSensitiveLog)(item)),\n }),\n});\nexports.ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog = ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog;\nconst ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog = ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog;\nconst ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog = ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog;\nconst ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog = ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog;\nconst ListBucketInventoryConfigurationsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.InventoryConfigurationList && {\n InventoryConfigurationList: obj.InventoryConfigurationList.map((item) => (0, exports.InventoryConfigurationFilterSensitiveLog)(item)),\n }),\n});\nexports.ListBucketInventoryConfigurationsOutputFilterSensitiveLog = ListBucketInventoryConfigurationsOutputFilterSensitiveLog;\nconst ListBucketInventoryConfigurationsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketInventoryConfigurationsRequestFilterSensitiveLog = ListBucketInventoryConfigurationsRequestFilterSensitiveLog;\nconst ListBucketMetricsConfigurationsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.MetricsConfigurationList && {\n MetricsConfigurationList: obj.MetricsConfigurationList.map((item) => (0, exports.MetricsConfigurationFilterSensitiveLog)(item)),\n }),\n});\nexports.ListBucketMetricsConfigurationsOutputFilterSensitiveLog = ListBucketMetricsConfigurationsOutputFilterSensitiveLog;\nconst ListBucketMetricsConfigurationsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketMetricsConfigurationsRequestFilterSensitiveLog = ListBucketMetricsConfigurationsRequestFilterSensitiveLog;\nconst BucketFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.BucketFilterSensitiveLog = BucketFilterSensitiveLog;\nconst ListBucketsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketsOutputFilterSensitiveLog = ListBucketsOutputFilterSensitiveLog;\nconst CommonPrefixFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CommonPrefixFilterSensitiveLog = CommonPrefixFilterSensitiveLog;\nconst InitiatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.InitiatorFilterSensitiveLog = InitiatorFilterSensitiveLog;\nconst MultipartUploadFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.MultipartUploadFilterSensitiveLog = MultipartUploadFilterSensitiveLog;\nconst ListMultipartUploadsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListMultipartUploadsOutputFilterSensitiveLog = ListMultipartUploadsOutputFilterSensitiveLog;\nconst ListMultipartUploadsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListMultipartUploadsRequestFilterSensitiveLog = ListMultipartUploadsRequestFilterSensitiveLog;\nconst _ObjectFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports._ObjectFilterSensitiveLog = _ObjectFilterSensitiveLog;\nconst ListObjectsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectsOutputFilterSensitiveLog = ListObjectsOutputFilterSensitiveLog;\nconst ListObjectsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectsRequestFilterSensitiveLog = ListObjectsRequestFilterSensitiveLog;\nconst ListObjectsV2OutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectsV2OutputFilterSensitiveLog = ListObjectsV2OutputFilterSensitiveLog;\nconst ListObjectsV2RequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectsV2RequestFilterSensitiveLog = ListObjectsV2RequestFilterSensitiveLog;\nconst DeleteMarkerEntryFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteMarkerEntryFilterSensitiveLog = DeleteMarkerEntryFilterSensitiveLog;\nconst ObjectVersionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectVersionFilterSensitiveLog = ObjectVersionFilterSensitiveLog;\nconst ListObjectVersionsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectVersionsOutputFilterSensitiveLog = ListObjectVersionsOutputFilterSensitiveLog;\nconst ListObjectVersionsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectVersionsRequestFilterSensitiveLog = ListObjectVersionsRequestFilterSensitiveLog;\nconst PartFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PartFilterSensitiveLog = PartFilterSensitiveLog;\nconst ListPartsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListPartsOutputFilterSensitiveLog = ListPartsOutputFilterSensitiveLog;\nconst ListPartsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.ListPartsRequestFilterSensitiveLog = ListPartsRequestFilterSensitiveLog;\nconst PutBucketAccelerateConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketAccelerateConfigurationRequestFilterSensitiveLog = PutBucketAccelerateConfigurationRequestFilterSensitiveLog;\nconst PutBucketAclRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketAclRequestFilterSensitiveLog = PutBucketAclRequestFilterSensitiveLog;\nconst PutBucketAnalyticsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.AnalyticsConfiguration && {\n AnalyticsConfiguration: (0, exports.AnalyticsConfigurationFilterSensitiveLog)(obj.AnalyticsConfiguration),\n }),\n});\nexports.PutBucketAnalyticsConfigurationRequestFilterSensitiveLog = PutBucketAnalyticsConfigurationRequestFilterSensitiveLog;\nconst CORSConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CORSConfigurationFilterSensitiveLog = CORSConfigurationFilterSensitiveLog;\nconst PutBucketCorsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketCorsRequestFilterSensitiveLog = PutBucketCorsRequestFilterSensitiveLog;\nconst PutBucketEncryptionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ServerSideEncryptionConfiguration && {\n ServerSideEncryptionConfiguration: (0, exports.ServerSideEncryptionConfigurationFilterSensitiveLog)(obj.ServerSideEncryptionConfiguration),\n }),\n});\nexports.PutBucketEncryptionRequestFilterSensitiveLog = PutBucketEncryptionRequestFilterSensitiveLog;\nconst PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog;\nconst PutBucketInventoryConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.InventoryConfiguration && {\n InventoryConfiguration: (0, exports.InventoryConfigurationFilterSensitiveLog)(obj.InventoryConfiguration),\n }),\n});\nexports.PutBucketInventoryConfigurationRequestFilterSensitiveLog = PutBucketInventoryConfigurationRequestFilterSensitiveLog;\nconst BucketLifecycleConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => (0, exports.LifecycleRuleFilterSensitiveLog)(item)) }),\n});\nexports.BucketLifecycleConfigurationFilterSensitiveLog = BucketLifecycleConfigurationFilterSensitiveLog;\nconst PutBucketLifecycleConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.LifecycleConfiguration && {\n LifecycleConfiguration: (0, exports.BucketLifecycleConfigurationFilterSensitiveLog)(obj.LifecycleConfiguration),\n }),\n});\nexports.PutBucketLifecycleConfigurationRequestFilterSensitiveLog = PutBucketLifecycleConfigurationRequestFilterSensitiveLog;\nconst BucketLoggingStatusFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.BucketLoggingStatusFilterSensitiveLog = BucketLoggingStatusFilterSensitiveLog;\nconst PutBucketLoggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketLoggingRequestFilterSensitiveLog = PutBucketLoggingRequestFilterSensitiveLog;\nconst PutBucketMetricsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.MetricsConfiguration && {\n MetricsConfiguration: (0, exports.MetricsConfigurationFilterSensitiveLog)(obj.MetricsConfiguration),\n }),\n});\nexports.PutBucketMetricsConfigurationRequestFilterSensitiveLog = PutBucketMetricsConfigurationRequestFilterSensitiveLog;\nconst PutBucketNotificationConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketNotificationConfigurationRequestFilterSensitiveLog = PutBucketNotificationConfigurationRequestFilterSensitiveLog;\nconst PutBucketOwnershipControlsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketOwnershipControlsRequestFilterSensitiveLog = PutBucketOwnershipControlsRequestFilterSensitiveLog;\nconst PutBucketPolicyRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketPolicyRequestFilterSensitiveLog = PutBucketPolicyRequestFilterSensitiveLog;\nconst PutBucketReplicationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ReplicationConfiguration && {\n ReplicationConfiguration: (0, exports.ReplicationConfigurationFilterSensitiveLog)(obj.ReplicationConfiguration),\n }),\n});\nexports.PutBucketReplicationRequestFilterSensitiveLog = PutBucketReplicationRequestFilterSensitiveLog;\nconst RequestPaymentConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RequestPaymentConfigurationFilterSensitiveLog = RequestPaymentConfigurationFilterSensitiveLog;\nconst PutBucketRequestPaymentRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketRequestPaymentRequestFilterSensitiveLog = PutBucketRequestPaymentRequestFilterSensitiveLog;\nconst TaggingFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TaggingFilterSensitiveLog = TaggingFilterSensitiveLog;\nconst PutBucketTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketTaggingRequestFilterSensitiveLog = PutBucketTaggingRequestFilterSensitiveLog;\nconst VersioningConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.VersioningConfigurationFilterSensitiveLog = VersioningConfigurationFilterSensitiveLog;\nconst PutBucketVersioningRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketVersioningRequestFilterSensitiveLog = PutBucketVersioningRequestFilterSensitiveLog;\nconst WebsiteConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.WebsiteConfigurationFilterSensitiveLog = WebsiteConfigurationFilterSensitiveLog;\nconst PutBucketWebsiteRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketWebsiteRequestFilterSensitiveLog = PutBucketWebsiteRequestFilterSensitiveLog;\nconst PutObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.PutObjectOutputFilterSensitiveLog = PutObjectOutputFilterSensitiveLog;\nconst PutObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.PutObjectRequestFilterSensitiveLog = PutObjectRequestFilterSensitiveLog;\nconst PutObjectAclOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectAclOutputFilterSensitiveLog = PutObjectAclOutputFilterSensitiveLog;\nconst PutObjectAclRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectAclRequestFilterSensitiveLog = PutObjectAclRequestFilterSensitiveLog;\nconst PutObjectLegalHoldOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectLegalHoldOutputFilterSensitiveLog = PutObjectLegalHoldOutputFilterSensitiveLog;\nconst PutObjectLegalHoldRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectLegalHoldRequestFilterSensitiveLog = PutObjectLegalHoldRequestFilterSensitiveLog;\nconst PutObjectLockConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectLockConfigurationOutputFilterSensitiveLog = PutObjectLockConfigurationOutputFilterSensitiveLog;\nconst PutObjectLockConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectLockConfigurationRequestFilterSensitiveLog = PutObjectLockConfigurationRequestFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WriteGetObjectResponseRequestFilterSensitiveLog = exports.UploadPartCopyRequestFilterSensitiveLog = exports.UploadPartCopyOutputFilterSensitiveLog = exports.CopyPartResultFilterSensitiveLog = exports.UploadPartRequestFilterSensitiveLog = exports.UploadPartOutputFilterSensitiveLog = exports.SelectObjectContentRequestFilterSensitiveLog = exports.ScanRangeFilterSensitiveLog = exports.RequestProgressFilterSensitiveLog = exports.SelectObjectContentOutputFilterSensitiveLog = exports.SelectObjectContentEventStreamFilterSensitiveLog = exports.StatsEventFilterSensitiveLog = exports.StatsFilterSensitiveLog = exports.RecordsEventFilterSensitiveLog = exports.ProgressEventFilterSensitiveLog = exports.ProgressFilterSensitiveLog = exports.EndEventFilterSensitiveLog = exports.ContinuationEventFilterSensitiveLog = exports.RestoreObjectRequestFilterSensitiveLog = exports.RestoreRequestFilterSensitiveLog = exports.SelectParametersFilterSensitiveLog = exports.OutputSerializationFilterSensitiveLog = exports.JSONOutputFilterSensitiveLog = exports.CSVOutputFilterSensitiveLog = exports.InputSerializationFilterSensitiveLog = exports.ParquetInputFilterSensitiveLog = exports.JSONInputFilterSensitiveLog = exports.CSVInputFilterSensitiveLog = exports.OutputLocationFilterSensitiveLog = exports.S3LocationFilterSensitiveLog = exports.MetadataEntryFilterSensitiveLog = exports.EncryptionFilterSensitiveLog = exports.GlacierJobParametersFilterSensitiveLog = exports.RestoreObjectOutputFilterSensitiveLog = exports.PutPublicAccessBlockRequestFilterSensitiveLog = exports.PutObjectTaggingRequestFilterSensitiveLog = exports.PutObjectTaggingOutputFilterSensitiveLog = exports.PutObjectRetentionRequestFilterSensitiveLog = exports.PutObjectRetentionOutputFilterSensitiveLog = exports.SelectObjectContentEventStream = exports.RestoreRequestType = exports.QuoteFields = exports.JSONType = exports.FileHeaderInfo = exports.CompressionType = exports.ExpressionType = exports.Tier = exports.ObjectAlreadyInActiveTierError = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst S3ServiceException_1 = require(\"./S3ServiceException\");\nclass ObjectAlreadyInActiveTierError extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ObjectAlreadyInActiveTierError\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ObjectAlreadyInActiveTierError.prototype);\n }\n}\nexports.ObjectAlreadyInActiveTierError = ObjectAlreadyInActiveTierError;\nvar Tier;\n(function (Tier) {\n Tier[\"Bulk\"] = \"Bulk\";\n Tier[\"Expedited\"] = \"Expedited\";\n Tier[\"Standard\"] = \"Standard\";\n})(Tier = exports.Tier || (exports.Tier = {}));\nvar ExpressionType;\n(function (ExpressionType) {\n ExpressionType[\"SQL\"] = \"SQL\";\n})(ExpressionType = exports.ExpressionType || (exports.ExpressionType = {}));\nvar CompressionType;\n(function (CompressionType) {\n CompressionType[\"BZIP2\"] = \"BZIP2\";\n CompressionType[\"GZIP\"] = \"GZIP\";\n CompressionType[\"NONE\"] = \"NONE\";\n})(CompressionType = exports.CompressionType || (exports.CompressionType = {}));\nvar FileHeaderInfo;\n(function (FileHeaderInfo) {\n FileHeaderInfo[\"IGNORE\"] = \"IGNORE\";\n FileHeaderInfo[\"NONE\"] = \"NONE\";\n FileHeaderInfo[\"USE\"] = \"USE\";\n})(FileHeaderInfo = exports.FileHeaderInfo || (exports.FileHeaderInfo = {}));\nvar JSONType;\n(function (JSONType) {\n JSONType[\"DOCUMENT\"] = \"DOCUMENT\";\n JSONType[\"LINES\"] = \"LINES\";\n})(JSONType = exports.JSONType || (exports.JSONType = {}));\nvar QuoteFields;\n(function (QuoteFields) {\n QuoteFields[\"ALWAYS\"] = \"ALWAYS\";\n QuoteFields[\"ASNEEDED\"] = \"ASNEEDED\";\n})(QuoteFields = exports.QuoteFields || (exports.QuoteFields = {}));\nvar RestoreRequestType;\n(function (RestoreRequestType) {\n RestoreRequestType[\"SELECT\"] = \"SELECT\";\n})(RestoreRequestType = exports.RestoreRequestType || (exports.RestoreRequestType = {}));\nvar SelectObjectContentEventStream;\n(function (SelectObjectContentEventStream) {\n SelectObjectContentEventStream.visit = (value, visitor) => {\n if (value.Records !== undefined)\n return visitor.Records(value.Records);\n if (value.Stats !== undefined)\n return visitor.Stats(value.Stats);\n if (value.Progress !== undefined)\n return visitor.Progress(value.Progress);\n if (value.Cont !== undefined)\n return visitor.Cont(value.Cont);\n if (value.End !== undefined)\n return visitor.End(value.End);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(SelectObjectContentEventStream = exports.SelectObjectContentEventStream || (exports.SelectObjectContentEventStream = {}));\nconst PutObjectRetentionOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectRetentionOutputFilterSensitiveLog = PutObjectRetentionOutputFilterSensitiveLog;\nconst PutObjectRetentionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectRetentionRequestFilterSensitiveLog = PutObjectRetentionRequestFilterSensitiveLog;\nconst PutObjectTaggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectTaggingOutputFilterSensitiveLog = PutObjectTaggingOutputFilterSensitiveLog;\nconst PutObjectTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectTaggingRequestFilterSensitiveLog = PutObjectTaggingRequestFilterSensitiveLog;\nconst PutPublicAccessBlockRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutPublicAccessBlockRequestFilterSensitiveLog = PutPublicAccessBlockRequestFilterSensitiveLog;\nconst RestoreObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RestoreObjectOutputFilterSensitiveLog = RestoreObjectOutputFilterSensitiveLog;\nconst GlacierJobParametersFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GlacierJobParametersFilterSensitiveLog = GlacierJobParametersFilterSensitiveLog;\nconst EncryptionFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.KMSKeyId && { KMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.EncryptionFilterSensitiveLog = EncryptionFilterSensitiveLog;\nconst MetadataEntryFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.MetadataEntryFilterSensitiveLog = MetadataEntryFilterSensitiveLog;\nconst S3LocationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Encryption && { Encryption: (0, exports.EncryptionFilterSensitiveLog)(obj.Encryption) }),\n});\nexports.S3LocationFilterSensitiveLog = S3LocationFilterSensitiveLog;\nconst OutputLocationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.S3 && { S3: (0, exports.S3LocationFilterSensitiveLog)(obj.S3) }),\n});\nexports.OutputLocationFilterSensitiveLog = OutputLocationFilterSensitiveLog;\nconst CSVInputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CSVInputFilterSensitiveLog = CSVInputFilterSensitiveLog;\nconst JSONInputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.JSONInputFilterSensitiveLog = JSONInputFilterSensitiveLog;\nconst ParquetInputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ParquetInputFilterSensitiveLog = ParquetInputFilterSensitiveLog;\nconst InputSerializationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.InputSerializationFilterSensitiveLog = InputSerializationFilterSensitiveLog;\nconst CSVOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CSVOutputFilterSensitiveLog = CSVOutputFilterSensitiveLog;\nconst JSONOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.JSONOutputFilterSensitiveLog = JSONOutputFilterSensitiveLog;\nconst OutputSerializationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.OutputSerializationFilterSensitiveLog = OutputSerializationFilterSensitiveLog;\nconst SelectParametersFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.SelectParametersFilterSensitiveLog = SelectParametersFilterSensitiveLog;\nconst RestoreRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.OutputLocation && { OutputLocation: (0, exports.OutputLocationFilterSensitiveLog)(obj.OutputLocation) }),\n});\nexports.RestoreRequestFilterSensitiveLog = RestoreRequestFilterSensitiveLog;\nconst RestoreObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.RestoreRequest && { RestoreRequest: (0, exports.RestoreRequestFilterSensitiveLog)(obj.RestoreRequest) }),\n});\nexports.RestoreObjectRequestFilterSensitiveLog = RestoreObjectRequestFilterSensitiveLog;\nconst ContinuationEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ContinuationEventFilterSensitiveLog = ContinuationEventFilterSensitiveLog;\nconst EndEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.EndEventFilterSensitiveLog = EndEventFilterSensitiveLog;\nconst ProgressFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ProgressFilterSensitiveLog = ProgressFilterSensitiveLog;\nconst ProgressEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ProgressEventFilterSensitiveLog = ProgressEventFilterSensitiveLog;\nconst RecordsEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RecordsEventFilterSensitiveLog = RecordsEventFilterSensitiveLog;\nconst StatsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StatsFilterSensitiveLog = StatsFilterSensitiveLog;\nconst StatsEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StatsEventFilterSensitiveLog = StatsEventFilterSensitiveLog;\nconst SelectObjectContentEventStreamFilterSensitiveLog = (obj) => {\n if (obj.Records !== undefined)\n return { Records: (0, exports.RecordsEventFilterSensitiveLog)(obj.Records) };\n if (obj.Stats !== undefined)\n return { Stats: (0, exports.StatsEventFilterSensitiveLog)(obj.Stats) };\n if (obj.Progress !== undefined)\n return { Progress: (0, exports.ProgressEventFilterSensitiveLog)(obj.Progress) };\n if (obj.Cont !== undefined)\n return { Cont: (0, exports.ContinuationEventFilterSensitiveLog)(obj.Cont) };\n if (obj.End !== undefined)\n return { End: (0, exports.EndEventFilterSensitiveLog)(obj.End) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.SelectObjectContentEventStreamFilterSensitiveLog = SelectObjectContentEventStreamFilterSensitiveLog;\nconst SelectObjectContentOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Payload && { Payload: \"STREAMING_CONTENT\" }),\n});\nexports.SelectObjectContentOutputFilterSensitiveLog = SelectObjectContentOutputFilterSensitiveLog;\nconst RequestProgressFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RequestProgressFilterSensitiveLog = RequestProgressFilterSensitiveLog;\nconst ScanRangeFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ScanRangeFilterSensitiveLog = ScanRangeFilterSensitiveLog;\nconst SelectObjectContentRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.SelectObjectContentRequestFilterSensitiveLog = SelectObjectContentRequestFilterSensitiveLog;\nconst UploadPartOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.UploadPartOutputFilterSensitiveLog = UploadPartOutputFilterSensitiveLog;\nconst UploadPartRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.UploadPartRequestFilterSensitiveLog = UploadPartRequestFilterSensitiveLog;\nconst CopyPartResultFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CopyPartResultFilterSensitiveLog = CopyPartResultFilterSensitiveLog;\nconst UploadPartCopyOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.UploadPartCopyOutputFilterSensitiveLog = UploadPartCopyOutputFilterSensitiveLog;\nconst UploadPartCopyRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.UploadPartCopyRequestFilterSensitiveLog = UploadPartCopyRequestFilterSensitiveLog;\nconst WriteGetObjectResponseRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.WriteGetObjectResponseRequestFilterSensitiveLog = WriteGetObjectResponseRequestFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.paginateListObjectsV2 = void 0;\nconst ListObjectsV2Command_1 = require(\"../commands/ListObjectsV2Command\");\nconst S3_1 = require(\"../S3\");\nconst S3Client_1 = require(\"../S3Client\");\nconst makePagedClientRequest = async (client, input, ...args) => {\n return await client.send(new ListObjectsV2Command_1.ListObjectsV2Command(input), ...args);\n};\nconst makePagedRequest = async (client, input, ...args) => {\n return await client.listObjectsV2(input, ...args);\n};\nasync function* paginateListObjectsV2(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\n let hasNext = true;\n let page;\n while (hasNext) {\n input.ContinuationToken = token;\n input[\"MaxKeys\"] = config.pageSize;\n if (config.client instanceof S3_1.S3) {\n page = await makePagedRequest(config.client, input, ...additionalArguments);\n }\n else if (config.client instanceof S3Client_1.S3Client) {\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\n }\n else {\n throw new Error(\"Invalid client, expected S3 | S3Client\");\n }\n yield page;\n const prevToken = token;\n token = page.NextContinuationToken;\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n}\nexports.paginateListObjectsV2 = paginateListObjectsV2;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.paginateListParts = void 0;\nconst ListPartsCommand_1 = require(\"../commands/ListPartsCommand\");\nconst S3_1 = require(\"../S3\");\nconst S3Client_1 = require(\"../S3Client\");\nconst makePagedClientRequest = async (client, input, ...args) => {\n return await client.send(new ListPartsCommand_1.ListPartsCommand(input), ...args);\n};\nconst makePagedRequest = async (client, input, ...args) => {\n return await client.listParts(input, ...args);\n};\nasync function* paginateListParts(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\n let hasNext = true;\n let page;\n while (hasNext) {\n input.PartNumberMarker = token;\n input[\"MaxParts\"] = config.pageSize;\n if (config.client instanceof S3_1.S3) {\n page = await makePagedRequest(config.client, input, ...additionalArguments);\n }\n else if (config.client instanceof S3Client_1.S3Client) {\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\n }\n else {\n throw new Error(\"Invalid client, expected S3 | S3Client\");\n }\n yield page;\n const prevToken = token;\n token = page.NextPartNumberMarker;\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n}\nexports.paginateListParts = paginateListParts;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./Interfaces\"), exports);\ntslib_1.__exportStar(require(\"./ListObjectsV2Paginator\"), exports);\ntslib_1.__exportStar(require(\"./ListPartsPaginator\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeAws_restXmlGetObjectTorrentCommand = exports.serializeAws_restXmlGetObjectTaggingCommand = exports.serializeAws_restXmlGetObjectRetentionCommand = exports.serializeAws_restXmlGetObjectLockConfigurationCommand = exports.serializeAws_restXmlGetObjectLegalHoldCommand = exports.serializeAws_restXmlGetObjectAttributesCommand = exports.serializeAws_restXmlGetObjectAclCommand = exports.serializeAws_restXmlGetObjectCommand = exports.serializeAws_restXmlGetBucketWebsiteCommand = exports.serializeAws_restXmlGetBucketVersioningCommand = exports.serializeAws_restXmlGetBucketTaggingCommand = exports.serializeAws_restXmlGetBucketRequestPaymentCommand = exports.serializeAws_restXmlGetBucketReplicationCommand = exports.serializeAws_restXmlGetBucketPolicyStatusCommand = exports.serializeAws_restXmlGetBucketPolicyCommand = exports.serializeAws_restXmlGetBucketOwnershipControlsCommand = exports.serializeAws_restXmlGetBucketNotificationConfigurationCommand = exports.serializeAws_restXmlGetBucketMetricsConfigurationCommand = exports.serializeAws_restXmlGetBucketLoggingCommand = exports.serializeAws_restXmlGetBucketLocationCommand = exports.serializeAws_restXmlGetBucketLifecycleConfigurationCommand = exports.serializeAws_restXmlGetBucketInventoryConfigurationCommand = exports.serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlGetBucketEncryptionCommand = exports.serializeAws_restXmlGetBucketCorsCommand = exports.serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlGetBucketAclCommand = exports.serializeAws_restXmlGetBucketAccelerateConfigurationCommand = exports.serializeAws_restXmlDeletePublicAccessBlockCommand = exports.serializeAws_restXmlDeleteObjectTaggingCommand = exports.serializeAws_restXmlDeleteObjectsCommand = exports.serializeAws_restXmlDeleteObjectCommand = exports.serializeAws_restXmlDeleteBucketWebsiteCommand = exports.serializeAws_restXmlDeleteBucketTaggingCommand = exports.serializeAws_restXmlDeleteBucketReplicationCommand = exports.serializeAws_restXmlDeleteBucketPolicyCommand = exports.serializeAws_restXmlDeleteBucketOwnershipControlsCommand = exports.serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = exports.serializeAws_restXmlDeleteBucketLifecycleCommand = exports.serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = exports.serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlDeleteBucketEncryptionCommand = exports.serializeAws_restXmlDeleteBucketCorsCommand = exports.serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlDeleteBucketCommand = exports.serializeAws_restXmlCreateMultipartUploadCommand = exports.serializeAws_restXmlCreateBucketCommand = exports.serializeAws_restXmlCopyObjectCommand = exports.serializeAws_restXmlCompleteMultipartUploadCommand = exports.serializeAws_restXmlAbortMultipartUploadCommand = void 0;\nexports.deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketCommand = exports.deserializeAws_restXmlCreateMultipartUploadCommand = exports.deserializeAws_restXmlCreateBucketCommand = exports.deserializeAws_restXmlCopyObjectCommand = exports.deserializeAws_restXmlCompleteMultipartUploadCommand = exports.deserializeAws_restXmlAbortMultipartUploadCommand = exports.serializeAws_restXmlWriteGetObjectResponseCommand = exports.serializeAws_restXmlUploadPartCopyCommand = exports.serializeAws_restXmlUploadPartCommand = exports.serializeAws_restXmlSelectObjectContentCommand = exports.serializeAws_restXmlRestoreObjectCommand = exports.serializeAws_restXmlPutPublicAccessBlockCommand = exports.serializeAws_restXmlPutObjectTaggingCommand = exports.serializeAws_restXmlPutObjectRetentionCommand = exports.serializeAws_restXmlPutObjectLockConfigurationCommand = exports.serializeAws_restXmlPutObjectLegalHoldCommand = exports.serializeAws_restXmlPutObjectAclCommand = exports.serializeAws_restXmlPutObjectCommand = exports.serializeAws_restXmlPutBucketWebsiteCommand = exports.serializeAws_restXmlPutBucketVersioningCommand = exports.serializeAws_restXmlPutBucketTaggingCommand = exports.serializeAws_restXmlPutBucketRequestPaymentCommand = exports.serializeAws_restXmlPutBucketReplicationCommand = exports.serializeAws_restXmlPutBucketPolicyCommand = exports.serializeAws_restXmlPutBucketOwnershipControlsCommand = exports.serializeAws_restXmlPutBucketNotificationConfigurationCommand = exports.serializeAws_restXmlPutBucketMetricsConfigurationCommand = exports.serializeAws_restXmlPutBucketLoggingCommand = exports.serializeAws_restXmlPutBucketLifecycleConfigurationCommand = exports.serializeAws_restXmlPutBucketInventoryConfigurationCommand = exports.serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlPutBucketEncryptionCommand = exports.serializeAws_restXmlPutBucketCorsCommand = exports.serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlPutBucketAclCommand = exports.serializeAws_restXmlPutBucketAccelerateConfigurationCommand = exports.serializeAws_restXmlListPartsCommand = exports.serializeAws_restXmlListObjectVersionsCommand = exports.serializeAws_restXmlListObjectsV2Command = exports.serializeAws_restXmlListObjectsCommand = exports.serializeAws_restXmlListMultipartUploadsCommand = exports.serializeAws_restXmlListBucketsCommand = exports.serializeAws_restXmlListBucketMetricsConfigurationsCommand = exports.serializeAws_restXmlListBucketInventoryConfigurationsCommand = exports.serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = exports.serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = exports.serializeAws_restXmlHeadObjectCommand = exports.serializeAws_restXmlHeadBucketCommand = exports.serializeAws_restXmlGetPublicAccessBlockCommand = void 0;\nexports.deserializeAws_restXmlListBucketMetricsConfigurationsCommand = exports.deserializeAws_restXmlListBucketInventoryConfigurationsCommand = exports.deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = exports.deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = exports.deserializeAws_restXmlHeadObjectCommand = exports.deserializeAws_restXmlHeadBucketCommand = exports.deserializeAws_restXmlGetPublicAccessBlockCommand = exports.deserializeAws_restXmlGetObjectTorrentCommand = exports.deserializeAws_restXmlGetObjectTaggingCommand = exports.deserializeAws_restXmlGetObjectRetentionCommand = exports.deserializeAws_restXmlGetObjectLockConfigurationCommand = exports.deserializeAws_restXmlGetObjectLegalHoldCommand = exports.deserializeAws_restXmlGetObjectAttributesCommand = exports.deserializeAws_restXmlGetObjectAclCommand = exports.deserializeAws_restXmlGetObjectCommand = exports.deserializeAws_restXmlGetBucketWebsiteCommand = exports.deserializeAws_restXmlGetBucketVersioningCommand = exports.deserializeAws_restXmlGetBucketTaggingCommand = exports.deserializeAws_restXmlGetBucketRequestPaymentCommand = exports.deserializeAws_restXmlGetBucketReplicationCommand = exports.deserializeAws_restXmlGetBucketPolicyStatusCommand = exports.deserializeAws_restXmlGetBucketPolicyCommand = exports.deserializeAws_restXmlGetBucketOwnershipControlsCommand = exports.deserializeAws_restXmlGetBucketNotificationConfigurationCommand = exports.deserializeAws_restXmlGetBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlGetBucketLoggingCommand = exports.deserializeAws_restXmlGetBucketLocationCommand = exports.deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = exports.deserializeAws_restXmlGetBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlGetBucketEncryptionCommand = exports.deserializeAws_restXmlGetBucketCorsCommand = exports.deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlGetBucketAclCommand = exports.deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = exports.deserializeAws_restXmlDeletePublicAccessBlockCommand = exports.deserializeAws_restXmlDeleteObjectTaggingCommand = exports.deserializeAws_restXmlDeleteObjectsCommand = exports.deserializeAws_restXmlDeleteObjectCommand = exports.deserializeAws_restXmlDeleteBucketWebsiteCommand = exports.deserializeAws_restXmlDeleteBucketTaggingCommand = exports.deserializeAws_restXmlDeleteBucketReplicationCommand = exports.deserializeAws_restXmlDeleteBucketPolicyCommand = exports.deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = exports.deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketLifecycleCommand = exports.deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketEncryptionCommand = exports.deserializeAws_restXmlDeleteBucketCorsCommand = void 0;\nexports.deserializeAws_restXmlWriteGetObjectResponseCommand = exports.deserializeAws_restXmlUploadPartCopyCommand = exports.deserializeAws_restXmlUploadPartCommand = exports.deserializeAws_restXmlSelectObjectContentCommand = exports.deserializeAws_restXmlRestoreObjectCommand = exports.deserializeAws_restXmlPutPublicAccessBlockCommand = exports.deserializeAws_restXmlPutObjectTaggingCommand = exports.deserializeAws_restXmlPutObjectRetentionCommand = exports.deserializeAws_restXmlPutObjectLockConfigurationCommand = exports.deserializeAws_restXmlPutObjectLegalHoldCommand = exports.deserializeAws_restXmlPutObjectAclCommand = exports.deserializeAws_restXmlPutObjectCommand = exports.deserializeAws_restXmlPutBucketWebsiteCommand = exports.deserializeAws_restXmlPutBucketVersioningCommand = exports.deserializeAws_restXmlPutBucketTaggingCommand = exports.deserializeAws_restXmlPutBucketRequestPaymentCommand = exports.deserializeAws_restXmlPutBucketReplicationCommand = exports.deserializeAws_restXmlPutBucketPolicyCommand = exports.deserializeAws_restXmlPutBucketOwnershipControlsCommand = exports.deserializeAws_restXmlPutBucketNotificationConfigurationCommand = exports.deserializeAws_restXmlPutBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlPutBucketLoggingCommand = exports.deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = exports.deserializeAws_restXmlPutBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlPutBucketEncryptionCommand = exports.deserializeAws_restXmlPutBucketCorsCommand = exports.deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlPutBucketAclCommand = exports.deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = exports.deserializeAws_restXmlListPartsCommand = exports.deserializeAws_restXmlListObjectVersionsCommand = exports.deserializeAws_restXmlListObjectsV2Command = exports.deserializeAws_restXmlListObjectsCommand = exports.deserializeAws_restXmlListMultipartUploadsCommand = exports.deserializeAws_restXmlListBucketsCommand = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst xml_builder_1 = require(\"@aws-sdk/xml-builder\");\nconst fast_xml_parser_1 = require(\"fast-xml-parser\");\nconst models_0_1 = require(\"../models/models_0\");\nconst models_1_1 = require(\"../models/models_1\");\nconst S3ServiceException_1 = require(\"../models/S3ServiceException\");\nconst serializeAws_restXmlAbortMultipartUploadCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"AbortMultipartUpload\"],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlAbortMultipartUploadCommand = serializeAws_restXmlAbortMultipartUploadCommand;\nconst serializeAws_restXmlCompleteMultipartUploadCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-checksum-crc32\": input.ChecksumCRC32,\n \"x-amz-checksum-crc32c\": input.ChecksumCRC32C,\n \"x-amz-checksum-sha1\": input.ChecksumSHA1,\n \"x-amz-checksum-sha256\": input.ChecksumSHA256,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"CompleteMultipartUpload\"],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n if (input.MultipartUpload !== undefined) {\n body = serializeAws_restXmlCompletedMultipartUpload(input.MultipartUpload, context);\n }\n let contents;\n if (input.MultipartUpload !== undefined) {\n contents = serializeAws_restXmlCompletedMultipartUpload(input.MultipartUpload, context);\n contents = contents.withName(\"CompleteMultipartUpload\");\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlCompleteMultipartUploadCommand = serializeAws_restXmlCompleteMultipartUploadCommand;\nconst serializeAws_restXmlCopyObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-acl\": input.ACL,\n \"cache-control\": input.CacheControl,\n \"x-amz-checksum-algorithm\": input.ChecksumAlgorithm,\n \"content-disposition\": input.ContentDisposition,\n \"content-encoding\": input.ContentEncoding,\n \"content-language\": input.ContentLanguage,\n \"content-type\": input.ContentType,\n \"x-amz-copy-source\": input.CopySource,\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch,\n \"x-amz-copy-source-if-modified-since\": [\n () => isSerializableHeaderValue(input.CopySourceIfModifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.CopySourceIfModifiedSince).toString(),\n ],\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch,\n \"x-amz-copy-source-if-unmodified-since\": [\n () => isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.CopySourceIfUnmodifiedSince).toString(),\n ],\n expires: [() => isSerializableHeaderValue(input.Expires), () => (0, smithy_client_1.dateToUtcString)(input.Expires).toString()],\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-metadata-directive\": input.MetadataDirective,\n \"x-amz-tagging-directive\": input.TaggingDirective,\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n \"x-amz-storage-class\": input.StorageClass,\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n \"x-amz-server-side-encryption-bucket-key-enabled\": [\n () => isSerializableHeaderValue(input.BucketKeyEnabled),\n () => input.BucketKeyEnabled.toString(),\n ],\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm,\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey,\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-tagging\": input.Tagging,\n \"x-amz-object-lock-mode\": input.ObjectLockMode,\n \"x-amz-object-lock-retain-until-date\": [\n () => isSerializableHeaderValue(input.ObjectLockRetainUntilDate),\n () => (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n ],\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner,\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = input.Metadata[suffix];\n return acc;\n }, {})),\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"CopyObject\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlCopyObjectCommand = serializeAws_restXmlCopyObjectCommand;\nconst serializeAws_restXmlCreateBucketCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-acl\": input.ACL,\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write\": input.GrantWrite,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-bucket-object-lock-enabled\": [\n () => isSerializableHeaderValue(input.ObjectLockEnabledForBucket),\n () => input.ObjectLockEnabledForBucket.toString(),\n ],\n \"x-amz-object-ownership\": input.ObjectOwnership,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n let body;\n if (input.CreateBucketConfiguration !== undefined) {\n body = serializeAws_restXmlCreateBucketConfiguration(input.CreateBucketConfiguration, context);\n }\n let contents;\n if (input.CreateBucketConfiguration !== undefined) {\n contents = serializeAws_restXmlCreateBucketConfiguration(input.CreateBucketConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restXmlCreateBucketCommand = serializeAws_restXmlCreateBucketCommand;\nconst serializeAws_restXmlCreateMultipartUploadCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-acl\": input.ACL,\n \"cache-control\": input.CacheControl,\n \"content-disposition\": input.ContentDisposition,\n \"content-encoding\": input.ContentEncoding,\n \"content-language\": input.ContentLanguage,\n \"content-type\": input.ContentType,\n expires: [() => isSerializableHeaderValue(input.Expires), () => (0, smithy_client_1.dateToUtcString)(input.Expires).toString()],\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n \"x-amz-storage-class\": input.StorageClass,\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n \"x-amz-server-side-encryption-bucket-key-enabled\": [\n () => isSerializableHeaderValue(input.BucketKeyEnabled),\n () => input.BucketKeyEnabled.toString(),\n ],\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-tagging\": input.Tagging,\n \"x-amz-object-lock-mode\": input.ObjectLockMode,\n \"x-amz-object-lock-retain-until-date\": [\n () => isSerializableHeaderValue(input.ObjectLockRetainUntilDate),\n () => (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n ],\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-checksum-algorithm\": input.ChecksumAlgorithm,\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = input.Metadata[suffix];\n return acc;\n }, {})),\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n uploads: [, \"\"],\n \"x-id\": [, \"CreateMultipartUpload\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlCreateMultipartUploadCommand = serializeAws_restXmlCreateMultipartUploadCommand;\nconst serializeAws_restXmlDeleteBucketCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketCommand = serializeAws_restXmlDeleteBucketCommand;\nconst serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n analytics: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand;\nconst serializeAws_restXmlDeleteBucketCorsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n cors: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketCorsCommand = serializeAws_restXmlDeleteBucketCorsCommand;\nconst serializeAws_restXmlDeleteBucketEncryptionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n encryption: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketEncryptionCommand = serializeAws_restXmlDeleteBucketEncryptionCommand;\nconst serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {};\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"intelligent-tiering\": [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand;\nconst serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n inventory: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = serializeAws_restXmlDeleteBucketInventoryConfigurationCommand;\nconst serializeAws_restXmlDeleteBucketLifecycleCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n lifecycle: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketLifecycleCommand = serializeAws_restXmlDeleteBucketLifecycleCommand;\nconst serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n metrics: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = serializeAws_restXmlDeleteBucketMetricsConfigurationCommand;\nconst serializeAws_restXmlDeleteBucketOwnershipControlsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n ownershipControls: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketOwnershipControlsCommand = serializeAws_restXmlDeleteBucketOwnershipControlsCommand;\nconst serializeAws_restXmlDeleteBucketPolicyCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n policy: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketPolicyCommand = serializeAws_restXmlDeleteBucketPolicyCommand;\nconst serializeAws_restXmlDeleteBucketReplicationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n replication: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketReplicationCommand = serializeAws_restXmlDeleteBucketReplicationCommand;\nconst serializeAws_restXmlDeleteBucketTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n tagging: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketTaggingCommand = serializeAws_restXmlDeleteBucketTaggingCommand;\nconst serializeAws_restXmlDeleteBucketWebsiteCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n website: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketWebsiteCommand = serializeAws_restXmlDeleteBucketWebsiteCommand;\nconst serializeAws_restXmlDeleteObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-mfa\": input.MFA,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-bypass-governance-retention\": [\n () => isSerializableHeaderValue(input.BypassGovernanceRetention),\n () => input.BypassGovernanceRetention.toString(),\n ],\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"DeleteObject\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteObjectCommand = serializeAws_restXmlDeleteObjectCommand;\nconst serializeAws_restXmlDeleteObjectsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-mfa\": input.MFA,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-bypass-governance-retention\": [\n () => isSerializableHeaderValue(input.BypassGovernanceRetention),\n () => input.BypassGovernanceRetention.toString(),\n ],\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n delete: [, \"\"],\n \"x-id\": [, \"DeleteObjects\"],\n });\n let body;\n if (input.Delete !== undefined) {\n body = serializeAws_restXmlDelete(input.Delete, context);\n }\n let contents;\n if (input.Delete !== undefined) {\n contents = serializeAws_restXmlDelete(input.Delete, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteObjectsCommand = serializeAws_restXmlDeleteObjectsCommand;\nconst serializeAws_restXmlDeleteObjectTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n tagging: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteObjectTaggingCommand = serializeAws_restXmlDeleteObjectTaggingCommand;\nconst serializeAws_restXmlDeletePublicAccessBlockCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n publicAccessBlock: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeletePublicAccessBlockCommand = serializeAws_restXmlDeletePublicAccessBlockCommand;\nconst serializeAws_restXmlGetBucketAccelerateConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n accelerate: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketAccelerateConfigurationCommand = serializeAws_restXmlGetBucketAccelerateConfigurationCommand;\nconst serializeAws_restXmlGetBucketAclCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n acl: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketAclCommand = serializeAws_restXmlGetBucketAclCommand;\nconst serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n analytics: [, \"\"],\n \"x-id\": [, \"GetBucketAnalyticsConfiguration\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = serializeAws_restXmlGetBucketAnalyticsConfigurationCommand;\nconst serializeAws_restXmlGetBucketCorsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n cors: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketCorsCommand = serializeAws_restXmlGetBucketCorsCommand;\nconst serializeAws_restXmlGetBucketEncryptionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n encryption: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketEncryptionCommand = serializeAws_restXmlGetBucketEncryptionCommand;\nconst serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {};\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"intelligent-tiering\": [, \"\"],\n \"x-id\": [, \"GetBucketIntelligentTieringConfiguration\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand;\nconst serializeAws_restXmlGetBucketInventoryConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n inventory: [, \"\"],\n \"x-id\": [, \"GetBucketInventoryConfiguration\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketInventoryConfigurationCommand = serializeAws_restXmlGetBucketInventoryConfigurationCommand;\nconst serializeAws_restXmlGetBucketLifecycleConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n lifecycle: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketLifecycleConfigurationCommand = serializeAws_restXmlGetBucketLifecycleConfigurationCommand;\nconst serializeAws_restXmlGetBucketLocationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n location: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketLocationCommand = serializeAws_restXmlGetBucketLocationCommand;\nconst serializeAws_restXmlGetBucketLoggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n logging: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketLoggingCommand = serializeAws_restXmlGetBucketLoggingCommand;\nconst serializeAws_restXmlGetBucketMetricsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n metrics: [, \"\"],\n \"x-id\": [, \"GetBucketMetricsConfiguration\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketMetricsConfigurationCommand = serializeAws_restXmlGetBucketMetricsConfigurationCommand;\nconst serializeAws_restXmlGetBucketNotificationConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n notification: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketNotificationConfigurationCommand = serializeAws_restXmlGetBucketNotificationConfigurationCommand;\nconst serializeAws_restXmlGetBucketOwnershipControlsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n ownershipControls: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketOwnershipControlsCommand = serializeAws_restXmlGetBucketOwnershipControlsCommand;\nconst serializeAws_restXmlGetBucketPolicyCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n policy: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketPolicyCommand = serializeAws_restXmlGetBucketPolicyCommand;\nconst serializeAws_restXmlGetBucketPolicyStatusCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n policyStatus: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketPolicyStatusCommand = serializeAws_restXmlGetBucketPolicyStatusCommand;\nconst serializeAws_restXmlGetBucketReplicationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n replication: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketReplicationCommand = serializeAws_restXmlGetBucketReplicationCommand;\nconst serializeAws_restXmlGetBucketRequestPaymentCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n requestPayment: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketRequestPaymentCommand = serializeAws_restXmlGetBucketRequestPaymentCommand;\nconst serializeAws_restXmlGetBucketTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n tagging: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketTaggingCommand = serializeAws_restXmlGetBucketTaggingCommand;\nconst serializeAws_restXmlGetBucketVersioningCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n versioning: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketVersioningCommand = serializeAws_restXmlGetBucketVersioningCommand;\nconst serializeAws_restXmlGetBucketWebsiteCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n website: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketWebsiteCommand = serializeAws_restXmlGetBucketWebsiteCommand;\nconst serializeAws_restXmlGetObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"if-match\": input.IfMatch,\n \"if-modified-since\": [\n () => isSerializableHeaderValue(input.IfModifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.IfModifiedSince).toString(),\n ],\n \"if-none-match\": input.IfNoneMatch,\n \"if-unmodified-since\": [\n () => isSerializableHeaderValue(input.IfUnmodifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.IfUnmodifiedSince).toString(),\n ],\n range: input.Range,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-checksum-mode\": input.ChecksumMode,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"GetObject\"],\n \"response-cache-control\": [, input.ResponseCacheControl],\n \"response-content-disposition\": [, input.ResponseContentDisposition],\n \"response-content-encoding\": [, input.ResponseContentEncoding],\n \"response-content-language\": [, input.ResponseContentLanguage],\n \"response-content-type\": [, input.ResponseContentType],\n \"response-expires\": [\n () => input.ResponseExpires !== void 0,\n () => (0, smithy_client_1.dateToUtcString)(input.ResponseExpires).toString(),\n ],\n versionId: [, input.VersionId],\n partNumber: [() => input.PartNumber !== void 0, () => input.PartNumber.toString()],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectCommand = serializeAws_restXmlGetObjectCommand;\nconst serializeAws_restXmlGetObjectAclCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n acl: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectAclCommand = serializeAws_restXmlGetObjectAclCommand;\nconst serializeAws_restXmlGetObjectAttributesCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-max-parts\": [() => isSerializableHeaderValue(input.MaxParts), () => input.MaxParts.toString()],\n \"x-amz-part-number-marker\": input.PartNumberMarker,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-object-attributes\": [\n () => isSerializableHeaderValue(input.ObjectAttributes),\n () => (input.ObjectAttributes || []).map((_entry) => _entry).join(\", \"),\n ],\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n attributes: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectAttributesCommand = serializeAws_restXmlGetObjectAttributesCommand;\nconst serializeAws_restXmlGetObjectLegalHoldCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"legal-hold\": [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectLegalHoldCommand = serializeAws_restXmlGetObjectLegalHoldCommand;\nconst serializeAws_restXmlGetObjectLockConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"object-lock\": [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectLockConfigurationCommand = serializeAws_restXmlGetObjectLockConfigurationCommand;\nconst serializeAws_restXmlGetObjectRetentionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n retention: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectRetentionCommand = serializeAws_restXmlGetObjectRetentionCommand;\nconst serializeAws_restXmlGetObjectTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-request-payer\": input.RequestPayer,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n tagging: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectTaggingCommand = serializeAws_restXmlGetObjectTaggingCommand;\nconst serializeAws_restXmlGetObjectTorrentCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n torrent: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectTorrentCommand = serializeAws_restXmlGetObjectTorrentCommand;\nconst serializeAws_restXmlGetPublicAccessBlockCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n publicAccessBlock: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetPublicAccessBlockCommand = serializeAws_restXmlGetPublicAccessBlockCommand;\nconst serializeAws_restXmlHeadBucketCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"HEAD\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restXmlHeadBucketCommand = serializeAws_restXmlHeadBucketCommand;\nconst serializeAws_restXmlHeadObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"if-match\": input.IfMatch,\n \"if-modified-since\": [\n () => isSerializableHeaderValue(input.IfModifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.IfModifiedSince).toString(),\n ],\n \"if-none-match\": input.IfNoneMatch,\n \"if-unmodified-since\": [\n () => isSerializableHeaderValue(input.IfUnmodifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.IfUnmodifiedSince).toString(),\n ],\n range: input.Range,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-checksum-mode\": input.ChecksumMode,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n versionId: [, input.VersionId],\n partNumber: [() => input.PartNumber !== void 0, () => input.PartNumber.toString()],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"HEAD\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlHeadObjectCommand = serializeAws_restXmlHeadObjectCommand;\nconst serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n analytics: [, \"\"],\n \"x-id\": [, \"ListBucketAnalyticsConfigurations\"],\n \"continuation-token\": [, input.ContinuationToken],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = serializeAws_restXmlListBucketAnalyticsConfigurationsCommand;\nconst serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {};\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"intelligent-tiering\": [, \"\"],\n \"x-id\": [, \"ListBucketIntelligentTieringConfigurations\"],\n \"continuation-token\": [, input.ContinuationToken],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand;\nconst serializeAws_restXmlListBucketInventoryConfigurationsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n inventory: [, \"\"],\n \"x-id\": [, \"ListBucketInventoryConfigurations\"],\n \"continuation-token\": [, input.ContinuationToken],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketInventoryConfigurationsCommand = serializeAws_restXmlListBucketInventoryConfigurationsCommand;\nconst serializeAws_restXmlListBucketMetricsConfigurationsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n metrics: [, \"\"],\n \"x-id\": [, \"ListBucketMetricsConfigurations\"],\n \"continuation-token\": [, input.ContinuationToken],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketMetricsConfigurationsCommand = serializeAws_restXmlListBucketMetricsConfigurationsCommand;\nconst serializeAws_restXmlListBucketsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/xml\",\n };\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n let body;\n body = \"\";\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketsCommand = serializeAws_restXmlListBucketsCommand;\nconst serializeAws_restXmlListMultipartUploadsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n uploads: [, \"\"],\n delimiter: [, input.Delimiter],\n \"encoding-type\": [, input.EncodingType],\n \"key-marker\": [, input.KeyMarker],\n \"max-uploads\": [() => input.MaxUploads !== void 0, () => input.MaxUploads.toString()],\n prefix: [, input.Prefix],\n \"upload-id-marker\": [, input.UploadIdMarker],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListMultipartUploadsCommand = serializeAws_restXmlListMultipartUploadsCommand;\nconst serializeAws_restXmlListObjectsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n delimiter: [, input.Delimiter],\n \"encoding-type\": [, input.EncodingType],\n marker: [, input.Marker],\n \"max-keys\": [() => input.MaxKeys !== void 0, () => input.MaxKeys.toString()],\n prefix: [, input.Prefix],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListObjectsCommand = serializeAws_restXmlListObjectsCommand;\nconst serializeAws_restXmlListObjectsV2Command = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"list-type\": [, \"2\"],\n delimiter: [, input.Delimiter],\n \"encoding-type\": [, input.EncodingType],\n \"max-keys\": [() => input.MaxKeys !== void 0, () => input.MaxKeys.toString()],\n prefix: [, input.Prefix],\n \"continuation-token\": [, input.ContinuationToken],\n \"fetch-owner\": [() => input.FetchOwner !== void 0, () => input.FetchOwner.toString()],\n \"start-after\": [, input.StartAfter],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListObjectsV2Command = serializeAws_restXmlListObjectsV2Command;\nconst serializeAws_restXmlListObjectVersionsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n versions: [, \"\"],\n delimiter: [, input.Delimiter],\n \"encoding-type\": [, input.EncodingType],\n \"key-marker\": [, input.KeyMarker],\n \"max-keys\": [() => input.MaxKeys !== void 0, () => input.MaxKeys.toString()],\n prefix: [, input.Prefix],\n \"version-id-marker\": [, input.VersionIdMarker],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListObjectVersionsCommand = serializeAws_restXmlListObjectVersionsCommand;\nconst serializeAws_restXmlListPartsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"ListParts\"],\n \"max-parts\": [() => input.MaxParts !== void 0, () => input.MaxParts.toString()],\n \"part-number-marker\": [, input.PartNumberMarker],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListPartsCommand = serializeAws_restXmlListPartsCommand;\nconst serializeAws_restXmlPutBucketAccelerateConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n accelerate: [, \"\"],\n });\n let body;\n if (input.AccelerateConfiguration !== undefined) {\n body = serializeAws_restXmlAccelerateConfiguration(input.AccelerateConfiguration, context);\n }\n let contents;\n if (input.AccelerateConfiguration !== undefined) {\n contents = serializeAws_restXmlAccelerateConfiguration(input.AccelerateConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketAccelerateConfigurationCommand = serializeAws_restXmlPutBucketAccelerateConfigurationCommand;\nconst serializeAws_restXmlPutBucketAclCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-acl\": input.ACL,\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write\": input.GrantWrite,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n acl: [, \"\"],\n });\n let body;\n if (input.AccessControlPolicy !== undefined) {\n body = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n }\n let contents;\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketAclCommand = serializeAws_restXmlPutBucketAclCommand;\nconst serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n analytics: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n if (input.AnalyticsConfiguration !== undefined) {\n body = serializeAws_restXmlAnalyticsConfiguration(input.AnalyticsConfiguration, context);\n }\n let contents;\n if (input.AnalyticsConfiguration !== undefined) {\n contents = serializeAws_restXmlAnalyticsConfiguration(input.AnalyticsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = serializeAws_restXmlPutBucketAnalyticsConfigurationCommand;\nconst serializeAws_restXmlPutBucketCorsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n cors: [, \"\"],\n });\n let body;\n if (input.CORSConfiguration !== undefined) {\n body = serializeAws_restXmlCORSConfiguration(input.CORSConfiguration, context);\n }\n let contents;\n if (input.CORSConfiguration !== undefined) {\n contents = serializeAws_restXmlCORSConfiguration(input.CORSConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketCorsCommand = serializeAws_restXmlPutBucketCorsCommand;\nconst serializeAws_restXmlPutBucketEncryptionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n encryption: [, \"\"],\n });\n let body;\n if (input.ServerSideEncryptionConfiguration !== undefined) {\n body = serializeAws_restXmlServerSideEncryptionConfiguration(input.ServerSideEncryptionConfiguration, context);\n }\n let contents;\n if (input.ServerSideEncryptionConfiguration !== undefined) {\n contents = serializeAws_restXmlServerSideEncryptionConfiguration(input.ServerSideEncryptionConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketEncryptionCommand = serializeAws_restXmlPutBucketEncryptionCommand;\nconst serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/xml\",\n };\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"intelligent-tiering\": [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n if (input.IntelligentTieringConfiguration !== undefined) {\n body = serializeAws_restXmlIntelligentTieringConfiguration(input.IntelligentTieringConfiguration, context);\n }\n let contents;\n if (input.IntelligentTieringConfiguration !== undefined) {\n contents = serializeAws_restXmlIntelligentTieringConfiguration(input.IntelligentTieringConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand;\nconst serializeAws_restXmlPutBucketInventoryConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n inventory: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n if (input.InventoryConfiguration !== undefined) {\n body = serializeAws_restXmlInventoryConfiguration(input.InventoryConfiguration, context);\n }\n let contents;\n if (input.InventoryConfiguration !== undefined) {\n contents = serializeAws_restXmlInventoryConfiguration(input.InventoryConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketInventoryConfigurationCommand = serializeAws_restXmlPutBucketInventoryConfigurationCommand;\nconst serializeAws_restXmlPutBucketLifecycleConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n lifecycle: [, \"\"],\n });\n let body;\n if (input.LifecycleConfiguration !== undefined) {\n body = serializeAws_restXmlBucketLifecycleConfiguration(input.LifecycleConfiguration, context);\n }\n let contents;\n if (input.LifecycleConfiguration !== undefined) {\n contents = serializeAws_restXmlBucketLifecycleConfiguration(input.LifecycleConfiguration, context);\n contents = contents.withName(\"LifecycleConfiguration\");\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketLifecycleConfigurationCommand = serializeAws_restXmlPutBucketLifecycleConfigurationCommand;\nconst serializeAws_restXmlPutBucketLoggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n logging: [, \"\"],\n });\n let body;\n if (input.BucketLoggingStatus !== undefined) {\n body = serializeAws_restXmlBucketLoggingStatus(input.BucketLoggingStatus, context);\n }\n let contents;\n if (input.BucketLoggingStatus !== undefined) {\n contents = serializeAws_restXmlBucketLoggingStatus(input.BucketLoggingStatus, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketLoggingCommand = serializeAws_restXmlPutBucketLoggingCommand;\nconst serializeAws_restXmlPutBucketMetricsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n metrics: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n if (input.MetricsConfiguration !== undefined) {\n body = serializeAws_restXmlMetricsConfiguration(input.MetricsConfiguration, context);\n }\n let contents;\n if (input.MetricsConfiguration !== undefined) {\n contents = serializeAws_restXmlMetricsConfiguration(input.MetricsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketMetricsConfigurationCommand = serializeAws_restXmlPutBucketMetricsConfigurationCommand;\nconst serializeAws_restXmlPutBucketNotificationConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-skip-destination-validation\": [\n () => isSerializableHeaderValue(input.SkipDestinationValidation),\n () => input.SkipDestinationValidation.toString(),\n ],\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n notification: [, \"\"],\n });\n let body;\n if (input.NotificationConfiguration !== undefined) {\n body = serializeAws_restXmlNotificationConfiguration(input.NotificationConfiguration, context);\n }\n let contents;\n if (input.NotificationConfiguration !== undefined) {\n contents = serializeAws_restXmlNotificationConfiguration(input.NotificationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketNotificationConfigurationCommand = serializeAws_restXmlPutBucketNotificationConfigurationCommand;\nconst serializeAws_restXmlPutBucketOwnershipControlsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n ownershipControls: [, \"\"],\n });\n let body;\n if (input.OwnershipControls !== undefined) {\n body = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context);\n }\n let contents;\n if (input.OwnershipControls !== undefined) {\n contents = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketOwnershipControlsCommand = serializeAws_restXmlPutBucketOwnershipControlsCommand;\nconst serializeAws_restXmlPutBucketPolicyCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"text/plain\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-confirm-remove-self-bucket-access\": [\n () => isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess),\n () => input.ConfirmRemoveSelfBucketAccess.toString(),\n ],\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n policy: [, \"\"],\n });\n let body;\n if (input.Policy !== undefined) {\n body = input.Policy;\n }\n let contents;\n if (input.Policy !== undefined) {\n contents = input.Policy;\n body = contents;\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketPolicyCommand = serializeAws_restXmlPutBucketPolicyCommand;\nconst serializeAws_restXmlPutBucketReplicationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-bucket-object-lock-token\": input.Token,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n replication: [, \"\"],\n });\n let body;\n if (input.ReplicationConfiguration !== undefined) {\n body = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);\n }\n let contents;\n if (input.ReplicationConfiguration !== undefined) {\n contents = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketReplicationCommand = serializeAws_restXmlPutBucketReplicationCommand;\nconst serializeAws_restXmlPutBucketRequestPaymentCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n requestPayment: [, \"\"],\n });\n let body;\n if (input.RequestPaymentConfiguration !== undefined) {\n body = serializeAws_restXmlRequestPaymentConfiguration(input.RequestPaymentConfiguration, context);\n }\n let contents;\n if (input.RequestPaymentConfiguration !== undefined) {\n contents = serializeAws_restXmlRequestPaymentConfiguration(input.RequestPaymentConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketRequestPaymentCommand = serializeAws_restXmlPutBucketRequestPaymentCommand;\nconst serializeAws_restXmlPutBucketTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n tagging: [, \"\"],\n });\n let body;\n if (input.Tagging !== undefined) {\n body = serializeAws_restXmlTagging(input.Tagging, context);\n }\n let contents;\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketTaggingCommand = serializeAws_restXmlPutBucketTaggingCommand;\nconst serializeAws_restXmlPutBucketVersioningCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-mfa\": input.MFA,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n versioning: [, \"\"],\n });\n let body;\n if (input.VersioningConfiguration !== undefined) {\n body = serializeAws_restXmlVersioningConfiguration(input.VersioningConfiguration, context);\n }\n let contents;\n if (input.VersioningConfiguration !== undefined) {\n contents = serializeAws_restXmlVersioningConfiguration(input.VersioningConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketVersioningCommand = serializeAws_restXmlPutBucketVersioningCommand;\nconst serializeAws_restXmlPutBucketWebsiteCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n website: [, \"\"],\n });\n let body;\n if (input.WebsiteConfiguration !== undefined) {\n body = serializeAws_restXmlWebsiteConfiguration(input.WebsiteConfiguration, context);\n }\n let contents;\n if (input.WebsiteConfiguration !== undefined) {\n contents = serializeAws_restXmlWebsiteConfiguration(input.WebsiteConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketWebsiteCommand = serializeAws_restXmlPutBucketWebsiteCommand;\nconst serializeAws_restXmlPutObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": input.ContentType || \"application/octet-stream\",\n \"x-amz-acl\": input.ACL,\n \"cache-control\": input.CacheControl,\n \"content-disposition\": input.ContentDisposition,\n \"content-encoding\": input.ContentEncoding,\n \"content-language\": input.ContentLanguage,\n \"content-length\": [() => isSerializableHeaderValue(input.ContentLength), () => input.ContentLength.toString()],\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-checksum-crc32\": input.ChecksumCRC32,\n \"x-amz-checksum-crc32c\": input.ChecksumCRC32C,\n \"x-amz-checksum-sha1\": input.ChecksumSHA1,\n \"x-amz-checksum-sha256\": input.ChecksumSHA256,\n expires: [() => isSerializableHeaderValue(input.Expires), () => (0, smithy_client_1.dateToUtcString)(input.Expires).toString()],\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n \"x-amz-storage-class\": input.StorageClass,\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n \"x-amz-server-side-encryption-bucket-key-enabled\": [\n () => isSerializableHeaderValue(input.BucketKeyEnabled),\n () => input.BucketKeyEnabled.toString(),\n ],\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-tagging\": input.Tagging,\n \"x-amz-object-lock-mode\": input.ObjectLockMode,\n \"x-amz-object-lock-retain-until-date\": [\n () => isSerializableHeaderValue(input.ObjectLockRetainUntilDate),\n () => (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n ],\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = input.Metadata[suffix];\n return acc;\n }, {})),\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"PutObject\"],\n });\n let body;\n if (input.Body !== undefined) {\n body = input.Body;\n }\n let contents;\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectCommand = serializeAws_restXmlPutObjectCommand;\nconst serializeAws_restXmlPutObjectAclCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-acl\": input.ACL,\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write\": input.GrantWrite,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n acl: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.AccessControlPolicy !== undefined) {\n body = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n }\n let contents;\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectAclCommand = serializeAws_restXmlPutObjectAclCommand;\nconst serializeAws_restXmlPutObjectLegalHoldCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-request-payer\": input.RequestPayer,\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"legal-hold\": [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.LegalHold !== undefined) {\n body = serializeAws_restXmlObjectLockLegalHold(input.LegalHold, context);\n }\n let contents;\n if (input.LegalHold !== undefined) {\n contents = serializeAws_restXmlObjectLockLegalHold(input.LegalHold, context);\n contents = contents.withName(\"LegalHold\");\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectLegalHoldCommand = serializeAws_restXmlPutObjectLegalHoldCommand;\nconst serializeAws_restXmlPutObjectLockConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-bucket-object-lock-token\": input.Token,\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"object-lock\": [, \"\"],\n });\n let body;\n if (input.ObjectLockConfiguration !== undefined) {\n body = serializeAws_restXmlObjectLockConfiguration(input.ObjectLockConfiguration, context);\n }\n let contents;\n if (input.ObjectLockConfiguration !== undefined) {\n contents = serializeAws_restXmlObjectLockConfiguration(input.ObjectLockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectLockConfigurationCommand = serializeAws_restXmlPutObjectLockConfigurationCommand;\nconst serializeAws_restXmlPutObjectRetentionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-bypass-governance-retention\": [\n () => isSerializableHeaderValue(input.BypassGovernanceRetention),\n () => input.BypassGovernanceRetention.toString(),\n ],\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n retention: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.Retention !== undefined) {\n body = serializeAws_restXmlObjectLockRetention(input.Retention, context);\n }\n let contents;\n if (input.Retention !== undefined) {\n contents = serializeAws_restXmlObjectLockRetention(input.Retention, context);\n contents = contents.withName(\"Retention\");\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectRetentionCommand = serializeAws_restXmlPutObjectRetentionCommand;\nconst serializeAws_restXmlPutObjectTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-request-payer\": input.RequestPayer,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n tagging: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.Tagging !== undefined) {\n body = serializeAws_restXmlTagging(input.Tagging, context);\n }\n let contents;\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectTaggingCommand = serializeAws_restXmlPutObjectTaggingCommand;\nconst serializeAws_restXmlPutPublicAccessBlockCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n publicAccessBlock: [, \"\"],\n });\n let body;\n if (input.PublicAccessBlockConfiguration !== undefined) {\n body = serializeAws_restXmlPublicAccessBlockConfiguration(input.PublicAccessBlockConfiguration, context);\n }\n let contents;\n if (input.PublicAccessBlockConfiguration !== undefined) {\n contents = serializeAws_restXmlPublicAccessBlockConfiguration(input.PublicAccessBlockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutPublicAccessBlockCommand = serializeAws_restXmlPutPublicAccessBlockCommand;\nconst serializeAws_restXmlRestoreObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n restore: [, \"\"],\n \"x-id\": [, \"RestoreObject\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.RestoreRequest !== undefined) {\n body = serializeAws_restXmlRestoreRequest(input.RestoreRequest, context);\n }\n let contents;\n if (input.RestoreRequest !== undefined) {\n contents = serializeAws_restXmlRestoreRequest(input.RestoreRequest, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlRestoreObjectCommand = serializeAws_restXmlRestoreObjectCommand;\nconst serializeAws_restXmlSelectObjectContentCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n select: [, \"\"],\n \"select-type\": [, \"2\"],\n \"x-id\": [, \"SelectObjectContent\"],\n });\n let body;\n body = '';\n const bodyNode = new xml_builder_1.XmlNode(\"SelectObjectContentRequest\");\n bodyNode.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n if (input.Expression !== undefined) {\n const node = xml_builder_1.XmlNode.of(\"Expression\", input.Expression).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpressionType !== undefined) {\n const node = xml_builder_1.XmlNode.of(\"ExpressionType\", input.ExpressionType).withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.InputSerialization !== undefined) {\n const node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputSerialization !== undefined) {\n const node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.RequestProgress !== undefined) {\n const node = serializeAws_restXmlRequestProgress(input.RequestProgress, context).withName(\"RequestProgress\");\n bodyNode.addChildNode(node);\n }\n if (input.ScanRange !== undefined) {\n const node = serializeAws_restXmlScanRange(input.ScanRange, context).withName(\"ScanRange\");\n bodyNode.addChildNode(node);\n }\n body += bodyNode.toString();\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlSelectObjectContentCommand = serializeAws_restXmlSelectObjectContentCommand;\nconst serializeAws_restXmlUploadPartCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/octet-stream\",\n \"content-length\": [() => isSerializableHeaderValue(input.ContentLength), () => input.ContentLength.toString()],\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-checksum-crc32\": input.ChecksumCRC32,\n \"x-amz-checksum-crc32c\": input.ChecksumCRC32C,\n \"x-amz-checksum-sha1\": input.ChecksumSHA1,\n \"x-amz-checksum-sha256\": input.ChecksumSHA256,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"UploadPart\"],\n partNumber: [(0, smithy_client_1.expectNonNull)(input.PartNumber, `PartNumber`) != null, () => input.PartNumber.toString()],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n if (input.Body !== undefined) {\n body = input.Body;\n }\n let contents;\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlUploadPartCommand = serializeAws_restXmlUploadPartCommand;\nconst serializeAws_restXmlUploadPartCopyCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-copy-source\": input.CopySource,\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch,\n \"x-amz-copy-source-if-modified-since\": [\n () => isSerializableHeaderValue(input.CopySourceIfModifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.CopySourceIfModifiedSince).toString(),\n ],\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch,\n \"x-amz-copy-source-if-unmodified-since\": [\n () => isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.CopySourceIfUnmodifiedSince).toString(),\n ],\n \"x-amz-copy-source-range\": input.CopySourceRange,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm,\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey,\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"UploadPartCopy\"],\n partNumber: [(0, smithy_client_1.expectNonNull)(input.PartNumber, `PartNumber`) != null, () => input.PartNumber.toString()],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlUploadPartCopyCommand = serializeAws_restXmlUploadPartCopyCommand;\nconst serializeAws_restXmlWriteGetObjectResponseCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-content-sha256\": \"UNSIGNED-PAYLOAD\",\n \"content-type\": \"application/octet-stream\",\n \"x-amz-request-route\": input.RequestRoute,\n \"x-amz-request-token\": input.RequestToken,\n \"x-amz-fwd-status\": [() => isSerializableHeaderValue(input.StatusCode), () => input.StatusCode.toString()],\n \"x-amz-fwd-error-code\": input.ErrorCode,\n \"x-amz-fwd-error-message\": input.ErrorMessage,\n \"x-amz-fwd-header-accept-ranges\": input.AcceptRanges,\n \"x-amz-fwd-header-cache-control\": input.CacheControl,\n \"x-amz-fwd-header-content-disposition\": input.ContentDisposition,\n \"x-amz-fwd-header-content-encoding\": input.ContentEncoding,\n \"x-amz-fwd-header-content-language\": input.ContentLanguage,\n \"content-length\": [() => isSerializableHeaderValue(input.ContentLength), () => input.ContentLength.toString()],\n \"x-amz-fwd-header-content-range\": input.ContentRange,\n \"x-amz-fwd-header-content-type\": input.ContentType,\n \"x-amz-fwd-header-x-amz-checksum-crc32\": input.ChecksumCRC32,\n \"x-amz-fwd-header-x-amz-checksum-crc32c\": input.ChecksumCRC32C,\n \"x-amz-fwd-header-x-amz-checksum-sha1\": input.ChecksumSHA1,\n \"x-amz-fwd-header-x-amz-checksum-sha256\": input.ChecksumSHA256,\n \"x-amz-fwd-header-x-amz-delete-marker\": [\n () => isSerializableHeaderValue(input.DeleteMarker),\n () => input.DeleteMarker.toString(),\n ],\n \"x-amz-fwd-header-etag\": input.ETag,\n \"x-amz-fwd-header-expires\": [\n () => isSerializableHeaderValue(input.Expires),\n () => (0, smithy_client_1.dateToUtcString)(input.Expires).toString(),\n ],\n \"x-amz-fwd-header-x-amz-expiration\": input.Expiration,\n \"x-amz-fwd-header-last-modified\": [\n () => isSerializableHeaderValue(input.LastModified),\n () => (0, smithy_client_1.dateToUtcString)(input.LastModified).toString(),\n ],\n \"x-amz-fwd-header-x-amz-missing-meta\": [\n () => isSerializableHeaderValue(input.MissingMeta),\n () => input.MissingMeta.toString(),\n ],\n \"x-amz-fwd-header-x-amz-object-lock-mode\": input.ObjectLockMode,\n \"x-amz-fwd-header-x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n \"x-amz-fwd-header-x-amz-object-lock-retain-until-date\": [\n () => isSerializableHeaderValue(input.ObjectLockRetainUntilDate),\n () => (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n ],\n \"x-amz-fwd-header-x-amz-mp-parts-count\": [\n () => isSerializableHeaderValue(input.PartsCount),\n () => input.PartsCount.toString(),\n ],\n \"x-amz-fwd-header-x-amz-replication-status\": input.ReplicationStatus,\n \"x-amz-fwd-header-x-amz-request-charged\": input.RequestCharged,\n \"x-amz-fwd-header-x-amz-restore\": input.Restore,\n \"x-amz-fwd-header-x-amz-server-side-encryption\": input.ServerSideEncryption,\n \"x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n \"x-amz-fwd-header-x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-fwd-header-x-amz-storage-class\": input.StorageClass,\n \"x-amz-fwd-header-x-amz-tagging-count\": [\n () => isSerializableHeaderValue(input.TagCount),\n () => input.TagCount.toString(),\n ],\n \"x-amz-fwd-header-x-amz-version-id\": input.VersionId,\n \"x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled\": [\n () => isSerializableHeaderValue(input.BucketKeyEnabled),\n () => input.BucketKeyEnabled.toString(),\n ],\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = input.Metadata[suffix];\n return acc;\n }, {})),\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/WriteGetObjectResponse\";\n const query = map({\n \"x-id\": [, \"WriteGetObjectResponse\"],\n });\n let body;\n if (input.Body !== undefined) {\n body = input.Body;\n }\n let contents;\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n let { hostname: resolvedHostname } = await context.endpoint();\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"{RequestRoute}.\" + resolvedHostname;\n if (input.RequestRoute === undefined) {\n throw new Error(\"Empty value provided for input host prefix: RequestRoute.\");\n }\n resolvedHostname = resolvedHostname.replace(\"{RequestRoute}\", input.RequestRoute);\n if (!(0, protocol_http_1.isValidHostname)(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname: resolvedHostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlWriteGetObjectResponseCommand = serializeAws_restXmlWriteGetObjectResponseCommand;\nconst deserializeAws_restXmlAbortMultipartUploadCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlAbortMultipartUploadCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlAbortMultipartUploadCommand = deserializeAws_restXmlAbortMultipartUploadCommand;\nconst deserializeAws_restXmlAbortMultipartUploadCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchUpload\":\n case \"com.amazonaws.s3#NoSuchUpload\":\n throw await deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlCompleteMultipartUploadCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(data[\"Bucket\"]);\n }\n if (data[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(data[\"ChecksumCRC32\"]);\n }\n if (data[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(data[\"ChecksumCRC32C\"]);\n }\n if (data[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(data[\"ChecksumSHA1\"]);\n }\n if (data[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(data[\"ChecksumSHA256\"]);\n }\n if (data[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(data[\"ETag\"]);\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(data[\"Key\"]);\n }\n if (data[\"Location\"] !== undefined) {\n contents.Location = (0, smithy_client_1.expectString)(data[\"Location\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlCompleteMultipartUploadCommand = deserializeAws_restXmlCompleteMultipartUploadCommand;\nconst deserializeAws_restXmlCompleteMultipartUploadCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlCopyObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCopyObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n CopySourceVersionId: [, output.headers[\"x-amz-copy-source-version-id\"]],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n SSEKMSEncryptionContext: [, output.headers[\"x-amz-server-side-encryption-context\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.CopyObjectResult = deserializeAws_restXmlCopyObjectResult(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlCopyObjectCommand = deserializeAws_restXmlCopyObjectCommand;\nconst deserializeAws_restXmlCopyObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ObjectNotInActiveTierError\":\n case \"com.amazonaws.s3#ObjectNotInActiveTierError\":\n throw await deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlCreateBucketCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCreateBucketCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n Location: [, output.headers[\"location\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlCreateBucketCommand = deserializeAws_restXmlCreateBucketCommand;\nconst deserializeAws_restXmlCreateBucketCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"BucketAlreadyExists\":\n case \"com.amazonaws.s3#BucketAlreadyExists\":\n throw await deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context);\n case \"BucketAlreadyOwnedByYou\":\n case \"com.amazonaws.s3#BucketAlreadyOwnedByYou\":\n throw await deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlCreateMultipartUploadCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCreateMultipartUploadCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n AbortDate: [\n () => void 0 !== output.headers[\"x-amz-abort-date\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"x-amz-abort-date\"])),\n ],\n AbortRuleId: [, output.headers[\"x-amz-abort-rule-id\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n SSEKMSEncryptionContext: [, output.headers[\"x-amz-server-side-encryption-context\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n ChecksumAlgorithm: [, output.headers[\"x-amz-checksum-algorithm\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(data[\"Bucket\"]);\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(data[\"Key\"]);\n }\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = (0, smithy_client_1.expectString)(data[\"UploadId\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlCreateMultipartUploadCommand = deserializeAws_restXmlCreateMultipartUploadCommand;\nconst deserializeAws_restXmlCreateMultipartUploadCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketCommand = deserializeAws_restXmlDeleteBucketCommand;\nconst deserializeAws_restXmlDeleteBucketCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand;\nconst deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketCorsCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketCorsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketCorsCommand = deserializeAws_restXmlDeleteBucketCorsCommand;\nconst deserializeAws_restXmlDeleteBucketCorsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketEncryptionCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketEncryptionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketEncryptionCommand = deserializeAws_restXmlDeleteBucketEncryptionCommand;\nconst deserializeAws_restXmlDeleteBucketEncryptionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand;\nconst deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand;\nconst deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketLifecycleCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketLifecycleCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketLifecycleCommand = deserializeAws_restXmlDeleteBucketLifecycleCommand;\nconst deserializeAws_restXmlDeleteBucketLifecycleCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand;\nconst deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = deserializeAws_restXmlDeleteBucketOwnershipControlsCommand;\nconst deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketPolicyCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketPolicyCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketPolicyCommand = deserializeAws_restXmlDeleteBucketPolicyCommand;\nconst deserializeAws_restXmlDeleteBucketPolicyCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketReplicationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketReplicationCommand = deserializeAws_restXmlDeleteBucketReplicationCommand;\nconst deserializeAws_restXmlDeleteBucketReplicationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketTaggingCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketTaggingCommand = deserializeAws_restXmlDeleteBucketTaggingCommand;\nconst deserializeAws_restXmlDeleteBucketTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketWebsiteCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketWebsiteCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketWebsiteCommand = deserializeAws_restXmlDeleteBucketWebsiteCommand;\nconst deserializeAws_restXmlDeleteBucketWebsiteCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteObjectCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n DeleteMarker: [\n () => void 0 !== output.headers[\"x-amz-delete-marker\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-delete-marker\"]),\n ],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteObjectCommand = deserializeAws_restXmlDeleteObjectCommand;\nconst deserializeAws_restXmlDeleteObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteObjectsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.Deleted === \"\") {\n contents.Deleted = [];\n }\n else if (data[\"Deleted\"] !== undefined) {\n contents.Deleted = deserializeAws_restXmlDeletedObjects((0, smithy_client_1.getArrayIfSingleItem)(data[\"Deleted\"]), context);\n }\n if (data.Error === \"\") {\n contents.Errors = [];\n }\n else if (data[\"Error\"] !== undefined) {\n contents.Errors = deserializeAws_restXmlErrors((0, smithy_client_1.getArrayIfSingleItem)(data[\"Error\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlDeleteObjectsCommand = deserializeAws_restXmlDeleteObjectsCommand;\nconst deserializeAws_restXmlDeleteObjectsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteObjectTaggingCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteObjectTaggingCommand = deserializeAws_restXmlDeleteObjectTaggingCommand;\nconst deserializeAws_restXmlDeleteObjectTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeletePublicAccessBlockCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeletePublicAccessBlockCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeletePublicAccessBlockCommand = deserializeAws_restXmlDeletePublicAccessBlockCommand;\nconst deserializeAws_restXmlDeletePublicAccessBlockCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(data[\"Status\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = deserializeAws_restXmlGetBucketAccelerateConfigurationCommand;\nconst deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketAclCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAclCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n else if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants((0, smithy_client_1.getArrayIfSingleItem)(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketAclCommand = deserializeAws_restXmlGetBucketAclCommand;\nconst deserializeAws_restXmlGetBucketAclCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.AnalyticsConfiguration = deserializeAws_restXmlAnalyticsConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand;\nconst deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketCorsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketCorsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.CORSRule === \"\") {\n contents.CORSRules = [];\n }\n else if (data[\"CORSRule\"] !== undefined) {\n contents.CORSRules = deserializeAws_restXmlCORSRules((0, smithy_client_1.getArrayIfSingleItem)(data[\"CORSRule\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketCorsCommand = deserializeAws_restXmlGetBucketCorsCommand;\nconst deserializeAws_restXmlGetBucketCorsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketEncryptionCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketEncryptionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.ServerSideEncryptionConfiguration = deserializeAws_restXmlServerSideEncryptionConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketEncryptionCommand = deserializeAws_restXmlGetBucketEncryptionCommand;\nconst deserializeAws_restXmlGetBucketEncryptionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.IntelligentTieringConfiguration = deserializeAws_restXmlIntelligentTieringConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand;\nconst deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketInventoryConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.InventoryConfiguration = deserializeAws_restXmlInventoryConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketInventoryConfigurationCommand = deserializeAws_restXmlGetBucketInventoryConfigurationCommand;\nconst deserializeAws_restXmlGetBucketInventoryConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.Rule === \"\") {\n contents.Rules = [];\n }\n else if (data[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlLifecycleRules((0, smithy_client_1.getArrayIfSingleItem)(data[\"Rule\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = deserializeAws_restXmlGetBucketLifecycleConfigurationCommand;\nconst deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketLocationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLocationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"LocationConstraint\"] !== undefined) {\n contents.LocationConstraint = (0, smithy_client_1.expectString)(data[\"LocationConstraint\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketLocationCommand = deserializeAws_restXmlGetBucketLocationCommand;\nconst deserializeAws_restXmlGetBucketLocationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketLoggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLoggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"LoggingEnabled\"] !== undefined) {\n contents.LoggingEnabled = deserializeAws_restXmlLoggingEnabled(data[\"LoggingEnabled\"], context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketLoggingCommand = deserializeAws_restXmlGetBucketLoggingCommand;\nconst deserializeAws_restXmlGetBucketLoggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketMetricsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.MetricsConfiguration = deserializeAws_restXmlMetricsConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketMetricsConfigurationCommand = deserializeAws_restXmlGetBucketMetricsConfigurationCommand;\nconst deserializeAws_restXmlGetBucketMetricsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketNotificationConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"EventBridgeConfiguration\"] !== undefined) {\n contents.EventBridgeConfiguration = deserializeAws_restXmlEventBridgeConfiguration(data[\"EventBridgeConfiguration\"], context);\n }\n if (data.CloudFunctionConfiguration === \"\") {\n contents.LambdaFunctionConfigurations = [];\n }\n else if (data[\"CloudFunctionConfiguration\"] !== undefined) {\n contents.LambdaFunctionConfigurations = deserializeAws_restXmlLambdaFunctionConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CloudFunctionConfiguration\"]), context);\n }\n if (data.QueueConfiguration === \"\") {\n contents.QueueConfigurations = [];\n }\n else if (data[\"QueueConfiguration\"] !== undefined) {\n contents.QueueConfigurations = deserializeAws_restXmlQueueConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"QueueConfiguration\"]), context);\n }\n if (data.TopicConfiguration === \"\") {\n contents.TopicConfigurations = [];\n }\n else if (data[\"TopicConfiguration\"] !== undefined) {\n contents.TopicConfigurations = deserializeAws_restXmlTopicConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"TopicConfiguration\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketNotificationConfigurationCommand = deserializeAws_restXmlGetBucketNotificationConfigurationCommand;\nconst deserializeAws_restXmlGetBucketNotificationConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketOwnershipControlsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.OwnershipControls = deserializeAws_restXmlOwnershipControls(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketOwnershipControlsCommand = deserializeAws_restXmlGetBucketOwnershipControlsCommand;\nconst deserializeAws_restXmlGetBucketOwnershipControlsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketPolicyCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketPolicyCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = await collectBodyString(output.body, context);\n contents.Policy = (0, smithy_client_1.expectString)(data);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketPolicyCommand = deserializeAws_restXmlGetBucketPolicyCommand;\nconst deserializeAws_restXmlGetBucketPolicyCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketPolicyStatusCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.PolicyStatus = deserializeAws_restXmlPolicyStatus(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketPolicyStatusCommand = deserializeAws_restXmlGetBucketPolicyStatusCommand;\nconst deserializeAws_restXmlGetBucketPolicyStatusCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketReplicationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketReplicationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.ReplicationConfiguration = deserializeAws_restXmlReplicationConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketReplicationCommand = deserializeAws_restXmlGetBucketReplicationCommand;\nconst deserializeAws_restXmlGetBucketReplicationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketRequestPaymentCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Payer\"] !== undefined) {\n contents.Payer = (0, smithy_client_1.expectString)(data[\"Payer\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketRequestPaymentCommand = deserializeAws_restXmlGetBucketRequestPaymentCommand;\nconst deserializeAws_restXmlGetBucketRequestPaymentCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketTaggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n else if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(data[\"TagSet\"][\"Tag\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketTaggingCommand = deserializeAws_restXmlGetBucketTaggingCommand;\nconst deserializeAws_restXmlGetBucketTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketVersioningCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketVersioningCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"MfaDelete\"] !== undefined) {\n contents.MFADelete = (0, smithy_client_1.expectString)(data[\"MfaDelete\"]);\n }\n if (data[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(data[\"Status\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketVersioningCommand = deserializeAws_restXmlGetBucketVersioningCommand;\nconst deserializeAws_restXmlGetBucketVersioningCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketWebsiteCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketWebsiteCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"ErrorDocument\"] !== undefined) {\n contents.ErrorDocument = deserializeAws_restXmlErrorDocument(data[\"ErrorDocument\"], context);\n }\n if (data[\"IndexDocument\"] !== undefined) {\n contents.IndexDocument = deserializeAws_restXmlIndexDocument(data[\"IndexDocument\"], context);\n }\n if (data[\"RedirectAllRequestsTo\"] !== undefined) {\n contents.RedirectAllRequestsTo = deserializeAws_restXmlRedirectAllRequestsTo(data[\"RedirectAllRequestsTo\"], context);\n }\n if (data.RoutingRules === \"\") {\n contents.RoutingRules = [];\n }\n else if (data[\"RoutingRules\"] !== undefined && data[\"RoutingRules\"][\"RoutingRule\"] !== undefined) {\n contents.RoutingRules = deserializeAws_restXmlRoutingRules((0, smithy_client_1.getArrayIfSingleItem)(data[\"RoutingRules\"][\"RoutingRule\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketWebsiteCommand = deserializeAws_restXmlGetBucketWebsiteCommand;\nconst deserializeAws_restXmlGetBucketWebsiteCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n DeleteMarker: [\n () => void 0 !== output.headers[\"x-amz-delete-marker\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-delete-marker\"]),\n ],\n AcceptRanges: [, output.headers[\"accept-ranges\"]],\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n Restore: [, output.headers[\"x-amz-restore\"]],\n LastModified: [\n () => void 0 !== output.headers[\"last-modified\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"last-modified\"])),\n ],\n ContentLength: [\n () => void 0 !== output.headers[\"content-length\"],\n () => (0, smithy_client_1.strictParseLong)(output.headers[\"content-length\"]),\n ],\n ETag: [, output.headers[\"etag\"]],\n ChecksumCRC32: [, output.headers[\"x-amz-checksum-crc32\"]],\n ChecksumCRC32C: [, output.headers[\"x-amz-checksum-crc32c\"]],\n ChecksumSHA1: [, output.headers[\"x-amz-checksum-sha1\"]],\n ChecksumSHA256: [, output.headers[\"x-amz-checksum-sha256\"]],\n MissingMeta: [\n () => void 0 !== output.headers[\"x-amz-missing-meta\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-missing-meta\"]),\n ],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n CacheControl: [, output.headers[\"cache-control\"]],\n ContentDisposition: [, output.headers[\"content-disposition\"]],\n ContentEncoding: [, output.headers[\"content-encoding\"]],\n ContentLanguage: [, output.headers[\"content-language\"]],\n ContentRange: [, output.headers[\"content-range\"]],\n ContentType: [, output.headers[\"content-type\"]],\n Expires: [\n () => void 0 !== output.headers[\"expires\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"expires\"])),\n ],\n WebsiteRedirectLocation: [, output.headers[\"x-amz-website-redirect-location\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n StorageClass: [, output.headers[\"x-amz-storage-class\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n ReplicationStatus: [, output.headers[\"x-amz-replication-status\"]],\n PartsCount: [\n () => void 0 !== output.headers[\"x-amz-mp-parts-count\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-mp-parts-count\"]),\n ],\n TagCount: [\n () => void 0 !== output.headers[\"x-amz-tagging-count\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-tagging-count\"]),\n ],\n ObjectLockMode: [, output.headers[\"x-amz-object-lock-mode\"]],\n ObjectLockRetainUntilDate: [\n () => void 0 !== output.headers[\"x-amz-object-lock-retain-until-date\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output.headers[\"x-amz-object-lock-retain-until-date\"])),\n ],\n ObjectLockLegalHoldStatus: [, output.headers[\"x-amz-object-lock-legal-hold\"]],\n Metadata: [\n ,\n Object.keys(output.headers)\n .filter((header) => header.startsWith(\"x-amz-meta-\"))\n .reduce((acc, header) => {\n acc[header.substring(11)] = output.headers[header];\n return acc;\n }, {}),\n ],\n });\n const data = output.body;\n context.sdkStreamMixin(data);\n contents.Body = data;\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectCommand = deserializeAws_restXmlGetObjectCommand;\nconst deserializeAws_restXmlGetObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidObjectState\":\n case \"com.amazonaws.s3#InvalidObjectState\":\n throw await deserializeAws_restXmlInvalidObjectStateResponse(parsedOutput, context);\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlGetObjectAclCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectAclCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n else if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants((0, smithy_client_1.getArrayIfSingleItem)(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectAclCommand = deserializeAws_restXmlGetObjectAclCommand;\nconst deserializeAws_restXmlGetObjectAclCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlGetObjectAttributesCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectAttributesCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n DeleteMarker: [\n () => void 0 !== output.headers[\"x-amz-delete-marker\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-delete-marker\"]),\n ],\n LastModified: [\n () => void 0 !== output.headers[\"last-modified\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"last-modified\"])),\n ],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Checksum\"] !== undefined) {\n contents.Checksum = deserializeAws_restXmlChecksum(data[\"Checksum\"], context);\n }\n if (data[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(data[\"ETag\"]);\n }\n if (data[\"ObjectParts\"] !== undefined) {\n contents.ObjectParts = deserializeAws_restXmlGetObjectAttributesParts(data[\"ObjectParts\"], context);\n }\n if (data[\"ObjectSize\"] !== undefined) {\n contents.ObjectSize = (0, smithy_client_1.strictParseLong)(data[\"ObjectSize\"]);\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(data[\"StorageClass\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectAttributesCommand = deserializeAws_restXmlGetObjectAttributesCommand;\nconst deserializeAws_restXmlGetObjectAttributesCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlGetObjectLegalHoldCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.LegalHold = deserializeAws_restXmlObjectLockLegalHold(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectLegalHoldCommand = deserializeAws_restXmlGetObjectLegalHoldCommand;\nconst deserializeAws_restXmlGetObjectLegalHoldCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectLockConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.ObjectLockConfiguration = deserializeAws_restXmlObjectLockConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectLockConfigurationCommand = deserializeAws_restXmlGetObjectLockConfigurationCommand;\nconst deserializeAws_restXmlGetObjectLockConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectRetentionCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectRetentionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.Retention = deserializeAws_restXmlObjectLockRetention(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectRetentionCommand = deserializeAws_restXmlGetObjectRetentionCommand;\nconst deserializeAws_restXmlGetObjectRetentionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectTaggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n else if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(data[\"TagSet\"][\"Tag\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectTaggingCommand = deserializeAws_restXmlGetObjectTaggingCommand;\nconst deserializeAws_restXmlGetObjectTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectTorrentCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectTorrentCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = output.body;\n context.sdkStreamMixin(data);\n contents.Body = data;\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectTorrentCommand = deserializeAws_restXmlGetObjectTorrentCommand;\nconst deserializeAws_restXmlGetObjectTorrentCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetPublicAccessBlockCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.PublicAccessBlockConfiguration = deserializeAws_restXmlPublicAccessBlockConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetPublicAccessBlockCommand = deserializeAws_restXmlGetPublicAccessBlockCommand;\nconst deserializeAws_restXmlGetPublicAccessBlockCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlHeadBucketCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlHeadBucketCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlHeadBucketCommand = deserializeAws_restXmlHeadBucketCommand;\nconst deserializeAws_restXmlHeadBucketCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NotFound\":\n case \"com.amazonaws.s3#NotFound\":\n throw await deserializeAws_restXmlNotFoundResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlHeadObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlHeadObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n DeleteMarker: [\n () => void 0 !== output.headers[\"x-amz-delete-marker\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-delete-marker\"]),\n ],\n AcceptRanges: [, output.headers[\"accept-ranges\"]],\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n Restore: [, output.headers[\"x-amz-restore\"]],\n ArchiveStatus: [, output.headers[\"x-amz-archive-status\"]],\n LastModified: [\n () => void 0 !== output.headers[\"last-modified\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"last-modified\"])),\n ],\n ContentLength: [\n () => void 0 !== output.headers[\"content-length\"],\n () => (0, smithy_client_1.strictParseLong)(output.headers[\"content-length\"]),\n ],\n ChecksumCRC32: [, output.headers[\"x-amz-checksum-crc32\"]],\n ChecksumCRC32C: [, output.headers[\"x-amz-checksum-crc32c\"]],\n ChecksumSHA1: [, output.headers[\"x-amz-checksum-sha1\"]],\n ChecksumSHA256: [, output.headers[\"x-amz-checksum-sha256\"]],\n ETag: [, output.headers[\"etag\"]],\n MissingMeta: [\n () => void 0 !== output.headers[\"x-amz-missing-meta\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-missing-meta\"]),\n ],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n CacheControl: [, output.headers[\"cache-control\"]],\n ContentDisposition: [, output.headers[\"content-disposition\"]],\n ContentEncoding: [, output.headers[\"content-encoding\"]],\n ContentLanguage: [, output.headers[\"content-language\"]],\n ContentType: [, output.headers[\"content-type\"]],\n Expires: [\n () => void 0 !== output.headers[\"expires\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"expires\"])),\n ],\n WebsiteRedirectLocation: [, output.headers[\"x-amz-website-redirect-location\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n StorageClass: [, output.headers[\"x-amz-storage-class\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n ReplicationStatus: [, output.headers[\"x-amz-replication-status\"]],\n PartsCount: [\n () => void 0 !== output.headers[\"x-amz-mp-parts-count\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-mp-parts-count\"]),\n ],\n ObjectLockMode: [, output.headers[\"x-amz-object-lock-mode\"]],\n ObjectLockRetainUntilDate: [\n () => void 0 !== output.headers[\"x-amz-object-lock-retain-until-date\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output.headers[\"x-amz-object-lock-retain-until-date\"])),\n ],\n ObjectLockLegalHoldStatus: [, output.headers[\"x-amz-object-lock-legal-hold\"]],\n Metadata: [\n ,\n Object.keys(output.headers)\n .filter((header) => header.startsWith(\"x-amz-meta-\"))\n .reduce((acc, header) => {\n acc[header.substring(11)] = output.headers[header];\n return acc;\n }, {}),\n ],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlHeadObjectCommand = deserializeAws_restXmlHeadObjectCommand;\nconst deserializeAws_restXmlHeadObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NotFound\":\n case \"com.amazonaws.s3#NotFound\":\n throw await deserializeAws_restXmlNotFoundResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.AnalyticsConfiguration === \"\") {\n contents.AnalyticsConfigurationList = [];\n }\n else if (data[\"AnalyticsConfiguration\"] !== undefined) {\n contents.AnalyticsConfigurationList = deserializeAws_restXmlAnalyticsConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"AnalyticsConfiguration\"]), context);\n }\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand;\nconst deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data.IntelligentTieringConfiguration === \"\") {\n contents.IntelligentTieringConfigurationList = [];\n }\n else if (data[\"IntelligentTieringConfiguration\"] !== undefined) {\n contents.IntelligentTieringConfigurationList = deserializeAws_restXmlIntelligentTieringConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"IntelligentTieringConfiguration\"]), context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand;\nconst deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListBucketInventoryConfigurationsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data.InventoryConfiguration === \"\") {\n contents.InventoryConfigurationList = [];\n }\n else if (data[\"InventoryConfiguration\"] !== undefined) {\n contents.InventoryConfigurationList = deserializeAws_restXmlInventoryConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"InventoryConfiguration\"]), context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketInventoryConfigurationsCommand = deserializeAws_restXmlListBucketInventoryConfigurationsCommand;\nconst deserializeAws_restXmlListBucketInventoryConfigurationsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListBucketMetricsConfigurationsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data.MetricsConfiguration === \"\") {\n contents.MetricsConfigurationList = [];\n }\n else if (data[\"MetricsConfiguration\"] !== undefined) {\n contents.MetricsConfigurationList = deserializeAws_restXmlMetricsConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"MetricsConfiguration\"]), context);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketMetricsConfigurationsCommand = deserializeAws_restXmlListBucketMetricsConfigurationsCommand;\nconst deserializeAws_restXmlListBucketMetricsConfigurationsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListBucketsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.Buckets === \"\") {\n contents.Buckets = [];\n }\n else if (data[\"Buckets\"] !== undefined && data[\"Buckets\"][\"Bucket\"] !== undefined) {\n contents.Buckets = deserializeAws_restXmlBuckets((0, smithy_client_1.getArrayIfSingleItem)(data[\"Buckets\"][\"Bucket\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketsCommand = deserializeAws_restXmlListBucketsCommand;\nconst deserializeAws_restXmlListBucketsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListMultipartUploadsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListMultipartUploadsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(data[\"Bucket\"]);\n }\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n else if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CommonPrefixes\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = (0, smithy_client_1.expectString)(data[\"Delimiter\"]);\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = (0, smithy_client_1.expectString)(data[\"EncodingType\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = (0, smithy_client_1.expectString)(data[\"KeyMarker\"]);\n }\n if (data[\"MaxUploads\"] !== undefined) {\n contents.MaxUploads = (0, smithy_client_1.strictParseInt32)(data[\"MaxUploads\"]);\n }\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = (0, smithy_client_1.expectString)(data[\"NextKeyMarker\"]);\n }\n if (data[\"NextUploadIdMarker\"] !== undefined) {\n contents.NextUploadIdMarker = (0, smithy_client_1.expectString)(data[\"NextUploadIdMarker\"]);\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(data[\"Prefix\"]);\n }\n if (data[\"UploadIdMarker\"] !== undefined) {\n contents.UploadIdMarker = (0, smithy_client_1.expectString)(data[\"UploadIdMarker\"]);\n }\n if (data.Upload === \"\") {\n contents.Uploads = [];\n }\n else if (data[\"Upload\"] !== undefined) {\n contents.Uploads = deserializeAws_restXmlMultipartUploadList((0, smithy_client_1.getArrayIfSingleItem)(data[\"Upload\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListMultipartUploadsCommand = deserializeAws_restXmlListMultipartUploadsCommand;\nconst deserializeAws_restXmlListMultipartUploadsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListObjectsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n else if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CommonPrefixes\"]), context);\n }\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n else if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList((0, smithy_client_1.getArrayIfSingleItem)(data[\"Contents\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = (0, smithy_client_1.expectString)(data[\"Delimiter\"]);\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = (0, smithy_client_1.expectString)(data[\"EncodingType\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"Marker\"] !== undefined) {\n contents.Marker = (0, smithy_client_1.expectString)(data[\"Marker\"]);\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = (0, smithy_client_1.strictParseInt32)(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(data[\"Name\"]);\n }\n if (data[\"NextMarker\"] !== undefined) {\n contents.NextMarker = (0, smithy_client_1.expectString)(data[\"NextMarker\"]);\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(data[\"Prefix\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListObjectsCommand = deserializeAws_restXmlListObjectsCommand;\nconst deserializeAws_restXmlListObjectsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchBucket\":\n case \"com.amazonaws.s3#NoSuchBucket\":\n throw await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlListObjectsV2Command = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectsV2CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n else if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CommonPrefixes\"]), context);\n }\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n else if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList((0, smithy_client_1.getArrayIfSingleItem)(data[\"Contents\"]), context);\n }\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = (0, smithy_client_1.expectString)(data[\"Delimiter\"]);\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = (0, smithy_client_1.expectString)(data[\"EncodingType\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"KeyCount\"] !== undefined) {\n contents.KeyCount = (0, smithy_client_1.strictParseInt32)(data[\"KeyCount\"]);\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = (0, smithy_client_1.strictParseInt32)(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(data[\"Name\"]);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(data[\"Prefix\"]);\n }\n if (data[\"StartAfter\"] !== undefined) {\n contents.StartAfter = (0, smithy_client_1.expectString)(data[\"StartAfter\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListObjectsV2Command = deserializeAws_restXmlListObjectsV2Command;\nconst deserializeAws_restXmlListObjectsV2CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchBucket\":\n case \"com.amazonaws.s3#NoSuchBucket\":\n throw await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlListObjectVersionsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectVersionsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n else if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CommonPrefixes\"]), context);\n }\n if (data.DeleteMarker === \"\") {\n contents.DeleteMarkers = [];\n }\n else if (data[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarkers = deserializeAws_restXmlDeleteMarkers((0, smithy_client_1.getArrayIfSingleItem)(data[\"DeleteMarker\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = (0, smithy_client_1.expectString)(data[\"Delimiter\"]);\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = (0, smithy_client_1.expectString)(data[\"EncodingType\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = (0, smithy_client_1.expectString)(data[\"KeyMarker\"]);\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = (0, smithy_client_1.strictParseInt32)(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(data[\"Name\"]);\n }\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = (0, smithy_client_1.expectString)(data[\"NextKeyMarker\"]);\n }\n if (data[\"NextVersionIdMarker\"] !== undefined) {\n contents.NextVersionIdMarker = (0, smithy_client_1.expectString)(data[\"NextVersionIdMarker\"]);\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(data[\"Prefix\"]);\n }\n if (data[\"VersionIdMarker\"] !== undefined) {\n contents.VersionIdMarker = (0, smithy_client_1.expectString)(data[\"VersionIdMarker\"]);\n }\n if (data.Version === \"\") {\n contents.Versions = [];\n }\n else if (data[\"Version\"] !== undefined) {\n contents.Versions = deserializeAws_restXmlObjectVersionList((0, smithy_client_1.getArrayIfSingleItem)(data[\"Version\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListObjectVersionsCommand = deserializeAws_restXmlListObjectVersionsCommand;\nconst deserializeAws_restXmlListObjectVersionsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListPartsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListPartsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n AbortDate: [\n () => void 0 !== output.headers[\"x-amz-abort-date\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"x-amz-abort-date\"])),\n ],\n AbortRuleId: [, output.headers[\"x-amz-abort-rule-id\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(data[\"Bucket\"]);\n }\n if (data[\"ChecksumAlgorithm\"] !== undefined) {\n contents.ChecksumAlgorithm = (0, smithy_client_1.expectString)(data[\"ChecksumAlgorithm\"]);\n }\n if (data[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(data[\"Initiator\"], context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(data[\"Key\"]);\n }\n if (data[\"MaxParts\"] !== undefined) {\n contents.MaxParts = (0, smithy_client_1.strictParseInt32)(data[\"MaxParts\"]);\n }\n if (data[\"NextPartNumberMarker\"] !== undefined) {\n contents.NextPartNumberMarker = (0, smithy_client_1.expectString)(data[\"NextPartNumberMarker\"]);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n if (data[\"PartNumberMarker\"] !== undefined) {\n contents.PartNumberMarker = (0, smithy_client_1.expectString)(data[\"PartNumberMarker\"]);\n }\n if (data.Part === \"\") {\n contents.Parts = [];\n }\n else if (data[\"Part\"] !== undefined) {\n contents.Parts = deserializeAws_restXmlParts((0, smithy_client_1.getArrayIfSingleItem)(data[\"Part\"]), context);\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(data[\"StorageClass\"]);\n }\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = (0, smithy_client_1.expectString)(data[\"UploadId\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListPartsCommand = deserializeAws_restXmlListPartsCommand;\nconst deserializeAws_restXmlListPartsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = deserializeAws_restXmlPutBucketAccelerateConfigurationCommand;\nconst deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketAclCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAclCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketAclCommand = deserializeAws_restXmlPutBucketAclCommand;\nconst deserializeAws_restXmlPutBucketAclCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand;\nconst deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketCorsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketCorsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketCorsCommand = deserializeAws_restXmlPutBucketCorsCommand;\nconst deserializeAws_restXmlPutBucketCorsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketEncryptionCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketEncryptionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketEncryptionCommand = deserializeAws_restXmlPutBucketEncryptionCommand;\nconst deserializeAws_restXmlPutBucketEncryptionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand;\nconst deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketInventoryConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketInventoryConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketInventoryConfigurationCommand = deserializeAws_restXmlPutBucketInventoryConfigurationCommand;\nconst deserializeAws_restXmlPutBucketInventoryConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = deserializeAws_restXmlPutBucketLifecycleConfigurationCommand;\nconst deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketLoggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketLoggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketLoggingCommand = deserializeAws_restXmlPutBucketLoggingCommand;\nconst deserializeAws_restXmlPutBucketLoggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketMetricsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketMetricsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketMetricsConfigurationCommand = deserializeAws_restXmlPutBucketMetricsConfigurationCommand;\nconst deserializeAws_restXmlPutBucketMetricsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketNotificationConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketNotificationConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketNotificationConfigurationCommand = deserializeAws_restXmlPutBucketNotificationConfigurationCommand;\nconst deserializeAws_restXmlPutBucketNotificationConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketOwnershipControlsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketOwnershipControlsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketOwnershipControlsCommand = deserializeAws_restXmlPutBucketOwnershipControlsCommand;\nconst deserializeAws_restXmlPutBucketOwnershipControlsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketPolicyCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketPolicyCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketPolicyCommand = deserializeAws_restXmlPutBucketPolicyCommand;\nconst deserializeAws_restXmlPutBucketPolicyCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketReplicationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketReplicationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketReplicationCommand = deserializeAws_restXmlPutBucketReplicationCommand;\nconst deserializeAws_restXmlPutBucketReplicationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketRequestPaymentCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketRequestPaymentCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketRequestPaymentCommand = deserializeAws_restXmlPutBucketRequestPaymentCommand;\nconst deserializeAws_restXmlPutBucketRequestPaymentCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketTaggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketTaggingCommand = deserializeAws_restXmlPutBucketTaggingCommand;\nconst deserializeAws_restXmlPutBucketTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketVersioningCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketVersioningCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketVersioningCommand = deserializeAws_restXmlPutBucketVersioningCommand;\nconst deserializeAws_restXmlPutBucketVersioningCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketWebsiteCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketWebsiteCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketWebsiteCommand = deserializeAws_restXmlPutBucketWebsiteCommand;\nconst deserializeAws_restXmlPutBucketWebsiteCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n ETag: [, output.headers[\"etag\"]],\n ChecksumCRC32: [, output.headers[\"x-amz-checksum-crc32\"]],\n ChecksumCRC32C: [, output.headers[\"x-amz-checksum-crc32c\"]],\n ChecksumSHA1: [, output.headers[\"x-amz-checksum-sha1\"]],\n ChecksumSHA256: [, output.headers[\"x-amz-checksum-sha256\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n SSEKMSEncryptionContext: [, output.headers[\"x-amz-server-side-encryption-context\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectCommand = deserializeAws_restXmlPutObjectCommand;\nconst deserializeAws_restXmlPutObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectAclCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectAclCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectAclCommand = deserializeAws_restXmlPutObjectAclCommand;\nconst deserializeAws_restXmlPutObjectAclCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlPutObjectLegalHoldCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectLegalHoldCommand = deserializeAws_restXmlPutObjectLegalHoldCommand;\nconst deserializeAws_restXmlPutObjectLegalHoldCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectLockConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectLockConfigurationCommand = deserializeAws_restXmlPutObjectLockConfigurationCommand;\nconst deserializeAws_restXmlPutObjectLockConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectRetentionCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectRetentionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectRetentionCommand = deserializeAws_restXmlPutObjectRetentionCommand;\nconst deserializeAws_restXmlPutObjectRetentionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectTaggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectTaggingCommand = deserializeAws_restXmlPutObjectTaggingCommand;\nconst deserializeAws_restXmlPutObjectTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutPublicAccessBlockCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutPublicAccessBlockCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutPublicAccessBlockCommand = deserializeAws_restXmlPutPublicAccessBlockCommand;\nconst deserializeAws_restXmlPutPublicAccessBlockCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlRestoreObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlRestoreObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n RestoreOutputPath: [, output.headers[\"x-amz-restore-output-path\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlRestoreObjectCommand = deserializeAws_restXmlRestoreObjectCommand;\nconst deserializeAws_restXmlRestoreObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ObjectAlreadyInActiveTierError\":\n case \"com.amazonaws.s3#ObjectAlreadyInActiveTierError\":\n throw await deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlSelectObjectContentCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlSelectObjectContentCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = output.body;\n contents.Payload = deserializeAws_restXmlSelectObjectContentEventStream(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlSelectObjectContentCommand = deserializeAws_restXmlSelectObjectContentCommand;\nconst deserializeAws_restXmlSelectObjectContentCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlUploadPartCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlUploadPartCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n ETag: [, output.headers[\"etag\"]],\n ChecksumCRC32: [, output.headers[\"x-amz-checksum-crc32\"]],\n ChecksumCRC32C: [, output.headers[\"x-amz-checksum-crc32c\"]],\n ChecksumSHA1: [, output.headers[\"x-amz-checksum-sha1\"]],\n ChecksumSHA256: [, output.headers[\"x-amz-checksum-sha256\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlUploadPartCommand = deserializeAws_restXmlUploadPartCommand;\nconst deserializeAws_restXmlUploadPartCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlUploadPartCopyCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlUploadPartCopyCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n CopySourceVersionId: [, output.headers[\"x-amz-copy-source-version-id\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.CopyPartResult = deserializeAws_restXmlCopyPartResult(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlUploadPartCopyCommand = deserializeAws_restXmlUploadPartCopyCommand;\nconst deserializeAws_restXmlUploadPartCopyCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlWriteGetObjectResponseCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlWriteGetObjectResponseCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlWriteGetObjectResponseCommand = deserializeAws_restXmlWriteGetObjectResponseCommand;\nconst deserializeAws_restXmlWriteGetObjectResponseCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst map = smithy_client_1.map;\nconst deserializeAws_restXmlBucketAlreadyExistsResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.BucketAlreadyExists({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlBucketAlreadyOwnedByYouResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.BucketAlreadyOwnedByYou({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlInvalidObjectStateResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data[\"AccessTier\"] !== undefined) {\n contents.AccessTier = (0, smithy_client_1.expectString)(data[\"AccessTier\"]);\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(data[\"StorageClass\"]);\n }\n const exception = new models_0_1.InvalidObjectState({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlNoSuchBucketResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.NoSuchBucket({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlNoSuchKeyResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.NoSuchKey({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlNoSuchUploadResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.NoSuchUpload({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlNotFoundResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.NotFound({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_1_1.ObjectAlreadyInActiveTierError({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlObjectNotInActiveTierErrorResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.ObjectNotInActiveTierError({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlSelectObjectContentEventStream = (output, context) => {\n return context.eventStreamMarshaller.deserialize(output, async (event) => {\n if (event[\"Records\"] != null) {\n return {\n Records: await deserializeAws_restXmlRecordsEvent_event(event[\"Records\"], context),\n };\n }\n if (event[\"Stats\"] != null) {\n return {\n Stats: await deserializeAws_restXmlStatsEvent_event(event[\"Stats\"], context),\n };\n }\n if (event[\"Progress\"] != null) {\n return {\n Progress: await deserializeAws_restXmlProgressEvent_event(event[\"Progress\"], context),\n };\n }\n if (event[\"Cont\"] != null) {\n return {\n Cont: await deserializeAws_restXmlContinuationEvent_event(event[\"Cont\"], context),\n };\n }\n if (event[\"End\"] != null) {\n return {\n End: await deserializeAws_restXmlEndEvent_event(event[\"End\"], context),\n };\n }\n return { $unknown: output };\n });\n};\nconst deserializeAws_restXmlContinuationEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, deserializeAws_restXmlContinuationEvent(data, context));\n return contents;\n};\nconst deserializeAws_restXmlEndEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, deserializeAws_restXmlEndEvent(data, context));\n return contents;\n};\nconst deserializeAws_restXmlProgressEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n contents.Details = deserializeAws_restXmlProgress(data, context);\n return contents;\n};\nconst deserializeAws_restXmlRecordsEvent_event = async (output, context) => {\n const contents = {};\n contents.Payload = output.body;\n return contents;\n};\nconst deserializeAws_restXmlStatsEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n contents.Details = deserializeAws_restXmlStats(data, context);\n return contents;\n};\nconst serializeAws_restXmlAbortIncompleteMultipartUpload = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AbortIncompleteMultipartUpload\");\n if (input.DaysAfterInitiation != null) {\n const node = xml_builder_1.XmlNode.of(\"DaysAfterInitiation\", String(input.DaysAfterInitiation)).withName(\"DaysAfterInitiation\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAccelerateConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AccelerateConfiguration\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketAccelerateStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAccessControlPolicy = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AccessControlPolicy\");\n if (input.Grants != null) {\n const nodes = serializeAws_restXmlGrants(input.Grants, context);\n const containerNode = new xml_builder_1.XmlNode(\"AccessControlList\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Owner != null) {\n const node = serializeAws_restXmlOwner(input.Owner, context).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAccessControlTranslation = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AccessControlTranslation\");\n if (input.Owner != null) {\n const node = xml_builder_1.XmlNode.of(\"OwnerOverride\", input.Owner).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAllowedHeaders = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"AllowedHeader\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlAllowedMethods = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"AllowedMethod\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlAllowedOrigins = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"AllowedOrigin\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlAnalyticsAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAnalyticsConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"AnalyticsId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlAnalyticsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClassAnalysis != null) {\n const node = serializeAws_restXmlStorageClassAnalysis(input.StorageClassAnalysis, context).withName(\"StorageClassAnalysis\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAnalyticsExportDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsExportDestination\");\n if (input.S3BucketDestination != null) {\n const node = serializeAws_restXmlAnalyticsS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAnalyticsFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsFilter\");\n models_0_1.AnalyticsFilter.visit(input, {\n Prefix: (value) => {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", value).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlAnalyticsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name, value) => {\n if (!(value instanceof xml_builder_1.XmlNode || value instanceof xml_builder_1.XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new xml_builder_1.XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nconst serializeAws_restXmlAnalyticsS3BucketDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsS3BucketDestination\");\n if (input.Format != null) {\n const node = xml_builder_1.XmlNode.of(\"AnalyticsS3ExportFileFormat\", input.Format).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n if (input.BucketAccountId != null) {\n const node = xml_builder_1.XmlNode.of(\"AccountId\", input.BucketAccountId).withName(\"BucketAccountId\");\n bodyNode.addChildNode(node);\n }\n if (input.Bucket != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketName\", input.Bucket).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlBucketLifecycleConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"BucketLifecycleConfiguration\");\n if (input.Rules != null) {\n const nodes = serializeAws_restXmlLifecycleRules(input.Rules, context);\n nodes.map((node) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlBucketLoggingStatus = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"BucketLoggingStatus\");\n if (input.LoggingEnabled != null) {\n const node = serializeAws_restXmlLoggingEnabled(input.LoggingEnabled, context).withName(\"LoggingEnabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCompletedMultipartUpload = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CompletedMultipartUpload\");\n if (input.Parts != null) {\n const nodes = serializeAws_restXmlCompletedPartList(input.Parts, context);\n nodes.map((node) => {\n node = node.withName(\"Part\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCompletedPart = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CompletedPart\");\n if (input.ETag != null) {\n const node = xml_builder_1.XmlNode.of(\"ETag\", input.ETag).withName(\"ETag\");\n bodyNode.addChildNode(node);\n }\n if (input.ChecksumCRC32 != null) {\n const node = xml_builder_1.XmlNode.of(\"ChecksumCRC32\", input.ChecksumCRC32).withName(\"ChecksumCRC32\");\n bodyNode.addChildNode(node);\n }\n if (input.ChecksumCRC32C != null) {\n const node = xml_builder_1.XmlNode.of(\"ChecksumCRC32C\", input.ChecksumCRC32C).withName(\"ChecksumCRC32C\");\n bodyNode.addChildNode(node);\n }\n if (input.ChecksumSHA1 != null) {\n const node = xml_builder_1.XmlNode.of(\"ChecksumSHA1\", input.ChecksumSHA1).withName(\"ChecksumSHA1\");\n bodyNode.addChildNode(node);\n }\n if (input.ChecksumSHA256 != null) {\n const node = xml_builder_1.XmlNode.of(\"ChecksumSHA256\", input.ChecksumSHA256).withName(\"ChecksumSHA256\");\n bodyNode.addChildNode(node);\n }\n if (input.PartNumber != null) {\n const node = xml_builder_1.XmlNode.of(\"PartNumber\", String(input.PartNumber)).withName(\"PartNumber\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCompletedPartList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlCompletedPart(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlCondition = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Condition\");\n if (input.HttpErrorCodeReturnedEquals != null) {\n const node = xml_builder_1.XmlNode\n .of(\"HttpErrorCodeReturnedEquals\", input.HttpErrorCodeReturnedEquals)\n .withName(\"HttpErrorCodeReturnedEquals\");\n bodyNode.addChildNode(node);\n }\n if (input.KeyPrefixEquals != null) {\n const node = xml_builder_1.XmlNode.of(\"KeyPrefixEquals\", input.KeyPrefixEquals).withName(\"KeyPrefixEquals\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCORSConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CORSConfiguration\");\n if (input.CORSRules != null) {\n const nodes = serializeAws_restXmlCORSRules(input.CORSRules, context);\n nodes.map((node) => {\n node = node.withName(\"CORSRule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCORSRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CORSRule\");\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.AllowedHeaders != null) {\n const nodes = serializeAws_restXmlAllowedHeaders(input.AllowedHeaders, context);\n nodes.map((node) => {\n node = node.withName(\"AllowedHeader\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AllowedMethods != null) {\n const nodes = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context);\n nodes.map((node) => {\n node = node.withName(\"AllowedMethod\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AllowedOrigins != null) {\n const nodes = serializeAws_restXmlAllowedOrigins(input.AllowedOrigins, context);\n nodes.map((node) => {\n node = node.withName(\"AllowedOrigin\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.ExposeHeaders != null) {\n const nodes = serializeAws_restXmlExposeHeaders(input.ExposeHeaders, context);\n nodes.map((node) => {\n node = node.withName(\"ExposeHeader\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.MaxAgeSeconds != null) {\n const node = xml_builder_1.XmlNode.of(\"MaxAgeSeconds\", String(input.MaxAgeSeconds)).withName(\"MaxAgeSeconds\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCORSRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlCORSRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlCreateBucketConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CreateBucketConfiguration\");\n if (input.LocationConstraint != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketLocationConstraint\", input.LocationConstraint).withName(\"LocationConstraint\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCSVInput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CSVInput\");\n if (input.FileHeaderInfo != null) {\n const node = xml_builder_1.XmlNode.of(\"FileHeaderInfo\", input.FileHeaderInfo).withName(\"FileHeaderInfo\");\n bodyNode.addChildNode(node);\n }\n if (input.Comments != null) {\n const node = xml_builder_1.XmlNode.of(\"Comments\", input.Comments).withName(\"Comments\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteEscapeCharacter != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteEscapeCharacter\", input.QuoteEscapeCharacter).withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.RecordDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"RecordDelimiter\", input.RecordDelimiter).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.FieldDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"FieldDelimiter\", input.FieldDelimiter).withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteCharacter != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteCharacter\", input.QuoteCharacter).withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.AllowQuotedRecordDelimiter != null) {\n const node = xml_builder_1.XmlNode\n .of(\"AllowQuotedRecordDelimiter\", String(input.AllowQuotedRecordDelimiter))\n .withName(\"AllowQuotedRecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCSVOutput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CSVOutput\");\n if (input.QuoteFields != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteFields\", input.QuoteFields).withName(\"QuoteFields\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteEscapeCharacter != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteEscapeCharacter\", input.QuoteEscapeCharacter).withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.RecordDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"RecordDelimiter\", input.RecordDelimiter).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.FieldDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"FieldDelimiter\", input.FieldDelimiter).withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteCharacter != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteCharacter\", input.QuoteCharacter).withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlDefaultRetention = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"DefaultRetention\");\n if (input.Mode != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectLockRetentionMode\", input.Mode).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.Years != null) {\n const node = xml_builder_1.XmlNode.of(\"Years\", String(input.Years)).withName(\"Years\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlDelete = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Delete\");\n if (input.Objects != null) {\n const nodes = serializeAws_restXmlObjectIdentifierList(input.Objects, context);\n nodes.map((node) => {\n node = node.withName(\"Object\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Quiet != null) {\n const node = xml_builder_1.XmlNode.of(\"Quiet\", String(input.Quiet)).withName(\"Quiet\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlDeleteMarkerReplication = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"DeleteMarkerReplication\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"DeleteMarkerReplicationStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Destination\");\n if (input.Bucket != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketName\", input.Bucket).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Account != null) {\n const node = xml_builder_1.XmlNode.of(\"AccountId\", input.Account).withName(\"Account\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass != null) {\n const node = xml_builder_1.XmlNode.of(\"StorageClass\", input.StorageClass).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessControlTranslation != null) {\n const node = serializeAws_restXmlAccessControlTranslation(input.AccessControlTranslation, context).withName(\"AccessControlTranslation\");\n bodyNode.addChildNode(node);\n }\n if (input.EncryptionConfiguration != null) {\n const node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName(\"EncryptionConfiguration\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplicationTime != null) {\n const node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName(\"ReplicationTime\");\n bodyNode.addChildNode(node);\n }\n if (input.Metrics != null) {\n const node = serializeAws_restXmlMetrics(input.Metrics, context).withName(\"Metrics\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlEncryption = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Encryption\");\n if (input.EncryptionType != null) {\n const node = xml_builder_1.XmlNode.of(\"ServerSideEncryption\", input.EncryptionType).withName(\"EncryptionType\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSKeyId != null) {\n const node = xml_builder_1.XmlNode.of(\"SSEKMSKeyId\", input.KMSKeyId).withName(\"KMSKeyId\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSContext != null) {\n const node = xml_builder_1.XmlNode.of(\"KMSContext\", input.KMSContext).withName(\"KMSContext\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlEncryptionConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"EncryptionConfiguration\");\n if (input.ReplicaKmsKeyID != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplicaKmsKeyID\", input.ReplicaKmsKeyID).withName(\"ReplicaKmsKeyID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlErrorDocument = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ErrorDocument\");\n if (input.Key != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectKey\", input.Key).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlEventBridgeConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"EventBridgeConfiguration\");\n return bodyNode;\n};\nconst serializeAws_restXmlEventList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"Event\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlExistingObjectReplication = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ExistingObjectReplication\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ExistingObjectReplicationStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlExposeHeaders = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"ExposeHeader\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlFilterRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"FilterRule\");\n if (input.Name != null) {\n const node = xml_builder_1.XmlNode.of(\"FilterRuleName\", input.Name).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n if (input.Value != null) {\n const node = xml_builder_1.XmlNode.of(\"FilterRuleValue\", input.Value).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlFilterRuleList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlFilterRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlGlacierJobParameters = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"GlacierJobParameters\");\n if (input.Tier != null) {\n const node = xml_builder_1.XmlNode.of(\"Tier\", input.Tier).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlGrant = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Grant\");\n if (input.Grantee != null) {\n const node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n node.addAttribute(\"xmlns:xsi\", \"http://www.w3.org/2001/XMLSchema-instance\");\n bodyNode.addChildNode(node);\n }\n if (input.Permission != null) {\n const node = xml_builder_1.XmlNode.of(\"Permission\", input.Permission).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlGrantee = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Grantee\");\n if (input.DisplayName != null) {\n const node = xml_builder_1.XmlNode.of(\"DisplayName\", input.DisplayName).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n if (input.EmailAddress != null) {\n const node = xml_builder_1.XmlNode.of(\"EmailAddress\", input.EmailAddress).withName(\"EmailAddress\");\n bodyNode.addChildNode(node);\n }\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.URI != null) {\n const node = xml_builder_1.XmlNode.of(\"URI\", input.URI).withName(\"URI\");\n bodyNode.addChildNode(node);\n }\n if (input.Type != null) {\n bodyNode.addAttribute(\"xsi:type\", input.Type);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlGrants = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\nconst serializeAws_restXmlIndexDocument = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"IndexDocument\");\n if (input.Suffix != null) {\n const node = xml_builder_1.XmlNode.of(\"Suffix\", input.Suffix).withName(\"Suffix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInputSerialization = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InputSerialization\");\n if (input.CSV != null) {\n const node = serializeAws_restXmlCSVInput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n if (input.CompressionType != null) {\n const node = xml_builder_1.XmlNode.of(\"CompressionType\", input.CompressionType).withName(\"CompressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.JSON != null) {\n const node = serializeAws_restXmlJSONInput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n if (input.Parquet != null) {\n const node = serializeAws_restXmlParquetInput(input.Parquet, context).withName(\"Parquet\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlIntelligentTieringAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"IntelligentTieringAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlIntelligentTieringConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"IntelligentTieringConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"IntelligentTieringId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlIntelligentTieringFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"IntelligentTieringStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Tierings != null) {\n const nodes = serializeAws_restXmlTieringList(input.Tierings, context);\n nodes.map((node) => {\n node = node.withName(\"Tiering\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlIntelligentTieringFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"IntelligentTieringFilter\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tag != null) {\n const node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n if (input.And != null) {\n const node = serializeAws_restXmlIntelligentTieringAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryConfiguration\");\n if (input.Destination != null) {\n const node = serializeAws_restXmlInventoryDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n if (input.IsEnabled != null) {\n const node = xml_builder_1.XmlNode.of(\"IsEnabled\", String(input.IsEnabled)).withName(\"IsEnabled\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlInventoryFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"InventoryId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.IncludedObjectVersions != null) {\n const node = xml_builder_1.XmlNode\n .of(\"InventoryIncludedObjectVersions\", input.IncludedObjectVersions)\n .withName(\"IncludedObjectVersions\");\n bodyNode.addChildNode(node);\n }\n if (input.OptionalFields != null) {\n const nodes = serializeAws_restXmlInventoryOptionalFields(input.OptionalFields, context);\n const containerNode = new xml_builder_1.XmlNode(\"OptionalFields\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Schedule != null) {\n const node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName(\"Schedule\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryDestination\");\n if (input.S3BucketDestination != null) {\n const node = serializeAws_restXmlInventoryS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryEncryption = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryEncryption\");\n if (input.SSES3 != null) {\n const node = serializeAws_restXmlSSES3(input.SSES3, context).withName(\"SSE-S3\");\n bodyNode.addChildNode(node);\n }\n if (input.SSEKMS != null) {\n const node = serializeAws_restXmlSSEKMS(input.SSEKMS, context).withName(\"SSE-KMS\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryFilter\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryOptionalFields = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"InventoryOptionalField\", entry);\n return node.withName(\"Field\");\n });\n};\nconst serializeAws_restXmlInventoryS3BucketDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryS3BucketDestination\");\n if (input.AccountId != null) {\n const node = xml_builder_1.XmlNode.of(\"AccountId\", input.AccountId).withName(\"AccountId\");\n bodyNode.addChildNode(node);\n }\n if (input.Bucket != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketName\", input.Bucket).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Format != null) {\n const node = xml_builder_1.XmlNode.of(\"InventoryFormat\", input.Format).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Encryption != null) {\n const node = serializeAws_restXmlInventoryEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventorySchedule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventorySchedule\");\n if (input.Frequency != null) {\n const node = xml_builder_1.XmlNode.of(\"InventoryFrequency\", input.Frequency).withName(\"Frequency\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlJSONInput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"JSONInput\");\n if (input.Type != null) {\n const node = xml_builder_1.XmlNode.of(\"JSONType\", input.Type).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlJSONOutput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"JSONOutput\");\n if (input.RecordDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"RecordDelimiter\", input.RecordDelimiter).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLambdaFunctionConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LambdaFunctionConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"NotificationId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.LambdaFunctionArn != null) {\n const node = xml_builder_1.XmlNode.of(\"LambdaFunctionArn\", input.LambdaFunctionArn).withName(\"CloudFunction\");\n bodyNode.addChildNode(node);\n }\n if (input.Events != null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLambdaFunctionConfigurationList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlLifecycleExpiration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LifecycleExpiration\");\n if (input.Date != null) {\n const node = xml_builder_1.XmlNode.of(\"Date\", (input.Date.toISOString().split(\".\")[0] + \"Z\").toString()).withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpiredObjectDeleteMarker != null) {\n const node = xml_builder_1.XmlNode\n .of(\"ExpiredObjectDeleteMarker\", String(input.ExpiredObjectDeleteMarker))\n .withName(\"ExpiredObjectDeleteMarker\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLifecycleRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LifecycleRule\");\n if (input.Expiration != null) {\n const node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName(\"Expiration\");\n bodyNode.addChildNode(node);\n }\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ExpirationStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Transitions != null) {\n const nodes = serializeAws_restXmlTransitionList(input.Transitions, context);\n nodes.map((node) => {\n node = node.withName(\"Transition\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.NoncurrentVersionTransitions != null) {\n const nodes = serializeAws_restXmlNoncurrentVersionTransitionList(input.NoncurrentVersionTransitions, context);\n nodes.map((node) => {\n node = node.withName(\"NoncurrentVersionTransition\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.NoncurrentVersionExpiration != null) {\n const node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName(\"NoncurrentVersionExpiration\");\n bodyNode.addChildNode(node);\n }\n if (input.AbortIncompleteMultipartUpload != null) {\n const node = serializeAws_restXmlAbortIncompleteMultipartUpload(input.AbortIncompleteMultipartUpload, context).withName(\"AbortIncompleteMultipartUpload\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLifecycleRuleAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LifecycleRuleAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.ObjectSizeGreaterThan != null) {\n const node = xml_builder_1.XmlNode\n .of(\"ObjectSizeGreaterThanBytes\", String(input.ObjectSizeGreaterThan))\n .withName(\"ObjectSizeGreaterThan\");\n bodyNode.addChildNode(node);\n }\n if (input.ObjectSizeLessThan != null) {\n const node = xml_builder_1.XmlNode\n .of(\"ObjectSizeLessThanBytes\", String(input.ObjectSizeLessThan))\n .withName(\"ObjectSizeLessThan\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLifecycleRuleFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LifecycleRuleFilter\");\n models_0_1.LifecycleRuleFilter.visit(input, {\n Prefix: (value) => {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", value).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n ObjectSizeGreaterThan: (value) => {\n const node = xml_builder_1.XmlNode.of(\"ObjectSizeGreaterThanBytes\", String(value)).withName(\"ObjectSizeGreaterThan\");\n bodyNode.addChildNode(node);\n },\n ObjectSizeLessThan: (value) => {\n const node = xml_builder_1.XmlNode.of(\"ObjectSizeLessThanBytes\", String(value)).withName(\"ObjectSizeLessThan\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlLifecycleRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name, value) => {\n if (!(value instanceof xml_builder_1.XmlNode || value instanceof xml_builder_1.XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new xml_builder_1.XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nconst serializeAws_restXmlLifecycleRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlLifecycleRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlLoggingEnabled = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LoggingEnabled\");\n if (input.TargetBucket != null) {\n const node = xml_builder_1.XmlNode.of(\"TargetBucket\", input.TargetBucket).withName(\"TargetBucket\");\n bodyNode.addChildNode(node);\n }\n if (input.TargetGrants != null) {\n const nodes = serializeAws_restXmlTargetGrants(input.TargetGrants, context);\n const containerNode = new xml_builder_1.XmlNode(\"TargetGrants\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.TargetPrefix != null) {\n const node = xml_builder_1.XmlNode.of(\"TargetPrefix\", input.TargetPrefix).withName(\"TargetPrefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetadataEntry = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"MetadataEntry\");\n if (input.Name != null) {\n const node = xml_builder_1.XmlNode.of(\"MetadataKey\", input.Name).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n if (input.Value != null) {\n const node = xml_builder_1.XmlNode.of(\"MetadataValue\", input.Value).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetrics = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Metrics\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"MetricsStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.EventThreshold != null) {\n const node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName(\"EventThreshold\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetricsAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"MetricsAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AccessPointArn != null) {\n const node = xml_builder_1.XmlNode.of(\"AccessPointArn\", input.AccessPointArn).withName(\"AccessPointArn\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetricsConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"MetricsConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"MetricsId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetricsFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"MetricsFilter\");\n models_0_1.MetricsFilter.visit(input, {\n Prefix: (value) => {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", value).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n AccessPointArn: (value) => {\n const node = xml_builder_1.XmlNode.of(\"AccessPointArn\", value).withName(\"AccessPointArn\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlMetricsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name, value) => {\n if (!(value instanceof xml_builder_1.XmlNode || value instanceof xml_builder_1.XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new xml_builder_1.XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nconst serializeAws_restXmlNoncurrentVersionExpiration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"NoncurrentVersionExpiration\");\n if (input.NoncurrentDays != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.NoncurrentDays)).withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n if (input.NewerNoncurrentVersions != null) {\n const node = xml_builder_1.XmlNode\n .of(\"VersionCount\", String(input.NewerNoncurrentVersions))\n .withName(\"NewerNoncurrentVersions\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlNoncurrentVersionTransition = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"NoncurrentVersionTransition\");\n if (input.NoncurrentDays != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.NoncurrentDays)).withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass != null) {\n const node = xml_builder_1.XmlNode.of(\"TransitionStorageClass\", input.StorageClass).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n if (input.NewerNoncurrentVersions != null) {\n const node = xml_builder_1.XmlNode\n .of(\"VersionCount\", String(input.NewerNoncurrentVersions))\n .withName(\"NewerNoncurrentVersions\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlNoncurrentVersionTransitionList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlNoncurrentVersionTransition(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlNotificationConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"NotificationConfiguration\");\n if (input.TopicConfigurations != null) {\n const nodes = serializeAws_restXmlTopicConfigurationList(input.TopicConfigurations, context);\n nodes.map((node) => {\n node = node.withName(\"TopicConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.QueueConfigurations != null) {\n const nodes = serializeAws_restXmlQueueConfigurationList(input.QueueConfigurations, context);\n nodes.map((node) => {\n node = node.withName(\"QueueConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.LambdaFunctionConfigurations != null) {\n const nodes = serializeAws_restXmlLambdaFunctionConfigurationList(input.LambdaFunctionConfigurations, context);\n nodes.map((node) => {\n node = node.withName(\"CloudFunctionConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.EventBridgeConfiguration != null) {\n const node = serializeAws_restXmlEventBridgeConfiguration(input.EventBridgeConfiguration, context).withName(\"EventBridgeConfiguration\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlNotificationConfigurationFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"NotificationConfigurationFilter\");\n if (input.Key != null) {\n const node = serializeAws_restXmlS3KeyFilter(input.Key, context).withName(\"S3Key\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectIdentifier = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectIdentifier\");\n if (input.Key != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectKey\", input.Key).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n if (input.VersionId != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectVersionId\", input.VersionId).withName(\"VersionId\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectIdentifierList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlObjectIdentifier(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlObjectLockConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectLockConfiguration\");\n if (input.ObjectLockEnabled != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectLockEnabled\", input.ObjectLockEnabled).withName(\"ObjectLockEnabled\");\n bodyNode.addChildNode(node);\n }\n if (input.Rule != null) {\n const node = serializeAws_restXmlObjectLockRule(input.Rule, context).withName(\"Rule\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectLockLegalHold = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectLockLegalHold\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectLockLegalHoldStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectLockRetention = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectLockRetention\");\n if (input.Mode != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectLockRetentionMode\", input.Mode).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n if (input.RetainUntilDate != null) {\n const node = xml_builder_1.XmlNode\n .of(\"Date\", (input.RetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString())\n .withName(\"RetainUntilDate\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectLockRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectLockRule\");\n if (input.DefaultRetention != null) {\n const node = serializeAws_restXmlDefaultRetention(input.DefaultRetention, context).withName(\"DefaultRetention\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOutputLocation = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"OutputLocation\");\n if (input.S3 != null) {\n const node = serializeAws_restXmlS3Location(input.S3, context).withName(\"S3\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOutputSerialization = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"OutputSerialization\");\n if (input.CSV != null) {\n const node = serializeAws_restXmlCSVOutput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n if (input.JSON != null) {\n const node = serializeAws_restXmlJSONOutput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOwner = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Owner\");\n if (input.DisplayName != null) {\n const node = xml_builder_1.XmlNode.of(\"DisplayName\", input.DisplayName).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOwnershipControls = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"OwnershipControls\");\n if (input.Rules != null) {\n const nodes = serializeAws_restXmlOwnershipControlsRules(input.Rules, context);\n nodes.map((node) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOwnershipControlsRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"OwnershipControlsRule\");\n if (input.ObjectOwnership != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectOwnership\", input.ObjectOwnership).withName(\"ObjectOwnership\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOwnershipControlsRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlOwnershipControlsRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlParquetInput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ParquetInput\");\n return bodyNode;\n};\nconst serializeAws_restXmlPublicAccessBlockConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"PublicAccessBlockConfiguration\");\n if (input.BlockPublicAcls != null) {\n const node = xml_builder_1.XmlNode.of(\"Setting\", String(input.BlockPublicAcls)).withName(\"BlockPublicAcls\");\n bodyNode.addChildNode(node);\n }\n if (input.IgnorePublicAcls != null) {\n const node = xml_builder_1.XmlNode.of(\"Setting\", String(input.IgnorePublicAcls)).withName(\"IgnorePublicAcls\");\n bodyNode.addChildNode(node);\n }\n if (input.BlockPublicPolicy != null) {\n const node = xml_builder_1.XmlNode.of(\"Setting\", String(input.BlockPublicPolicy)).withName(\"BlockPublicPolicy\");\n bodyNode.addChildNode(node);\n }\n if (input.RestrictPublicBuckets != null) {\n const node = xml_builder_1.XmlNode.of(\"Setting\", String(input.RestrictPublicBuckets)).withName(\"RestrictPublicBuckets\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlQueueConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"QueueConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"NotificationId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.QueueArn != null) {\n const node = xml_builder_1.XmlNode.of(\"QueueArn\", input.QueueArn).withName(\"Queue\");\n bodyNode.addChildNode(node);\n }\n if (input.Events != null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlQueueConfigurationList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlQueueConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlRedirect = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Redirect\");\n if (input.HostName != null) {\n const node = xml_builder_1.XmlNode.of(\"HostName\", input.HostName).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n if (input.HttpRedirectCode != null) {\n const node = xml_builder_1.XmlNode.of(\"HttpRedirectCode\", input.HttpRedirectCode).withName(\"HttpRedirectCode\");\n bodyNode.addChildNode(node);\n }\n if (input.Protocol != null) {\n const node = xml_builder_1.XmlNode.of(\"Protocol\", input.Protocol).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplaceKeyPrefixWith != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplaceKeyPrefixWith\", input.ReplaceKeyPrefixWith).withName(\"ReplaceKeyPrefixWith\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplaceKeyWith != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplaceKeyWith\", input.ReplaceKeyWith).withName(\"ReplaceKeyWith\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRedirectAllRequestsTo = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RedirectAllRequestsTo\");\n if (input.HostName != null) {\n const node = xml_builder_1.XmlNode.of(\"HostName\", input.HostName).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n if (input.Protocol != null) {\n const node = xml_builder_1.XmlNode.of(\"Protocol\", input.Protocol).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicaModifications = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicaModifications\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplicaModificationsStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationConfiguration\");\n if (input.Role != null) {\n const node = xml_builder_1.XmlNode.of(\"Role\", input.Role).withName(\"Role\");\n bodyNode.addChildNode(node);\n }\n if (input.Rules != null) {\n const nodes = serializeAws_restXmlReplicationRules(input.Rules, context);\n nodes.map((node) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationRule\");\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.Priority != null) {\n const node = xml_builder_1.XmlNode.of(\"Priority\", String(input.Priority)).withName(\"Priority\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplicationRuleStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.SourceSelectionCriteria != null) {\n const node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName(\"SourceSelectionCriteria\");\n bodyNode.addChildNode(node);\n }\n if (input.ExistingObjectReplication != null) {\n const node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName(\"ExistingObjectReplication\");\n bodyNode.addChildNode(node);\n }\n if (input.Destination != null) {\n const node = serializeAws_restXmlDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n if (input.DeleteMarkerReplication != null) {\n const node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName(\"DeleteMarkerReplication\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationRuleAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationRuleAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationRuleFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationRuleFilter\");\n models_0_1.ReplicationRuleFilter.visit(input, {\n Prefix: (value) => {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", value).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlReplicationRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name, value) => {\n if (!(value instanceof xml_builder_1.XmlNode || value instanceof xml_builder_1.XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new xml_builder_1.XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlReplicationRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlReplicationTime = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationTime\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplicationTimeStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Time != null) {\n const node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName(\"Time\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationTimeValue = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationTimeValue\");\n if (input.Minutes != null) {\n const node = xml_builder_1.XmlNode.of(\"Minutes\", String(input.Minutes)).withName(\"Minutes\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRequestPaymentConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RequestPaymentConfiguration\");\n if (input.Payer != null) {\n const node = xml_builder_1.XmlNode.of(\"Payer\", input.Payer).withName(\"Payer\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRequestProgress = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RequestProgress\");\n if (input.Enabled != null) {\n const node = xml_builder_1.XmlNode.of(\"EnableRequestProgress\", String(input.Enabled)).withName(\"Enabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRestoreRequest = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RestoreRequest\");\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.GlacierJobParameters != null) {\n const node = serializeAws_restXmlGlacierJobParameters(input.GlacierJobParameters, context).withName(\"GlacierJobParameters\");\n bodyNode.addChildNode(node);\n }\n if (input.Type != null) {\n const node = xml_builder_1.XmlNode.of(\"RestoreRequestType\", input.Type).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n if (input.Tier != null) {\n const node = xml_builder_1.XmlNode.of(\"Tier\", input.Tier).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n if (input.Description != null) {\n const node = xml_builder_1.XmlNode.of(\"Description\", input.Description).withName(\"Description\");\n bodyNode.addChildNode(node);\n }\n if (input.SelectParameters != null) {\n const node = serializeAws_restXmlSelectParameters(input.SelectParameters, context).withName(\"SelectParameters\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputLocation != null) {\n const node = serializeAws_restXmlOutputLocation(input.OutputLocation, context).withName(\"OutputLocation\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRoutingRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RoutingRule\");\n if (input.Condition != null) {\n const node = serializeAws_restXmlCondition(input.Condition, context).withName(\"Condition\");\n bodyNode.addChildNode(node);\n }\n if (input.Redirect != null) {\n const node = serializeAws_restXmlRedirect(input.Redirect, context).withName(\"Redirect\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRoutingRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlRoutingRule(entry, context);\n return node.withName(\"RoutingRule\");\n });\n};\nconst serializeAws_restXmlS3KeyFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"S3KeyFilter\");\n if (input.FilterRules != null) {\n const nodes = serializeAws_restXmlFilterRuleList(input.FilterRules, context);\n nodes.map((node) => {\n node = node.withName(\"FilterRule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlS3Location = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"S3Location\");\n if (input.BucketName != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketName\", input.BucketName).withName(\"BucketName\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"LocationPrefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Encryption != null) {\n const node = serializeAws_restXmlEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n if (input.CannedACL != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectCannedACL\", input.CannedACL).withName(\"CannedACL\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessControlList != null) {\n const nodes = serializeAws_restXmlGrants(input.AccessControlList, context);\n const containerNode = new xml_builder_1.XmlNode(\"AccessControlList\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Tagging != null) {\n const node = serializeAws_restXmlTagging(input.Tagging, context).withName(\"Tagging\");\n bodyNode.addChildNode(node);\n }\n if (input.UserMetadata != null) {\n const nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context);\n const containerNode = new xml_builder_1.XmlNode(\"UserMetadata\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.StorageClass != null) {\n const node = xml_builder_1.XmlNode.of(\"StorageClass\", input.StorageClass).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlScanRange = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ScanRange\");\n if (input.Start != null) {\n const node = xml_builder_1.XmlNode.of(\"Start\", String(input.Start)).withName(\"Start\");\n bodyNode.addChildNode(node);\n }\n if (input.End != null) {\n const node = xml_builder_1.XmlNode.of(\"End\", String(input.End)).withName(\"End\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlSelectParameters = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SelectParameters\");\n if (input.InputSerialization != null) {\n const node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpressionType != null) {\n const node = xml_builder_1.XmlNode.of(\"ExpressionType\", input.ExpressionType).withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.Expression != null) {\n const node = xml_builder_1.XmlNode.of(\"Expression\", input.Expression).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputSerialization != null) {\n const node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlServerSideEncryptionByDefault = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ServerSideEncryptionByDefault\");\n if (input.SSEAlgorithm != null) {\n const node = xml_builder_1.XmlNode.of(\"ServerSideEncryption\", input.SSEAlgorithm).withName(\"SSEAlgorithm\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSMasterKeyID != null) {\n const node = xml_builder_1.XmlNode.of(\"SSEKMSKeyId\", input.KMSMasterKeyID).withName(\"KMSMasterKeyID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlServerSideEncryptionConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ServerSideEncryptionConfiguration\");\n if (input.Rules != null) {\n const nodes = serializeAws_restXmlServerSideEncryptionRules(input.Rules, context);\n nodes.map((node) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlServerSideEncryptionRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ServerSideEncryptionRule\");\n if (input.ApplyServerSideEncryptionByDefault != null) {\n const node = serializeAws_restXmlServerSideEncryptionByDefault(input.ApplyServerSideEncryptionByDefault, context).withName(\"ApplyServerSideEncryptionByDefault\");\n bodyNode.addChildNode(node);\n }\n if (input.BucketKeyEnabled != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketKeyEnabled\", String(input.BucketKeyEnabled)).withName(\"BucketKeyEnabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlServerSideEncryptionRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlServerSideEncryptionRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlSourceSelectionCriteria = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SourceSelectionCriteria\");\n if (input.SseKmsEncryptedObjects != null) {\n const node = serializeAws_restXmlSseKmsEncryptedObjects(input.SseKmsEncryptedObjects, context).withName(\"SseKmsEncryptedObjects\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplicaModifications != null) {\n const node = serializeAws_restXmlReplicaModifications(input.ReplicaModifications, context).withName(\"ReplicaModifications\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlSSEKMS = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SSE-KMS\");\n if (input.KeyId != null) {\n const node = xml_builder_1.XmlNode.of(\"SSEKMSKeyId\", input.KeyId).withName(\"KeyId\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlSseKmsEncryptedObjects = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SseKmsEncryptedObjects\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"SseKmsEncryptedObjectsStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlSSES3 = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SSE-S3\");\n return bodyNode;\n};\nconst serializeAws_restXmlStorageClassAnalysis = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"StorageClassAnalysis\");\n if (input.DataExport != null) {\n const node = serializeAws_restXmlStorageClassAnalysisDataExport(input.DataExport, context).withName(\"DataExport\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlStorageClassAnalysisDataExport = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"StorageClassAnalysisDataExport\");\n if (input.OutputSchemaVersion != null) {\n const node = xml_builder_1.XmlNode\n .of(\"StorageClassAnalysisSchemaVersion\", input.OutputSchemaVersion)\n .withName(\"OutputSchemaVersion\");\n bodyNode.addChildNode(node);\n }\n if (input.Destination != null) {\n const node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTag = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Tag\");\n if (input.Key != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectKey\", input.Key).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n if (input.Value != null) {\n const node = xml_builder_1.XmlNode.of(\"Value\", input.Value).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTagging = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Tagging\");\n if (input.TagSet != null) {\n const nodes = serializeAws_restXmlTagSet(input.TagSet, context);\n const containerNode = new xml_builder_1.XmlNode(\"TagSet\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTagSet = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTag(entry, context);\n return node.withName(\"Tag\");\n });\n};\nconst serializeAws_restXmlTargetGrant = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"TargetGrant\");\n if (input.Grantee != null) {\n const node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n node.addAttribute(\"xmlns:xsi\", \"http://www.w3.org/2001/XMLSchema-instance\");\n bodyNode.addChildNode(node);\n }\n if (input.Permission != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketLogsPermission\", input.Permission).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTargetGrants = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTargetGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\nconst serializeAws_restXmlTiering = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Tiering\");\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"IntelligentTieringDays\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessTier != null) {\n const node = xml_builder_1.XmlNode.of(\"IntelligentTieringAccessTier\", input.AccessTier).withName(\"AccessTier\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTieringList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTiering(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlTopicConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"TopicConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"NotificationId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.TopicArn != null) {\n const node = xml_builder_1.XmlNode.of(\"TopicArn\", input.TopicArn).withName(\"Topic\");\n bodyNode.addChildNode(node);\n }\n if (input.Events != null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTopicConfigurationList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTopicConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlTransition = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Transition\");\n if (input.Date != null) {\n const node = xml_builder_1.XmlNode.of(\"Date\", (input.Date.toISOString().split(\".\")[0] + \"Z\").toString()).withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass != null) {\n const node = xml_builder_1.XmlNode.of(\"TransitionStorageClass\", input.StorageClass).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTransitionList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTransition(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlUserMetadata = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlMetadataEntry(entry, context);\n return node.withName(\"MetadataEntry\");\n });\n};\nconst serializeAws_restXmlVersioningConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"VersioningConfiguration\");\n if (input.MFADelete != null) {\n const node = xml_builder_1.XmlNode.of(\"MFADelete\", input.MFADelete).withName(\"MfaDelete\");\n bodyNode.addChildNode(node);\n }\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketVersioningStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlWebsiteConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"WebsiteConfiguration\");\n if (input.ErrorDocument != null) {\n const node = serializeAws_restXmlErrorDocument(input.ErrorDocument, context).withName(\"ErrorDocument\");\n bodyNode.addChildNode(node);\n }\n if (input.IndexDocument != null) {\n const node = serializeAws_restXmlIndexDocument(input.IndexDocument, context).withName(\"IndexDocument\");\n bodyNode.addChildNode(node);\n }\n if (input.RedirectAllRequestsTo != null) {\n const node = serializeAws_restXmlRedirectAllRequestsTo(input.RedirectAllRequestsTo, context).withName(\"RedirectAllRequestsTo\");\n bodyNode.addChildNode(node);\n }\n if (input.RoutingRules != null) {\n const nodes = serializeAws_restXmlRoutingRules(input.RoutingRules, context);\n const containerNode = new xml_builder_1.XmlNode(\"RoutingRules\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n return bodyNode;\n};\nconst deserializeAws_restXmlAbortIncompleteMultipartUpload = (output, context) => {\n const contents = {\n DaysAfterInitiation: undefined,\n };\n if (output[\"DaysAfterInitiation\"] !== undefined) {\n contents.DaysAfterInitiation = (0, smithy_client_1.strictParseInt32)(output[\"DaysAfterInitiation\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlAccessControlTranslation = (output, context) => {\n const contents = {\n Owner: undefined,\n };\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = (0, smithy_client_1.expectString)(output[\"Owner\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlAllowedHeaders = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlAllowedMethods = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlAllowedOrigins = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlAnalyticsAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlAnalyticsConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n Filter: undefined,\n StorageClassAnalysis: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output.Filter === \"\") {\n }\n else if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlAnalyticsFilter((0, smithy_client_1.expectUnion)(output[\"Filter\"]), context);\n }\n if (output[\"StorageClassAnalysis\"] !== undefined) {\n contents.StorageClassAnalysis = deserializeAws_restXmlStorageClassAnalysis(output[\"StorageClassAnalysis\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlAnalyticsConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlAnalyticsConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlAnalyticsExportDestination = (output, context) => {\n const contents = {\n S3BucketDestination: undefined,\n };\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlAnalyticsS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlAnalyticsFilter = (output, context) => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: (0, smithy_client_1.expectString)(output[\"Prefix\"]),\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlAnalyticsAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst deserializeAws_restXmlAnalyticsS3BucketDestination = (output, context) => {\n const contents = {\n Format: undefined,\n BucketAccountId: undefined,\n Bucket: undefined,\n Prefix: undefined,\n };\n if (output[\"Format\"] !== undefined) {\n contents.Format = (0, smithy_client_1.expectString)(output[\"Format\"]);\n }\n if (output[\"BucketAccountId\"] !== undefined) {\n contents.BucketAccountId = (0, smithy_client_1.expectString)(output[\"BucketAccountId\"]);\n }\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(output[\"Bucket\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlBucket = (output, context) => {\n const contents = {\n Name: undefined,\n CreationDate: undefined,\n };\n if (output[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(output[\"Name\"]);\n }\n if (output[\"CreationDate\"] !== undefined) {\n contents.CreationDate = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"CreationDate\"]));\n }\n return contents;\n};\nconst deserializeAws_restXmlBuckets = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlBucket(entry, context);\n });\n};\nconst deserializeAws_restXmlChecksum = (output, context) => {\n const contents = {\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlChecksumAlgorithmList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlCommonPrefix = (output, context) => {\n const contents = {\n Prefix: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlCommonPrefixList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlCommonPrefix(entry, context);\n });\n};\nconst deserializeAws_restXmlCondition = (output, context) => {\n const contents = {\n HttpErrorCodeReturnedEquals: undefined,\n KeyPrefixEquals: undefined,\n };\n if (output[\"HttpErrorCodeReturnedEquals\"] !== undefined) {\n contents.HttpErrorCodeReturnedEquals = (0, smithy_client_1.expectString)(output[\"HttpErrorCodeReturnedEquals\"]);\n }\n if (output[\"KeyPrefixEquals\"] !== undefined) {\n contents.KeyPrefixEquals = (0, smithy_client_1.expectString)(output[\"KeyPrefixEquals\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlContinuationEvent = (output, context) => {\n const contents = {};\n return contents;\n};\nconst deserializeAws_restXmlCopyObjectResult = (output, context) => {\n const contents = {\n ETag: undefined,\n LastModified: undefined,\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlCopyPartResult = (output, context) => {\n const contents = {\n ETag: undefined,\n LastModified: undefined,\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlCORSRule = (output, context) => {\n const contents = {\n ID: undefined,\n AllowedHeaders: undefined,\n AllowedMethods: undefined,\n AllowedOrigins: undefined,\n ExposeHeaders: undefined,\n MaxAgeSeconds: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output.AllowedHeader === \"\") {\n contents.AllowedHeaders = [];\n }\n else if (output[\"AllowedHeader\"] !== undefined) {\n contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders((0, smithy_client_1.getArrayIfSingleItem)(output[\"AllowedHeader\"]), context);\n }\n if (output.AllowedMethod === \"\") {\n contents.AllowedMethods = [];\n }\n else if (output[\"AllowedMethod\"] !== undefined) {\n contents.AllowedMethods = deserializeAws_restXmlAllowedMethods((0, smithy_client_1.getArrayIfSingleItem)(output[\"AllowedMethod\"]), context);\n }\n if (output.AllowedOrigin === \"\") {\n contents.AllowedOrigins = [];\n }\n else if (output[\"AllowedOrigin\"] !== undefined) {\n contents.AllowedOrigins = deserializeAws_restXmlAllowedOrigins((0, smithy_client_1.getArrayIfSingleItem)(output[\"AllowedOrigin\"]), context);\n }\n if (output.ExposeHeader === \"\") {\n contents.ExposeHeaders = [];\n }\n else if (output[\"ExposeHeader\"] !== undefined) {\n contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders((0, smithy_client_1.getArrayIfSingleItem)(output[\"ExposeHeader\"]), context);\n }\n if (output[\"MaxAgeSeconds\"] !== undefined) {\n contents.MaxAgeSeconds = (0, smithy_client_1.strictParseInt32)(output[\"MaxAgeSeconds\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlCORSRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlCORSRule(entry, context);\n });\n};\nconst deserializeAws_restXmlDefaultRetention = (output, context) => {\n const contents = {\n Mode: undefined,\n Days: undefined,\n Years: undefined,\n };\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = (0, smithy_client_1.expectString)(output[\"Mode\"]);\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = (0, smithy_client_1.strictParseInt32)(output[\"Days\"]);\n }\n if (output[\"Years\"] !== undefined) {\n contents.Years = (0, smithy_client_1.strictParseInt32)(output[\"Years\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlDeletedObject = (output, context) => {\n const contents = {\n Key: undefined,\n VersionId: undefined,\n DeleteMarker: undefined,\n DeleteMarkerVersionId: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = (0, smithy_client_1.expectString)(output[\"VersionId\"]);\n }\n if (output[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarker = (0, smithy_client_1.parseBoolean)(output[\"DeleteMarker\"]);\n }\n if (output[\"DeleteMarkerVersionId\"] !== undefined) {\n contents.DeleteMarkerVersionId = (0, smithy_client_1.expectString)(output[\"DeleteMarkerVersionId\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlDeletedObjects = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlDeletedObject(entry, context);\n });\n};\nconst deserializeAws_restXmlDeleteMarkerEntry = (output, context) => {\n const contents = {\n Owner: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n };\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = (0, smithy_client_1.expectString)(output[\"VersionId\"]);\n }\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = (0, smithy_client_1.parseBoolean)(output[\"IsLatest\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n return contents;\n};\nconst deserializeAws_restXmlDeleteMarkerReplication = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlDeleteMarkers = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlDeleteMarkerEntry(entry, context);\n });\n};\nconst deserializeAws_restXmlDestination = (output, context) => {\n const contents = {\n Bucket: undefined,\n Account: undefined,\n StorageClass: undefined,\n AccessControlTranslation: undefined,\n EncryptionConfiguration: undefined,\n ReplicationTime: undefined,\n Metrics: undefined,\n };\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(output[\"Bucket\"]);\n }\n if (output[\"Account\"] !== undefined) {\n contents.Account = (0, smithy_client_1.expectString)(output[\"Account\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"AccessControlTranslation\"] !== undefined) {\n contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(output[\"AccessControlTranslation\"], context);\n }\n if (output[\"EncryptionConfiguration\"] !== undefined) {\n contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(output[\"EncryptionConfiguration\"], context);\n }\n if (output[\"ReplicationTime\"] !== undefined) {\n contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output[\"ReplicationTime\"], context);\n }\n if (output[\"Metrics\"] !== undefined) {\n contents.Metrics = deserializeAws_restXmlMetrics(output[\"Metrics\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlEncryptionConfiguration = (output, context) => {\n const contents = {\n ReplicaKmsKeyID: undefined,\n };\n if (output[\"ReplicaKmsKeyID\"] !== undefined) {\n contents.ReplicaKmsKeyID = (0, smithy_client_1.expectString)(output[\"ReplicaKmsKeyID\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlEndEvent = (output, context) => {\n const contents = {};\n return contents;\n};\nconst deserializeAws_restXml_Error = (output, context) => {\n const contents = {\n Key: undefined,\n VersionId: undefined,\n Code: undefined,\n Message: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = (0, smithy_client_1.expectString)(output[\"VersionId\"]);\n }\n if (output[\"Code\"] !== undefined) {\n contents.Code = (0, smithy_client_1.expectString)(output[\"Code\"]);\n }\n if (output[\"Message\"] !== undefined) {\n contents.Message = (0, smithy_client_1.expectString)(output[\"Message\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlErrorDocument = (output, context) => {\n const contents = {\n Key: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlErrors = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXml_Error(entry, context);\n });\n};\nconst deserializeAws_restXmlEventBridgeConfiguration = (output, context) => {\n const contents = {};\n return contents;\n};\nconst deserializeAws_restXmlEventList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlExistingObjectReplication = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlExposeHeaders = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlFilterRule = (output, context) => {\n const contents = {\n Name: undefined,\n Value: undefined,\n };\n if (output[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(output[\"Name\"]);\n }\n if (output[\"Value\"] !== undefined) {\n contents.Value = (0, smithy_client_1.expectString)(output[\"Value\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlFilterRuleList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlFilterRule(entry, context);\n });\n};\nconst deserializeAws_restXmlGetObjectAttributesParts = (output, context) => {\n const contents = {\n TotalPartsCount: undefined,\n PartNumberMarker: undefined,\n NextPartNumberMarker: undefined,\n MaxParts: undefined,\n IsTruncated: undefined,\n Parts: undefined,\n };\n if (output[\"PartsCount\"] !== undefined) {\n contents.TotalPartsCount = (0, smithy_client_1.strictParseInt32)(output[\"PartsCount\"]);\n }\n if (output[\"PartNumberMarker\"] !== undefined) {\n contents.PartNumberMarker = (0, smithy_client_1.expectString)(output[\"PartNumberMarker\"]);\n }\n if (output[\"NextPartNumberMarker\"] !== undefined) {\n contents.NextPartNumberMarker = (0, smithy_client_1.expectString)(output[\"NextPartNumberMarker\"]);\n }\n if (output[\"MaxParts\"] !== undefined) {\n contents.MaxParts = (0, smithy_client_1.strictParseInt32)(output[\"MaxParts\"]);\n }\n if (output[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(output[\"IsTruncated\"]);\n }\n if (output.Part === \"\") {\n contents.Parts = [];\n }\n else if (output[\"Part\"] !== undefined) {\n contents.Parts = deserializeAws_restXmlPartsList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Part\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlGrant = (output, context) => {\n const contents = {\n Grantee: undefined,\n Permission: undefined,\n };\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = (0, smithy_client_1.expectString)(output[\"Permission\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlGrantee = (output, context) => {\n const contents = {\n DisplayName: undefined,\n EmailAddress: undefined,\n ID: undefined,\n URI: undefined,\n Type: undefined,\n };\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = (0, smithy_client_1.expectString)(output[\"DisplayName\"]);\n }\n if (output[\"EmailAddress\"] !== undefined) {\n contents.EmailAddress = (0, smithy_client_1.expectString)(output[\"EmailAddress\"]);\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output[\"URI\"] !== undefined) {\n contents.URI = (0, smithy_client_1.expectString)(output[\"URI\"]);\n }\n if (output[\"xsi:type\"] !== undefined) {\n contents.Type = (0, smithy_client_1.expectString)(output[\"xsi:type\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlGrants = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlGrant(entry, context);\n });\n};\nconst deserializeAws_restXmlIndexDocument = (output, context) => {\n const contents = {\n Suffix: undefined,\n };\n if (output[\"Suffix\"] !== undefined) {\n contents.Suffix = (0, smithy_client_1.expectString)(output[\"Suffix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlInitiator = (output, context) => {\n const contents = {\n ID: undefined,\n DisplayName: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = (0, smithy_client_1.expectString)(output[\"DisplayName\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlIntelligentTieringAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlIntelligentTieringConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n Filter: undefined,\n Status: undefined,\n Tierings: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlIntelligentTieringFilter(output[\"Filter\"], context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output.Tiering === \"\") {\n contents.Tierings = [];\n }\n else if (output[\"Tiering\"] !== undefined) {\n contents.Tierings = deserializeAws_restXmlTieringList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tiering\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlIntelligentTieringConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlIntelligentTieringConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlIntelligentTieringFilter = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tag: undefined,\n And: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlIntelligentTieringAndOperator(output[\"And\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryConfiguration = (output, context) => {\n const contents = {\n Destination: undefined,\n IsEnabled: undefined,\n Filter: undefined,\n Id: undefined,\n IncludedObjectVersions: undefined,\n OptionalFields: undefined,\n Schedule: undefined,\n };\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlInventoryDestination(output[\"Destination\"], context);\n }\n if (output[\"IsEnabled\"] !== undefined) {\n contents.IsEnabled = (0, smithy_client_1.parseBoolean)(output[\"IsEnabled\"]);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlInventoryFilter(output[\"Filter\"], context);\n }\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"IncludedObjectVersions\"] !== undefined) {\n contents.IncludedObjectVersions = (0, smithy_client_1.expectString)(output[\"IncludedObjectVersions\"]);\n }\n if (output.OptionalFields === \"\") {\n contents.OptionalFields = [];\n }\n else if (output[\"OptionalFields\"] !== undefined && output[\"OptionalFields\"][\"Field\"] !== undefined) {\n contents.OptionalFields = deserializeAws_restXmlInventoryOptionalFields((0, smithy_client_1.getArrayIfSingleItem)(output[\"OptionalFields\"][\"Field\"]), context);\n }\n if (output[\"Schedule\"] !== undefined) {\n contents.Schedule = deserializeAws_restXmlInventorySchedule(output[\"Schedule\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlInventoryConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlInventoryDestination = (output, context) => {\n const contents = {\n S3BucketDestination: undefined,\n };\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlInventoryS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryEncryption = (output, context) => {\n const contents = {\n SSES3: undefined,\n SSEKMS: undefined,\n };\n if (output[\"SSE-S3\"] !== undefined) {\n contents.SSES3 = deserializeAws_restXmlSSES3(output[\"SSE-S3\"], context);\n }\n if (output[\"SSE-KMS\"] !== undefined) {\n contents.SSEKMS = deserializeAws_restXmlSSEKMS(output[\"SSE-KMS\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryFilter = (output, context) => {\n const contents = {\n Prefix: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryOptionalFields = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlInventoryS3BucketDestination = (output, context) => {\n const contents = {\n AccountId: undefined,\n Bucket: undefined,\n Format: undefined,\n Prefix: undefined,\n Encryption: undefined,\n };\n if (output[\"AccountId\"] !== undefined) {\n contents.AccountId = (0, smithy_client_1.expectString)(output[\"AccountId\"]);\n }\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(output[\"Bucket\"]);\n }\n if (output[\"Format\"] !== undefined) {\n contents.Format = (0, smithy_client_1.expectString)(output[\"Format\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output[\"Encryption\"] !== undefined) {\n contents.Encryption = deserializeAws_restXmlInventoryEncryption(output[\"Encryption\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventorySchedule = (output, context) => {\n const contents = {\n Frequency: undefined,\n };\n if (output[\"Frequency\"] !== undefined) {\n contents.Frequency = (0, smithy_client_1.expectString)(output[\"Frequency\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlLambdaFunctionConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n LambdaFunctionArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"CloudFunction\"] !== undefined) {\n contents.LambdaFunctionArn = (0, smithy_client_1.expectString)(output[\"CloudFunction\"]);\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n else if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlLambdaFunctionConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlLifecycleExpiration = (output, context) => {\n const contents = {\n Date: undefined,\n Days: undefined,\n ExpiredObjectDeleteMarker: undefined,\n };\n if (output[\"Date\"] !== undefined) {\n contents.Date = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"Date\"]));\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = (0, smithy_client_1.strictParseInt32)(output[\"Days\"]);\n }\n if (output[\"ExpiredObjectDeleteMarker\"] !== undefined) {\n contents.ExpiredObjectDeleteMarker = (0, smithy_client_1.parseBoolean)(output[\"ExpiredObjectDeleteMarker\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlLifecycleRule = (output, context) => {\n const contents = {\n Expiration: undefined,\n ID: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n Transitions: undefined,\n NoncurrentVersionTransitions: undefined,\n NoncurrentVersionExpiration: undefined,\n AbortIncompleteMultipartUpload: undefined,\n };\n if (output[\"Expiration\"] !== undefined) {\n contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output[\"Expiration\"], context);\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Filter === \"\") {\n }\n else if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlLifecycleRuleFilter((0, smithy_client_1.expectUnion)(output[\"Filter\"]), context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output.Transition === \"\") {\n contents.Transitions = [];\n }\n else if (output[\"Transition\"] !== undefined) {\n contents.Transitions = deserializeAws_restXmlTransitionList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Transition\"]), context);\n }\n if (output.NoncurrentVersionTransition === \"\") {\n contents.NoncurrentVersionTransitions = [];\n }\n else if (output[\"NoncurrentVersionTransition\"] !== undefined) {\n contents.NoncurrentVersionTransitions = deserializeAws_restXmlNoncurrentVersionTransitionList((0, smithy_client_1.getArrayIfSingleItem)(output[\"NoncurrentVersionTransition\"]), context);\n }\n if (output[\"NoncurrentVersionExpiration\"] !== undefined) {\n contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration(output[\"NoncurrentVersionExpiration\"], context);\n }\n if (output[\"AbortIncompleteMultipartUpload\"] !== undefined) {\n contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload(output[\"AbortIncompleteMultipartUpload\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlLifecycleRuleAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n ObjectSizeGreaterThan: undefined,\n ObjectSizeLessThan: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n if (output[\"ObjectSizeGreaterThan\"] !== undefined) {\n contents.ObjectSizeGreaterThan = (0, smithy_client_1.strictParseLong)(output[\"ObjectSizeGreaterThan\"]);\n }\n if (output[\"ObjectSizeLessThan\"] !== undefined) {\n contents.ObjectSizeLessThan = (0, smithy_client_1.strictParseLong)(output[\"ObjectSizeLessThan\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlLifecycleRuleFilter = (output, context) => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: (0, smithy_client_1.expectString)(output[\"Prefix\"]),\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"ObjectSizeGreaterThan\"] !== undefined) {\n return {\n ObjectSizeGreaterThan: (0, smithy_client_1.strictParseLong)(output[\"ObjectSizeGreaterThan\"]),\n };\n }\n if (output[\"ObjectSizeLessThan\"] !== undefined) {\n return {\n ObjectSizeLessThan: (0, smithy_client_1.strictParseLong)(output[\"ObjectSizeLessThan\"]),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlLifecycleRuleAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst deserializeAws_restXmlLifecycleRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlLifecycleRule(entry, context);\n });\n};\nconst deserializeAws_restXmlLoggingEnabled = (output, context) => {\n const contents = {\n TargetBucket: undefined,\n TargetGrants: undefined,\n TargetPrefix: undefined,\n };\n if (output[\"TargetBucket\"] !== undefined) {\n contents.TargetBucket = (0, smithy_client_1.expectString)(output[\"TargetBucket\"]);\n }\n if (output.TargetGrants === \"\") {\n contents.TargetGrants = [];\n }\n else if (output[\"TargetGrants\"] !== undefined && output[\"TargetGrants\"][\"Grant\"] !== undefined) {\n contents.TargetGrants = deserializeAws_restXmlTargetGrants((0, smithy_client_1.getArrayIfSingleItem)(output[\"TargetGrants\"][\"Grant\"]), context);\n }\n if (output[\"TargetPrefix\"] !== undefined) {\n contents.TargetPrefix = (0, smithy_client_1.expectString)(output[\"TargetPrefix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlMetrics = (output, context) => {\n const contents = {\n Status: undefined,\n EventThreshold: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output[\"EventThreshold\"] !== undefined) {\n contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output[\"EventThreshold\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlMetricsAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n AccessPointArn: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n if (output[\"AccessPointArn\"] !== undefined) {\n contents.AccessPointArn = (0, smithy_client_1.expectString)(output[\"AccessPointArn\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlMetricsConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output.Filter === \"\") {\n }\n else if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlMetricsFilter((0, smithy_client_1.expectUnion)(output[\"Filter\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlMetricsConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlMetricsConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlMetricsFilter = (output, context) => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: (0, smithy_client_1.expectString)(output[\"Prefix\"]),\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"AccessPointArn\"] !== undefined) {\n return {\n AccessPointArn: (0, smithy_client_1.expectString)(output[\"AccessPointArn\"]),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlMetricsAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst deserializeAws_restXmlMultipartUpload = (output, context) => {\n const contents = {\n UploadId: undefined,\n Key: undefined,\n Initiated: undefined,\n StorageClass: undefined,\n Owner: undefined,\n Initiator: undefined,\n ChecksumAlgorithm: undefined,\n };\n if (output[\"UploadId\"] !== undefined) {\n contents.UploadId = (0, smithy_client_1.expectString)(output[\"UploadId\"]);\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"Initiated\"] !== undefined) {\n contents.Initiated = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"Initiated\"]));\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n if (output[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(output[\"Initiator\"], context);\n }\n if (output[\"ChecksumAlgorithm\"] !== undefined) {\n contents.ChecksumAlgorithm = (0, smithy_client_1.expectString)(output[\"ChecksumAlgorithm\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlMultipartUploadList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlMultipartUpload(entry, context);\n });\n};\nconst deserializeAws_restXmlNoncurrentVersionExpiration = (output, context) => {\n const contents = {\n NoncurrentDays: undefined,\n NewerNoncurrentVersions: undefined,\n };\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = (0, smithy_client_1.strictParseInt32)(output[\"NoncurrentDays\"]);\n }\n if (output[\"NewerNoncurrentVersions\"] !== undefined) {\n contents.NewerNoncurrentVersions = (0, smithy_client_1.strictParseInt32)(output[\"NewerNoncurrentVersions\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlNoncurrentVersionTransition = (output, context) => {\n const contents = {\n NoncurrentDays: undefined,\n StorageClass: undefined,\n NewerNoncurrentVersions: undefined,\n };\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = (0, smithy_client_1.strictParseInt32)(output[\"NoncurrentDays\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"NewerNoncurrentVersions\"] !== undefined) {\n contents.NewerNoncurrentVersions = (0, smithy_client_1.strictParseInt32)(output[\"NewerNoncurrentVersions\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlNoncurrentVersionTransitionList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlNoncurrentVersionTransition(entry, context);\n });\n};\nconst deserializeAws_restXmlNotificationConfigurationFilter = (output, context) => {\n const contents = {\n Key: undefined,\n };\n if (output[\"S3Key\"] !== undefined) {\n contents.Key = deserializeAws_restXmlS3KeyFilter(output[\"S3Key\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXml_Object = (output, context) => {\n const contents = {\n Key: undefined,\n LastModified: undefined,\n ETag: undefined,\n ChecksumAlgorithm: undefined,\n Size: undefined,\n StorageClass: undefined,\n Owner: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output.ChecksumAlgorithm === \"\") {\n contents.ChecksumAlgorithm = [];\n }\n else if (output[\"ChecksumAlgorithm\"] !== undefined) {\n contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList((0, smithy_client_1.getArrayIfSingleItem)(output[\"ChecksumAlgorithm\"]), context);\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = (0, smithy_client_1.strictParseLong)(output[\"Size\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXml_Object(entry, context);\n });\n};\nconst deserializeAws_restXmlObjectLockConfiguration = (output, context) => {\n const contents = {\n ObjectLockEnabled: undefined,\n Rule: undefined,\n };\n if (output[\"ObjectLockEnabled\"] !== undefined) {\n contents.ObjectLockEnabled = (0, smithy_client_1.expectString)(output[\"ObjectLockEnabled\"]);\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rule = deserializeAws_restXmlObjectLockRule(output[\"Rule\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectLockLegalHold = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectLockRetention = (output, context) => {\n const contents = {\n Mode: undefined,\n RetainUntilDate: undefined,\n };\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = (0, smithy_client_1.expectString)(output[\"Mode\"]);\n }\n if (output[\"RetainUntilDate\"] !== undefined) {\n contents.RetainUntilDate = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"RetainUntilDate\"]));\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectLockRule = (output, context) => {\n const contents = {\n DefaultRetention: undefined,\n };\n if (output[\"DefaultRetention\"] !== undefined) {\n contents.DefaultRetention = deserializeAws_restXmlDefaultRetention(output[\"DefaultRetention\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectPart = (output, context) => {\n const contents = {\n PartNumber: undefined,\n Size: undefined,\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"PartNumber\"] !== undefined) {\n contents.PartNumber = (0, smithy_client_1.strictParseInt32)(output[\"PartNumber\"]);\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = (0, smithy_client_1.strictParseLong)(output[\"Size\"]);\n }\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectVersion = (output, context) => {\n const contents = {\n ETag: undefined,\n ChecksumAlgorithm: undefined,\n Size: undefined,\n StorageClass: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n Owner: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output.ChecksumAlgorithm === \"\") {\n contents.ChecksumAlgorithm = [];\n }\n else if (output[\"ChecksumAlgorithm\"] !== undefined) {\n contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList((0, smithy_client_1.getArrayIfSingleItem)(output[\"ChecksumAlgorithm\"]), context);\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = (0, smithy_client_1.strictParseLong)(output[\"Size\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = (0, smithy_client_1.expectString)(output[\"VersionId\"]);\n }\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = (0, smithy_client_1.parseBoolean)(output[\"IsLatest\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectVersionList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlObjectVersion(entry, context);\n });\n};\nconst deserializeAws_restXmlOwner = (output, context) => {\n const contents = {\n DisplayName: undefined,\n ID: undefined,\n };\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = (0, smithy_client_1.expectString)(output[\"DisplayName\"]);\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlOwnershipControls = (output, context) => {\n const contents = {\n Rules: undefined,\n };\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n else if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlOwnershipControlsRules((0, smithy_client_1.getArrayIfSingleItem)(output[\"Rule\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlOwnershipControlsRule = (output, context) => {\n const contents = {\n ObjectOwnership: undefined,\n };\n if (output[\"ObjectOwnership\"] !== undefined) {\n contents.ObjectOwnership = (0, smithy_client_1.expectString)(output[\"ObjectOwnership\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlOwnershipControlsRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlOwnershipControlsRule(entry, context);\n });\n};\nconst deserializeAws_restXmlPart = (output, context) => {\n const contents = {\n PartNumber: undefined,\n LastModified: undefined,\n ETag: undefined,\n Size: undefined,\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"PartNumber\"] !== undefined) {\n contents.PartNumber = (0, smithy_client_1.strictParseInt32)(output[\"PartNumber\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = (0, smithy_client_1.strictParseLong)(output[\"Size\"]);\n }\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlParts = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlPart(entry, context);\n });\n};\nconst deserializeAws_restXmlPartsList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlObjectPart(entry, context);\n });\n};\nconst deserializeAws_restXmlPolicyStatus = (output, context) => {\n const contents = {\n IsPublic: undefined,\n };\n if (output[\"IsPublic\"] !== undefined) {\n contents.IsPublic = (0, smithy_client_1.parseBoolean)(output[\"IsPublic\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlProgress = (output, context) => {\n const contents = {\n BytesScanned: undefined,\n BytesProcessed: undefined,\n BytesReturned: undefined,\n };\n if (output[\"BytesScanned\"] !== undefined) {\n contents.BytesScanned = (0, smithy_client_1.strictParseLong)(output[\"BytesScanned\"]);\n }\n if (output[\"BytesProcessed\"] !== undefined) {\n contents.BytesProcessed = (0, smithy_client_1.strictParseLong)(output[\"BytesProcessed\"]);\n }\n if (output[\"BytesReturned\"] !== undefined) {\n contents.BytesReturned = (0, smithy_client_1.strictParseLong)(output[\"BytesReturned\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlPublicAccessBlockConfiguration = (output, context) => {\n const contents = {\n BlockPublicAcls: undefined,\n IgnorePublicAcls: undefined,\n BlockPublicPolicy: undefined,\n RestrictPublicBuckets: undefined,\n };\n if (output[\"BlockPublicAcls\"] !== undefined) {\n contents.BlockPublicAcls = (0, smithy_client_1.parseBoolean)(output[\"BlockPublicAcls\"]);\n }\n if (output[\"IgnorePublicAcls\"] !== undefined) {\n contents.IgnorePublicAcls = (0, smithy_client_1.parseBoolean)(output[\"IgnorePublicAcls\"]);\n }\n if (output[\"BlockPublicPolicy\"] !== undefined) {\n contents.BlockPublicPolicy = (0, smithy_client_1.parseBoolean)(output[\"BlockPublicPolicy\"]);\n }\n if (output[\"RestrictPublicBuckets\"] !== undefined) {\n contents.RestrictPublicBuckets = (0, smithy_client_1.parseBoolean)(output[\"RestrictPublicBuckets\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlQueueConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n QueueArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"Queue\"] !== undefined) {\n contents.QueueArn = (0, smithy_client_1.expectString)(output[\"Queue\"]);\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n else if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlQueueConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlQueueConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlRedirect = (output, context) => {\n const contents = {\n HostName: undefined,\n HttpRedirectCode: undefined,\n Protocol: undefined,\n ReplaceKeyPrefixWith: undefined,\n ReplaceKeyWith: undefined,\n };\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = (0, smithy_client_1.expectString)(output[\"HostName\"]);\n }\n if (output[\"HttpRedirectCode\"] !== undefined) {\n contents.HttpRedirectCode = (0, smithy_client_1.expectString)(output[\"HttpRedirectCode\"]);\n }\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = (0, smithy_client_1.expectString)(output[\"Protocol\"]);\n }\n if (output[\"ReplaceKeyPrefixWith\"] !== undefined) {\n contents.ReplaceKeyPrefixWith = (0, smithy_client_1.expectString)(output[\"ReplaceKeyPrefixWith\"]);\n }\n if (output[\"ReplaceKeyWith\"] !== undefined) {\n contents.ReplaceKeyWith = (0, smithy_client_1.expectString)(output[\"ReplaceKeyWith\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlRedirectAllRequestsTo = (output, context) => {\n const contents = {\n HostName: undefined,\n Protocol: undefined,\n };\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = (0, smithy_client_1.expectString)(output[\"HostName\"]);\n }\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = (0, smithy_client_1.expectString)(output[\"Protocol\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicaModifications = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationConfiguration = (output, context) => {\n const contents = {\n Role: undefined,\n Rules: undefined,\n };\n if (output[\"Role\"] !== undefined) {\n contents.Role = (0, smithy_client_1.expectString)(output[\"Role\"]);\n }\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n else if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlReplicationRules((0, smithy_client_1.getArrayIfSingleItem)(output[\"Rule\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationRule = (output, context) => {\n const contents = {\n ID: undefined,\n Priority: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n SourceSelectionCriteria: undefined,\n ExistingObjectReplication: undefined,\n Destination: undefined,\n DeleteMarkerReplication: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output[\"Priority\"] !== undefined) {\n contents.Priority = (0, smithy_client_1.strictParseInt32)(output[\"Priority\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Filter === \"\") {\n }\n else if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlReplicationRuleFilter((0, smithy_client_1.expectUnion)(output[\"Filter\"]), context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output[\"SourceSelectionCriteria\"] !== undefined) {\n contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(output[\"SourceSelectionCriteria\"], context);\n }\n if (output[\"ExistingObjectReplication\"] !== undefined) {\n contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(output[\"ExistingObjectReplication\"], context);\n }\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlDestination(output[\"Destination\"], context);\n }\n if (output[\"DeleteMarkerReplication\"] !== undefined) {\n contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(output[\"DeleteMarkerReplication\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationRuleAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationRuleFilter = (output, context) => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: (0, smithy_client_1.expectString)(output[\"Prefix\"]),\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlReplicationRuleAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst deserializeAws_restXmlReplicationRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlReplicationRule(entry, context);\n });\n};\nconst deserializeAws_restXmlReplicationTime = (output, context) => {\n const contents = {\n Status: undefined,\n Time: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output[\"Time\"] !== undefined) {\n contents.Time = deserializeAws_restXmlReplicationTimeValue(output[\"Time\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationTimeValue = (output, context) => {\n const contents = {\n Minutes: undefined,\n };\n if (output[\"Minutes\"] !== undefined) {\n contents.Minutes = (0, smithy_client_1.strictParseInt32)(output[\"Minutes\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlRoutingRule = (output, context) => {\n const contents = {\n Condition: undefined,\n Redirect: undefined,\n };\n if (output[\"Condition\"] !== undefined) {\n contents.Condition = deserializeAws_restXmlCondition(output[\"Condition\"], context);\n }\n if (output[\"Redirect\"] !== undefined) {\n contents.Redirect = deserializeAws_restXmlRedirect(output[\"Redirect\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlRoutingRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlRoutingRule(entry, context);\n });\n};\nconst deserializeAws_restXmlS3KeyFilter = (output, context) => {\n const contents = {\n FilterRules: undefined,\n };\n if (output.FilterRule === \"\") {\n contents.FilterRules = [];\n }\n else if (output[\"FilterRule\"] !== undefined) {\n contents.FilterRules = deserializeAws_restXmlFilterRuleList((0, smithy_client_1.getArrayIfSingleItem)(output[\"FilterRule\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlServerSideEncryptionByDefault = (output, context) => {\n const contents = {\n SSEAlgorithm: undefined,\n KMSMasterKeyID: undefined,\n };\n if (output[\"SSEAlgorithm\"] !== undefined) {\n contents.SSEAlgorithm = (0, smithy_client_1.expectString)(output[\"SSEAlgorithm\"]);\n }\n if (output[\"KMSMasterKeyID\"] !== undefined) {\n contents.KMSMasterKeyID = (0, smithy_client_1.expectString)(output[\"KMSMasterKeyID\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlServerSideEncryptionConfiguration = (output, context) => {\n const contents = {\n Rules: undefined,\n };\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n else if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlServerSideEncryptionRules((0, smithy_client_1.getArrayIfSingleItem)(output[\"Rule\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlServerSideEncryptionRule = (output, context) => {\n const contents = {\n ApplyServerSideEncryptionByDefault: undefined,\n BucketKeyEnabled: undefined,\n };\n if (output[\"ApplyServerSideEncryptionByDefault\"] !== undefined) {\n contents.ApplyServerSideEncryptionByDefault = deserializeAws_restXmlServerSideEncryptionByDefault(output[\"ApplyServerSideEncryptionByDefault\"], context);\n }\n if (output[\"BucketKeyEnabled\"] !== undefined) {\n contents.BucketKeyEnabled = (0, smithy_client_1.parseBoolean)(output[\"BucketKeyEnabled\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlServerSideEncryptionRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlServerSideEncryptionRule(entry, context);\n });\n};\nconst deserializeAws_restXmlSourceSelectionCriteria = (output, context) => {\n const contents = {\n SseKmsEncryptedObjects: undefined,\n ReplicaModifications: undefined,\n };\n if (output[\"SseKmsEncryptedObjects\"] !== undefined) {\n contents.SseKmsEncryptedObjects = deserializeAws_restXmlSseKmsEncryptedObjects(output[\"SseKmsEncryptedObjects\"], context);\n }\n if (output[\"ReplicaModifications\"] !== undefined) {\n contents.ReplicaModifications = deserializeAws_restXmlReplicaModifications(output[\"ReplicaModifications\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlSSEKMS = (output, context) => {\n const contents = {\n KeyId: undefined,\n };\n if (output[\"KeyId\"] !== undefined) {\n contents.KeyId = (0, smithy_client_1.expectString)(output[\"KeyId\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlSseKmsEncryptedObjects = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlSSES3 = (output, context) => {\n const contents = {};\n return contents;\n};\nconst deserializeAws_restXmlStats = (output, context) => {\n const contents = {\n BytesScanned: undefined,\n BytesProcessed: undefined,\n BytesReturned: undefined,\n };\n if (output[\"BytesScanned\"] !== undefined) {\n contents.BytesScanned = (0, smithy_client_1.strictParseLong)(output[\"BytesScanned\"]);\n }\n if (output[\"BytesProcessed\"] !== undefined) {\n contents.BytesProcessed = (0, smithy_client_1.strictParseLong)(output[\"BytesProcessed\"]);\n }\n if (output[\"BytesReturned\"] !== undefined) {\n contents.BytesReturned = (0, smithy_client_1.strictParseLong)(output[\"BytesReturned\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlStorageClassAnalysis = (output, context) => {\n const contents = {\n DataExport: undefined,\n };\n if (output[\"DataExport\"] !== undefined) {\n contents.DataExport = deserializeAws_restXmlStorageClassAnalysisDataExport(output[\"DataExport\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlStorageClassAnalysisDataExport = (output, context) => {\n const contents = {\n OutputSchemaVersion: undefined,\n Destination: undefined,\n };\n if (output[\"OutputSchemaVersion\"] !== undefined) {\n contents.OutputSchemaVersion = (0, smithy_client_1.expectString)(output[\"OutputSchemaVersion\"]);\n }\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output[\"Destination\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlTag = (output, context) => {\n const contents = {\n Key: undefined,\n Value: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"Value\"] !== undefined) {\n contents.Value = (0, smithy_client_1.expectString)(output[\"Value\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlTagSet = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTag(entry, context);\n });\n};\nconst deserializeAws_restXmlTargetGrant = (output, context) => {\n const contents = {\n Grantee: undefined,\n Permission: undefined,\n };\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = (0, smithy_client_1.expectString)(output[\"Permission\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlTargetGrants = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTargetGrant(entry, context);\n });\n};\nconst deserializeAws_restXmlTiering = (output, context) => {\n const contents = {\n Days: undefined,\n AccessTier: undefined,\n };\n if (output[\"Days\"] !== undefined) {\n contents.Days = (0, smithy_client_1.strictParseInt32)(output[\"Days\"]);\n }\n if (output[\"AccessTier\"] !== undefined) {\n contents.AccessTier = (0, smithy_client_1.expectString)(output[\"AccessTier\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlTieringList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTiering(entry, context);\n });\n};\nconst deserializeAws_restXmlTopicConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n TopicArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"Topic\"] !== undefined) {\n contents.TopicArn = (0, smithy_client_1.expectString)(output[\"Topic\"]);\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n else if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlTopicConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTopicConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlTransition = (output, context) => {\n const contents = {\n Date: undefined,\n Days: undefined,\n StorageClass: undefined,\n };\n if (output[\"Date\"] !== undefined) {\n contents.Date = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"Date\"]));\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = (0, smithy_client_1.strictParseInt32)(output[\"Days\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlTransitionList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTransition(entry, context);\n });\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parser = new fast_xml_parser_1.XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n const parsedObj = parser.parse(encoded);\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return (0, smithy_client_1.getValueFromTextNode)(parsedObjToReturn);\n }\n return {};\n});\nconst parseErrorBody = async (errorBody, context) => {\n const value = await parseBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nconst loadRestXmlErrorCode = (output, data) => {\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst client_sts_1 = require(\"@aws-sdk/client-sts\");\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst credential_provider_node_1 = require(\"@aws-sdk/credential-provider-node\");\nconst eventstream_serde_node_1 = require(\"@aws-sdk/eventstream-serde-node\");\nconst hash_node_1 = require(\"@aws-sdk/hash-node\");\nconst hash_stream_node_1 = require(\"@aws-sdk/hash-stream-node\");\nconst middleware_bucket_endpoint_1 = require(\"@aws-sdk/middleware-bucket-endpoint\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_body_length_node_1 = require(\"@aws-sdk/util-body-length-node\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst util_stream_node_1 = require(\"@aws-sdk/util-stream-node\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst util_defaults_mode_node_1 = require(\"@aws-sdk/util-defaults-mode-node\");\nconst smithy_client_2 = require(\"@aws-sdk/smithy-client\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, client_sts_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider),\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventstream_serde_node_1.eventStreamSerdeProvider,\n getAwsChunkedEncodingStream: config?.getAwsChunkedEncodingStream ?? util_stream_node_1.getAwsChunkedEncodingStream,\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n md5: config?.md5 ?? hash_node_1.Hash.bind(null, \"md5\"),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }),\n sdkStreamMixin: config?.sdkStreamMixin ?? util_stream_node_1.sdkStreamMixin,\n sha1: config?.sha1 ?? hash_node_1.Hash.bind(null, \"sha1\"),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n streamHasher: config?.streamHasher ?? hash_stream_node_1.readableStreamHasher,\n useArnRegion: config?.useArnRegion ?? (0, node_config_provider_1.loadConfig)(middleware_bucket_endpoint_1.NODE_USE_ARN_REGION_CONFIG_OPTIONS),\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst signature_v4_multi_region_1 = require(\"@aws-sdk/signature-v4-multi-region\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst util_base64_1 = require(\"@aws-sdk/util-base64\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => ({\n apiVersion: \"2006-03-01\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n serviceId: config?.serviceId ?? \"S3\",\n signerConstructor: config?.signerConstructor ?? signature_v4_multi_region_1.SignatureV4MultiRegion,\n signingEscapePath: config?.signingEscapePath ?? false,\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n useArnRegion: config?.useArnRegion ?? false,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n});\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./waitForBucketExists\"), exports);\ntslib_1.__exportStar(require(\"./waitForBucketNotExists\"), exports);\ntslib_1.__exportStar(require(\"./waitForObjectExists\"), exports);\ntslib_1.__exportStar(require(\"./waitForObjectNotExists\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.waitUntilBucketExists = exports.waitForBucketExists = void 0;\nconst util_waiter_1 = require(\"@aws-sdk/util-waiter\");\nconst HeadBucketCommand_1 = require(\"../commands/HeadBucketCommand\");\nconst checkState = async (client, input) => {\n let reason;\n try {\n const result = await client.send(new HeadBucketCommand_1.HeadBucketCommand(input));\n reason = result;\n return { state: util_waiter_1.WaiterState.SUCCESS, reason };\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n }\n }\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n};\nconst waitForBucketExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n};\nexports.waitForBucketExists = waitForBucketExists;\nconst waitUntilBucketExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n return (0, util_waiter_1.checkExceptions)(result);\n};\nexports.waitUntilBucketExists = waitUntilBucketExists;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.waitUntilBucketNotExists = exports.waitForBucketNotExists = void 0;\nconst util_waiter_1 = require(\"@aws-sdk/util-waiter\");\nconst HeadBucketCommand_1 = require(\"../commands/HeadBucketCommand\");\nconst checkState = async (client, input) => {\n let reason;\n try {\n const result = await client.send(new HeadBucketCommand_1.HeadBucketCommand(input));\n reason = result;\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: util_waiter_1.WaiterState.SUCCESS, reason };\n }\n }\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n};\nconst waitForBucketNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n};\nexports.waitForBucketNotExists = waitForBucketNotExists;\nconst waitUntilBucketNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n return (0, util_waiter_1.checkExceptions)(result);\n};\nexports.waitUntilBucketNotExists = waitUntilBucketNotExists;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.waitUntilObjectExists = exports.waitForObjectExists = void 0;\nconst util_waiter_1 = require(\"@aws-sdk/util-waiter\");\nconst HeadObjectCommand_1 = require(\"../commands/HeadObjectCommand\");\nconst checkState = async (client, input) => {\n let reason;\n try {\n const result = await client.send(new HeadObjectCommand_1.HeadObjectCommand(input));\n reason = result;\n return { state: util_waiter_1.WaiterState.SUCCESS, reason };\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n }\n }\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n};\nconst waitForObjectExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n};\nexports.waitForObjectExists = waitForObjectExists;\nconst waitUntilObjectExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n return (0, util_waiter_1.checkExceptions)(result);\n};\nexports.waitUntilObjectExists = waitUntilObjectExists;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.waitUntilObjectNotExists = exports.waitForObjectNotExists = void 0;\nconst util_waiter_1 = require(\"@aws-sdk/util-waiter\");\nconst HeadObjectCommand_1 = require(\"../commands/HeadObjectCommand\");\nconst checkState = async (client, input) => {\n let reason;\n try {\n const result = await client.send(new HeadObjectCommand_1.HeadObjectCommand(input));\n reason = result;\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: util_waiter_1.WaiterState.SUCCESS, reason };\n }\n }\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n};\nconst waitForObjectNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n};\nexports.waitForObjectNotExists = waitForObjectNotExists;\nconst waitUntilObjectNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n return (0, util_waiter_1.checkExceptions)(result);\n};\nexports.waitUntilObjectNotExists = waitUntilObjectNotExists;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOOIDC = void 0;\nconst CreateTokenCommand_1 = require(\"./commands/CreateTokenCommand\");\nconst RegisterClientCommand_1 = require(\"./commands/RegisterClientCommand\");\nconst StartDeviceAuthorizationCommand_1 = require(\"./commands/StartDeviceAuthorizationCommand\");\nconst SSOOIDCClient_1 = require(\"./SSOOIDCClient\");\nclass SSOOIDC extends SSOOIDCClient_1.SSOOIDCClient {\n createToken(args, optionsOrCb, cb) {\n const command = new CreateTokenCommand_1.CreateTokenCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n registerClient(args, optionsOrCb, cb) {\n const command = new RegisterClientCommand_1.RegisterClientCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n startDeviceAuthorization(args, optionsOrCb, cb) {\n const command = new StartDeviceAuthorizationCommand_1.StartDeviceAuthorizationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n}\nexports.SSOOIDC = SSOOIDC;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOOIDCClient = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst middleware_content_length_1 = require(\"@aws-sdk/middleware-content-length\");\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_host_header_1 = require(\"@aws-sdk/middleware-host-header\");\nconst middleware_logger_1 = require(\"@aws-sdk/middleware-logger\");\nconst middleware_recursion_detection_1 = require(\"@aws-sdk/middleware-recursion-detection\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst middleware_user_agent_1 = require(\"@aws-sdk/middleware-user-agent\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst EndpointParameters_1 = require(\"./endpoint/EndpointParameters\");\nconst runtimeConfig_1 = require(\"./runtimeConfig\");\nclass SSOOIDCClient extends smithy_client_1.Client {\n constructor(configuration) {\n const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration);\n const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);\n const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1);\n const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);\n const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);\n const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);\n const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5);\n super(_config_6);\n this.config = _config_6;\n this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));\n this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));\n this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));\n this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));\n this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\nexports.SSOOIDCClient = SSOOIDCClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateTokenCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass CreateTokenCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CreateTokenCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOOIDCClient\";\n const commandName = \"CreateTokenCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CreateTokenRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CreateTokenResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1CreateTokenCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1CreateTokenCommand)(output, context);\n }\n}\nexports.CreateTokenCommand = CreateTokenCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegisterClientCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass RegisterClientCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, RegisterClientCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOOIDCClient\";\n const commandName = \"RegisterClientCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.RegisterClientRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.RegisterClientResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1RegisterClientCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1RegisterClientCommand)(output, context);\n }\n}\nexports.RegisterClientCommand = RegisterClientCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StartDeviceAuthorizationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass StartDeviceAuthorizationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, StartDeviceAuthorizationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOOIDCClient\";\n const commandName = \"StartDeviceAuthorizationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.StartDeviceAuthorizationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.StartDeviceAuthorizationResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1StartDeviceAuthorizationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1StartDeviceAuthorizationCommand)(output, context);\n }\n}\nexports.StartDeviceAuthorizationCommand = StartDeviceAuthorizationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./CreateTokenCommand\"), exports);\ntslib_1.__exportStar(require(\"./RegisterClientCommand\"), exports);\ntslib_1.__exportStar(require(\"./StartDeviceAuthorizationCommand\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveClientEndpointParameters = void 0;\nconst resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"awsssooidc\",\n };\n};\nexports.resolveClientEndpointParameters = resolveClientEndpointParameters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst p = \"required\", q = \"fn\", r = \"argv\", s = \"ref\";\nconst a = \"PartitionResult\", b = \"tree\", c = \"error\", d = \"endpoint\", e = { [p]: false, \"type\": \"String\" }, f = { [p]: true, \"default\": false, \"type\": \"Boolean\" }, g = { [s]: \"Endpoint\" }, h = { [q]: \"booleanEquals\", [r]: [{ [s]: \"UseFIPS\" }, true] }, i = { [q]: \"booleanEquals\", [r]: [{ [s]: \"UseDualStack\" }, true] }, j = {}, k = { [q]: \"booleanEquals\", [r]: [true, { [q]: \"getAttr\", [r]: [{ [s]: a }, \"supportsFIPS\"] }] }, l = { [q]: \"booleanEquals\", [r]: [true, { [q]: \"getAttr\", [r]: [{ [s]: a }, \"supportsDualStack\"] }] }, m = [g], n = [h], o = [i];\nconst _data = { version: \"1.0\", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: \"aws.partition\", [r]: [{ [s]: \"Region\" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: \"isSet\", [r]: m }, { [q]: \"parseURL\", [r]: m, assign: \"url\" }], type: b, rules: [{ conditions: n, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: c }, { type: b, rules: [{ conditions: o, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: \"https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: j, headers: j }, type: d }] }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: \"https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: j, headers: j }, type: d }] }] }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: \"https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: j, headers: j }, type: d }] }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: c }] }, { endpoint: { url: \"https://oidc.{Region}.{PartitionResult#dnsSuffix}\", properties: j, headers: j }, type: d }] }] };\nexports.ruleSet = _data;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOOIDCServiceException = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./SSOOIDC\"), exports);\ntslib_1.__exportStar(require(\"./SSOOIDCClient\"), exports);\ntslib_1.__exportStar(require(\"./commands\"), exports);\ntslib_1.__exportStar(require(\"./models\"), exports);\nvar SSOOIDCServiceException_1 = require(\"./models/SSOOIDCServiceException\");\nObject.defineProperty(exports, \"SSOOIDCServiceException\", { enumerable: true, get: function () { return SSOOIDCServiceException_1.SSOOIDCServiceException; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOOIDCServiceException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nclass SSOOIDCServiceException extends smithy_client_1.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOOIDCServiceException.prototype);\n }\n}\nexports.SSOOIDCServiceException = SSOOIDCServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./models_0\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StartDeviceAuthorizationResponseFilterSensitiveLog = exports.StartDeviceAuthorizationRequestFilterSensitiveLog = exports.RegisterClientResponseFilterSensitiveLog = exports.RegisterClientRequestFilterSensitiveLog = exports.CreateTokenResponseFilterSensitiveLog = exports.CreateTokenRequestFilterSensitiveLog = exports.InvalidClientMetadataException = exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidGrantException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0;\nconst SSOOIDCServiceException_1 = require(\"./SSOOIDCServiceException\");\nclass AccessDeniedException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AccessDeniedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.AccessDeniedException = AccessDeniedException;\nclass AuthorizationPendingException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"AuthorizationPendingException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AuthorizationPendingException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AuthorizationPendingException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.AuthorizationPendingException = AuthorizationPendingException;\nclass ExpiredTokenException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ExpiredTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.ExpiredTokenException = ExpiredTokenException;\nclass InternalServerException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n this.name = \"InternalServerException\";\n this.$fault = \"server\";\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InternalServerException = InternalServerException;\nclass InvalidClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidClientException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidClientException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidClientException = InvalidClientException;\nclass InvalidGrantException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidGrantException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidGrantException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidGrantException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidGrantException = InvalidGrantException;\nclass InvalidRequestException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidRequestException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidRequestException = InvalidRequestException;\nclass InvalidScopeException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidScopeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidScopeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidScopeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidScopeException = InvalidScopeException;\nclass SlowDownException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"SlowDownException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"SlowDownException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, SlowDownException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.SlowDownException = SlowDownException;\nclass UnauthorizedClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"UnauthorizedClientException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnauthorizedClientException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnauthorizedClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.UnauthorizedClientException = UnauthorizedClientException;\nclass UnsupportedGrantTypeException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"UnsupportedGrantTypeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnsupportedGrantTypeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnsupportedGrantTypeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.UnsupportedGrantTypeException = UnsupportedGrantTypeException;\nclass InvalidClientMetadataException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidClientMetadataException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidClientMetadataException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidClientMetadataException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidClientMetadataException = InvalidClientMetadataException;\nconst CreateTokenRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateTokenRequestFilterSensitiveLog = CreateTokenRequestFilterSensitiveLog;\nconst CreateTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateTokenResponseFilterSensitiveLog = CreateTokenResponseFilterSensitiveLog;\nconst RegisterClientRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RegisterClientRequestFilterSensitiveLog = RegisterClientRequestFilterSensitiveLog;\nconst RegisterClientResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RegisterClientResponseFilterSensitiveLog = RegisterClientResponseFilterSensitiveLog;\nconst StartDeviceAuthorizationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StartDeviceAuthorizationRequestFilterSensitiveLog = StartDeviceAuthorizationRequestFilterSensitiveLog;\nconst StartDeviceAuthorizationResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StartDeviceAuthorizationResponseFilterSensitiveLog = StartDeviceAuthorizationResponseFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserializeAws_restJson1StartDeviceAuthorizationCommand = exports.deserializeAws_restJson1RegisterClientCommand = exports.deserializeAws_restJson1CreateTokenCommand = exports.serializeAws_restJson1StartDeviceAuthorizationCommand = exports.serializeAws_restJson1RegisterClientCommand = exports.serializeAws_restJson1CreateTokenCommand = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst SSOOIDCServiceException_1 = require(\"../models/SSOOIDCServiceException\");\nconst serializeAws_restJson1CreateTokenCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/json\",\n };\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/token\";\n let body;\n body = JSON.stringify({\n ...(input.clientId != null && { clientId: input.clientId }),\n ...(input.clientSecret != null && { clientSecret: input.clientSecret }),\n ...(input.code != null && { code: input.code }),\n ...(input.deviceCode != null && { deviceCode: input.deviceCode }),\n ...(input.grantType != null && { grantType: input.grantType }),\n ...(input.redirectUri != null && { redirectUri: input.redirectUri }),\n ...(input.refreshToken != null && { refreshToken: input.refreshToken }),\n ...(input.scope != null && { scope: serializeAws_restJson1Scopes(input.scope, context) }),\n });\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restJson1CreateTokenCommand = serializeAws_restJson1CreateTokenCommand;\nconst serializeAws_restJson1RegisterClientCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/json\",\n };\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/client/register\";\n let body;\n body = JSON.stringify({\n ...(input.clientName != null && { clientName: input.clientName }),\n ...(input.clientType != null && { clientType: input.clientType }),\n ...(input.scopes != null && { scopes: serializeAws_restJson1Scopes(input.scopes, context) }),\n });\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restJson1RegisterClientCommand = serializeAws_restJson1RegisterClientCommand;\nconst serializeAws_restJson1StartDeviceAuthorizationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/json\",\n };\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/device_authorization\";\n let body;\n body = JSON.stringify({\n ...(input.clientId != null && { clientId: input.clientId }),\n ...(input.clientSecret != null && { clientSecret: input.clientSecret }),\n ...(input.startUrl != null && { startUrl: input.startUrl }),\n });\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restJson1StartDeviceAuthorizationCommand = serializeAws_restJson1StartDeviceAuthorizationCommand;\nconst deserializeAws_restJson1CreateTokenCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1CreateTokenCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.accessToken != null) {\n contents.accessToken = (0, smithy_client_1.expectString)(data.accessToken);\n }\n if (data.expiresIn != null) {\n contents.expiresIn = (0, smithy_client_1.expectInt32)(data.expiresIn);\n }\n if (data.idToken != null) {\n contents.idToken = (0, smithy_client_1.expectString)(data.idToken);\n }\n if (data.refreshToken != null) {\n contents.refreshToken = (0, smithy_client_1.expectString)(data.refreshToken);\n }\n if (data.tokenType != null) {\n contents.tokenType = (0, smithy_client_1.expectString)(data.tokenType);\n }\n return contents;\n};\nexports.deserializeAws_restJson1CreateTokenCommand = deserializeAws_restJson1CreateTokenCommand;\nconst deserializeAws_restJson1CreateTokenCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"AccessDeniedException\":\n case \"com.amazonaws.ssooidc#AccessDeniedException\":\n throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);\n case \"AuthorizationPendingException\":\n case \"com.amazonaws.ssooidc#AuthorizationPendingException\":\n throw await deserializeAws_restJson1AuthorizationPendingExceptionResponse(parsedOutput, context);\n case \"ExpiredTokenException\":\n case \"com.amazonaws.ssooidc#ExpiredTokenException\":\n throw await deserializeAws_restJson1ExpiredTokenExceptionResponse(parsedOutput, context);\n case \"InternalServerException\":\n case \"com.amazonaws.ssooidc#InternalServerException\":\n throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);\n case \"InvalidClientException\":\n case \"com.amazonaws.ssooidc#InvalidClientException\":\n throw await deserializeAws_restJson1InvalidClientExceptionResponse(parsedOutput, context);\n case \"InvalidGrantException\":\n case \"com.amazonaws.ssooidc#InvalidGrantException\":\n throw await deserializeAws_restJson1InvalidGrantExceptionResponse(parsedOutput, context);\n case \"InvalidRequestException\":\n case \"com.amazonaws.ssooidc#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"InvalidScopeException\":\n case \"com.amazonaws.ssooidc#InvalidScopeException\":\n throw await deserializeAws_restJson1InvalidScopeExceptionResponse(parsedOutput, context);\n case \"SlowDownException\":\n case \"com.amazonaws.ssooidc#SlowDownException\":\n throw await deserializeAws_restJson1SlowDownExceptionResponse(parsedOutput, context);\n case \"UnauthorizedClientException\":\n case \"com.amazonaws.ssooidc#UnauthorizedClientException\":\n throw await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context);\n case \"UnsupportedGrantTypeException\":\n case \"com.amazonaws.ssooidc#UnsupportedGrantTypeException\":\n throw await deserializeAws_restJson1UnsupportedGrantTypeExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOOIDCServiceException_1.SSOOIDCServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1RegisterClientCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1RegisterClientCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.authorizationEndpoint != null) {\n contents.authorizationEndpoint = (0, smithy_client_1.expectString)(data.authorizationEndpoint);\n }\n if (data.clientId != null) {\n contents.clientId = (0, smithy_client_1.expectString)(data.clientId);\n }\n if (data.clientIdIssuedAt != null) {\n contents.clientIdIssuedAt = (0, smithy_client_1.expectLong)(data.clientIdIssuedAt);\n }\n if (data.clientSecret != null) {\n contents.clientSecret = (0, smithy_client_1.expectString)(data.clientSecret);\n }\n if (data.clientSecretExpiresAt != null) {\n contents.clientSecretExpiresAt = (0, smithy_client_1.expectLong)(data.clientSecretExpiresAt);\n }\n if (data.tokenEndpoint != null) {\n contents.tokenEndpoint = (0, smithy_client_1.expectString)(data.tokenEndpoint);\n }\n return contents;\n};\nexports.deserializeAws_restJson1RegisterClientCommand = deserializeAws_restJson1RegisterClientCommand;\nconst deserializeAws_restJson1RegisterClientCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalServerException\":\n case \"com.amazonaws.ssooidc#InternalServerException\":\n throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);\n case \"InvalidClientMetadataException\":\n case \"com.amazonaws.ssooidc#InvalidClientMetadataException\":\n throw await deserializeAws_restJson1InvalidClientMetadataExceptionResponse(parsedOutput, context);\n case \"InvalidRequestException\":\n case \"com.amazonaws.ssooidc#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"InvalidScopeException\":\n case \"com.amazonaws.ssooidc#InvalidScopeException\":\n throw await deserializeAws_restJson1InvalidScopeExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOOIDCServiceException_1.SSOOIDCServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1StartDeviceAuthorizationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1StartDeviceAuthorizationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.deviceCode != null) {\n contents.deviceCode = (0, smithy_client_1.expectString)(data.deviceCode);\n }\n if (data.expiresIn != null) {\n contents.expiresIn = (0, smithy_client_1.expectInt32)(data.expiresIn);\n }\n if (data.interval != null) {\n contents.interval = (0, smithy_client_1.expectInt32)(data.interval);\n }\n if (data.userCode != null) {\n contents.userCode = (0, smithy_client_1.expectString)(data.userCode);\n }\n if (data.verificationUri != null) {\n contents.verificationUri = (0, smithy_client_1.expectString)(data.verificationUri);\n }\n if (data.verificationUriComplete != null) {\n contents.verificationUriComplete = (0, smithy_client_1.expectString)(data.verificationUriComplete);\n }\n return contents;\n};\nexports.deserializeAws_restJson1StartDeviceAuthorizationCommand = deserializeAws_restJson1StartDeviceAuthorizationCommand;\nconst deserializeAws_restJson1StartDeviceAuthorizationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalServerException\":\n case \"com.amazonaws.ssooidc#InternalServerException\":\n throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);\n case \"InvalidClientException\":\n case \"com.amazonaws.ssooidc#InvalidClientException\":\n throw await deserializeAws_restJson1InvalidClientExceptionResponse(parsedOutput, context);\n case \"InvalidRequestException\":\n case \"com.amazonaws.ssooidc#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"SlowDownException\":\n case \"com.amazonaws.ssooidc#SlowDownException\":\n throw await deserializeAws_restJson1SlowDownExceptionResponse(parsedOutput, context);\n case \"UnauthorizedClientException\":\n case \"com.amazonaws.ssooidc#UnauthorizedClientException\":\n throw await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOOIDCServiceException_1.SSOOIDCServiceException,\n errorCode,\n });\n }\n};\nconst map = smithy_client_1.map;\nconst deserializeAws_restJson1AccessDeniedExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.AccessDeniedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1AuthorizationPendingExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.AuthorizationPendingException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1ExpiredTokenExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.ExpiredTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InternalServerExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InternalServerException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidClientExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidClientException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidClientMetadataExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidClientMetadataException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidGrantExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidGrantException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidRequestExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidRequestException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidScopeExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidScopeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1SlowDownExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.SlowDownException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1UnauthorizedClientExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.UnauthorizedClientException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1UnsupportedGrantTypeExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.UnsupportedGrantTypeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst serializeAws_restJson1Scopes = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n return entry;\n });\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n});\nconst parseErrorBody = async (errorBody, context) => {\n const value = await parseBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nconst loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst hash_node_1 = require(\"@aws-sdk/hash-node\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_body_length_node_1 = require(\"@aws-sdk/util-body-length-node\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst util_defaults_mode_node_1 = require(\"@aws-sdk/util-defaults-mode-node\");\nconst smithy_client_2 = require(\"@aws-sdk/smithy-client\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst util_base64_1 = require(\"@aws-sdk/util-base64\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => ({\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n serviceId: config?.serviceId ?? \"SSO OIDC\",\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n});\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSO = void 0;\nconst GetRoleCredentialsCommand_1 = require(\"./commands/GetRoleCredentialsCommand\");\nconst ListAccountRolesCommand_1 = require(\"./commands/ListAccountRolesCommand\");\nconst ListAccountsCommand_1 = require(\"./commands/ListAccountsCommand\");\nconst LogoutCommand_1 = require(\"./commands/LogoutCommand\");\nconst SSOClient_1 = require(\"./SSOClient\");\nclass SSO extends SSOClient_1.SSOClient {\n getRoleCredentials(args, optionsOrCb, cb) {\n const command = new GetRoleCredentialsCommand_1.GetRoleCredentialsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listAccountRoles(args, optionsOrCb, cb) {\n const command = new ListAccountRolesCommand_1.ListAccountRolesCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listAccounts(args, optionsOrCb, cb) {\n const command = new ListAccountsCommand_1.ListAccountsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n logout(args, optionsOrCb, cb) {\n const command = new LogoutCommand_1.LogoutCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n}\nexports.SSO = SSO;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOClient = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst middleware_content_length_1 = require(\"@aws-sdk/middleware-content-length\");\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_host_header_1 = require(\"@aws-sdk/middleware-host-header\");\nconst middleware_logger_1 = require(\"@aws-sdk/middleware-logger\");\nconst middleware_recursion_detection_1 = require(\"@aws-sdk/middleware-recursion-detection\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst middleware_user_agent_1 = require(\"@aws-sdk/middleware-user-agent\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst EndpointParameters_1 = require(\"./endpoint/EndpointParameters\");\nconst runtimeConfig_1 = require(\"./runtimeConfig\");\nclass SSOClient extends smithy_client_1.Client {\n constructor(configuration) {\n const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration);\n const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);\n const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1);\n const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);\n const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);\n const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);\n const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5);\n super(_config_6);\n this.config = _config_6;\n this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));\n this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));\n this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));\n this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));\n this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\nexports.SSOClient = SSOClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetRoleCredentialsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass GetRoleCredentialsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetRoleCredentialsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOClient\";\n const commandName = \"GetRoleCredentialsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetRoleCredentialsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetRoleCredentialsResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1GetRoleCredentialsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1GetRoleCredentialsCommand)(output, context);\n }\n}\nexports.GetRoleCredentialsCommand = GetRoleCredentialsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListAccountRolesCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass ListAccountRolesCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListAccountRolesCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOClient\";\n const commandName = \"ListAccountRolesCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListAccountRolesRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListAccountRolesResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1ListAccountRolesCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1ListAccountRolesCommand)(output, context);\n }\n}\nexports.ListAccountRolesCommand = ListAccountRolesCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListAccountsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass ListAccountsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListAccountsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOClient\";\n const commandName = \"ListAccountsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListAccountsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListAccountsResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1ListAccountsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1ListAccountsCommand)(output, context);\n }\n}\nexports.ListAccountsCommand = ListAccountsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogoutCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass LogoutCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, LogoutCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOClient\";\n const commandName = \"LogoutCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.LogoutRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1LogoutCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1LogoutCommand)(output, context);\n }\n}\nexports.LogoutCommand = LogoutCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./GetRoleCredentialsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListAccountRolesCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListAccountsCommand\"), exports);\ntslib_1.__exportStar(require(\"./LogoutCommand\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveClientEndpointParameters = void 0;\nconst resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"awsssoportal\",\n };\n};\nexports.resolveClientEndpointParameters = resolveClientEndpointParameters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst p = \"required\", q = \"fn\", r = \"argv\", s = \"ref\";\nconst a = \"PartitionResult\", b = \"tree\", c = \"error\", d = \"endpoint\", e = { [p]: false, \"type\": \"String\" }, f = { [p]: true, \"default\": false, \"type\": \"Boolean\" }, g = { [s]: \"Endpoint\" }, h = { [q]: \"booleanEquals\", [r]: [{ [s]: \"UseFIPS\" }, true] }, i = { [q]: \"booleanEquals\", [r]: [{ [s]: \"UseDualStack\" }, true] }, j = {}, k = { [q]: \"booleanEquals\", [r]: [true, { [q]: \"getAttr\", [r]: [{ [s]: a }, \"supportsFIPS\"] }] }, l = { [q]: \"booleanEquals\", [r]: [true, { [q]: \"getAttr\", [r]: [{ [s]: a }, \"supportsDualStack\"] }] }, m = [g], n = [h], o = [i];\nconst _data = { version: \"1.0\", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: \"aws.partition\", [r]: [{ [s]: \"Region\" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: \"isSet\", [r]: m }, { [q]: \"parseURL\", [r]: m, assign: \"url\" }], type: b, rules: [{ conditions: n, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: c }, { type: b, rules: [{ conditions: o, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: \"https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: j, headers: j }, type: d }] }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: \"https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: j, headers: j }, type: d }] }] }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: \"https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: j, headers: j }, type: d }] }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: c }] }, { endpoint: { url: \"https://portal.sso.{Region}.{PartitionResult#dnsSuffix}\", properties: j, headers: j }, type: d }] }] };\nexports.ruleSet = _data;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOServiceException = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./SSO\"), exports);\ntslib_1.__exportStar(require(\"./SSOClient\"), exports);\ntslib_1.__exportStar(require(\"./commands\"), exports);\ntslib_1.__exportStar(require(\"./models\"), exports);\ntslib_1.__exportStar(require(\"./pagination\"), exports);\nvar SSOServiceException_1 = require(\"./models/SSOServiceException\");\nObject.defineProperty(exports, \"SSOServiceException\", { enumerable: true, get: function () { return SSOServiceException_1.SSOServiceException; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOServiceException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nclass SSOServiceException extends smithy_client_1.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOServiceException.prototype);\n }\n}\nexports.SSOServiceException = SSOServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./models_0\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogoutRequestFilterSensitiveLog = exports.ListAccountsResponseFilterSensitiveLog = exports.ListAccountsRequestFilterSensitiveLog = exports.ListAccountRolesResponseFilterSensitiveLog = exports.RoleInfoFilterSensitiveLog = exports.ListAccountRolesRequestFilterSensitiveLog = exports.GetRoleCredentialsResponseFilterSensitiveLog = exports.RoleCredentialsFilterSensitiveLog = exports.GetRoleCredentialsRequestFilterSensitiveLog = exports.AccountInfoFilterSensitiveLog = exports.UnauthorizedException = exports.TooManyRequestsException = exports.ResourceNotFoundException = exports.InvalidRequestException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst SSOServiceException_1 = require(\"./SSOServiceException\");\nclass InvalidRequestException extends SSOServiceException_1.SSOServiceException {\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidRequestException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n }\n}\nexports.InvalidRequestException = InvalidRequestException;\nclass ResourceNotFoundException extends SSOServiceException_1.SSOServiceException {\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ResourceNotFoundException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nexports.ResourceNotFoundException = ResourceNotFoundException;\nclass TooManyRequestsException extends SSOServiceException_1.SSOServiceException {\n constructor(opts) {\n super({\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"TooManyRequestsException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, TooManyRequestsException.prototype);\n }\n}\nexports.TooManyRequestsException = TooManyRequestsException;\nclass UnauthorizedException extends SSOServiceException_1.SSOServiceException {\n constructor(opts) {\n super({\n name: \"UnauthorizedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnauthorizedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnauthorizedException.prototype);\n }\n}\nexports.UnauthorizedException = UnauthorizedException;\nconst AccountInfoFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AccountInfoFilterSensitiveLog = AccountInfoFilterSensitiveLog;\nconst GetRoleCredentialsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.GetRoleCredentialsRequestFilterSensitiveLog = GetRoleCredentialsRequestFilterSensitiveLog;\nconst RoleCredentialsFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.secretAccessKey && { secretAccessKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.sessionToken && { sessionToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.RoleCredentialsFilterSensitiveLog = RoleCredentialsFilterSensitiveLog;\nconst GetRoleCredentialsResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.roleCredentials && { roleCredentials: (0, exports.RoleCredentialsFilterSensitiveLog)(obj.roleCredentials) }),\n});\nexports.GetRoleCredentialsResponseFilterSensitiveLog = GetRoleCredentialsResponseFilterSensitiveLog;\nconst ListAccountRolesRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.ListAccountRolesRequestFilterSensitiveLog = ListAccountRolesRequestFilterSensitiveLog;\nconst RoleInfoFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RoleInfoFilterSensitiveLog = RoleInfoFilterSensitiveLog;\nconst ListAccountRolesResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListAccountRolesResponseFilterSensitiveLog = ListAccountRolesResponseFilterSensitiveLog;\nconst ListAccountsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.ListAccountsRequestFilterSensitiveLog = ListAccountsRequestFilterSensitiveLog;\nconst ListAccountsResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListAccountsResponseFilterSensitiveLog = ListAccountsResponseFilterSensitiveLog;\nconst LogoutRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.LogoutRequestFilterSensitiveLog = LogoutRequestFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.paginateListAccountRoles = void 0;\nconst ListAccountRolesCommand_1 = require(\"../commands/ListAccountRolesCommand\");\nconst SSO_1 = require(\"../SSO\");\nconst SSOClient_1 = require(\"../SSOClient\");\nconst makePagedClientRequest = async (client, input, ...args) => {\n return await client.send(new ListAccountRolesCommand_1.ListAccountRolesCommand(input), ...args);\n};\nconst makePagedRequest = async (client, input, ...args) => {\n return await client.listAccountRoles(input, ...args);\n};\nasync function* paginateListAccountRoles(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\n let hasNext = true;\n let page;\n while (hasNext) {\n input.nextToken = token;\n input[\"maxResults\"] = config.pageSize;\n if (config.client instanceof SSO_1.SSO) {\n page = await makePagedRequest(config.client, input, ...additionalArguments);\n }\n else if (config.client instanceof SSOClient_1.SSOClient) {\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\n }\n else {\n throw new Error(\"Invalid client, expected SSO | SSOClient\");\n }\n yield page;\n const prevToken = token;\n token = page.nextToken;\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n}\nexports.paginateListAccountRoles = paginateListAccountRoles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.paginateListAccounts = void 0;\nconst ListAccountsCommand_1 = require(\"../commands/ListAccountsCommand\");\nconst SSO_1 = require(\"../SSO\");\nconst SSOClient_1 = require(\"../SSOClient\");\nconst makePagedClientRequest = async (client, input, ...args) => {\n return await client.send(new ListAccountsCommand_1.ListAccountsCommand(input), ...args);\n};\nconst makePagedRequest = async (client, input, ...args) => {\n return await client.listAccounts(input, ...args);\n};\nasync function* paginateListAccounts(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\n let hasNext = true;\n let page;\n while (hasNext) {\n input.nextToken = token;\n input[\"maxResults\"] = config.pageSize;\n if (config.client instanceof SSO_1.SSO) {\n page = await makePagedRequest(config.client, input, ...additionalArguments);\n }\n else if (config.client instanceof SSOClient_1.SSOClient) {\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\n }\n else {\n throw new Error(\"Invalid client, expected SSO | SSOClient\");\n }\n yield page;\n const prevToken = token;\n token = page.nextToken;\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n}\nexports.paginateListAccounts = paginateListAccounts;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./Interfaces\"), exports);\ntslib_1.__exportStar(require(\"./ListAccountRolesPaginator\"), exports);\ntslib_1.__exportStar(require(\"./ListAccountsPaginator\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserializeAws_restJson1LogoutCommand = exports.deserializeAws_restJson1ListAccountsCommand = exports.deserializeAws_restJson1ListAccountRolesCommand = exports.deserializeAws_restJson1GetRoleCredentialsCommand = exports.serializeAws_restJson1LogoutCommand = exports.serializeAws_restJson1ListAccountsCommand = exports.serializeAws_restJson1ListAccountRolesCommand = exports.serializeAws_restJson1GetRoleCredentialsCommand = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst SSOServiceException_1 = require(\"../models/SSOServiceException\");\nconst serializeAws_restJson1GetRoleCredentialsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-sso_bearer_token\": input.accessToken,\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/federation/credentials\";\n const query = map({\n role_name: [, (0, smithy_client_1.expectNonNull)(input.roleName, `roleName`)],\n account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restJson1GetRoleCredentialsCommand = serializeAws_restJson1GetRoleCredentialsCommand;\nconst serializeAws_restJson1ListAccountRolesCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-sso_bearer_token\": input.accessToken,\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/assignment/roles\";\n const query = map({\n next_token: [, input.nextToken],\n max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()],\n account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restJson1ListAccountRolesCommand = serializeAws_restJson1ListAccountRolesCommand;\nconst serializeAws_restJson1ListAccountsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-sso_bearer_token\": input.accessToken,\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/assignment/accounts\";\n const query = map({\n next_token: [, input.nextToken],\n max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restJson1ListAccountsCommand = serializeAws_restJson1ListAccountsCommand;\nconst serializeAws_restJson1LogoutCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-sso_bearer_token\": input.accessToken,\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/logout\";\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restJson1LogoutCommand = serializeAws_restJson1LogoutCommand;\nconst deserializeAws_restJson1GetRoleCredentialsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1GetRoleCredentialsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.roleCredentials != null) {\n contents.roleCredentials = deserializeAws_restJson1RoleCredentials(data.roleCredentials, context);\n }\n return contents;\n};\nexports.deserializeAws_restJson1GetRoleCredentialsCommand = deserializeAws_restJson1GetRoleCredentialsCommand;\nconst deserializeAws_restJson1GetRoleCredentialsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.sso#ResourceNotFoundException\":\n throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOServiceException_1.SSOServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1ListAccountRolesCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1ListAccountRolesCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.nextToken != null) {\n contents.nextToken = (0, smithy_client_1.expectString)(data.nextToken);\n }\n if (data.roleList != null) {\n contents.roleList = deserializeAws_restJson1RoleListType(data.roleList, context);\n }\n return contents;\n};\nexports.deserializeAws_restJson1ListAccountRolesCommand = deserializeAws_restJson1ListAccountRolesCommand;\nconst deserializeAws_restJson1ListAccountRolesCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.sso#ResourceNotFoundException\":\n throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOServiceException_1.SSOServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1ListAccountsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1ListAccountsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.accountList != null) {\n contents.accountList = deserializeAws_restJson1AccountListType(data.accountList, context);\n }\n if (data.nextToken != null) {\n contents.nextToken = (0, smithy_client_1.expectString)(data.nextToken);\n }\n return contents;\n};\nexports.deserializeAws_restJson1ListAccountsCommand = deserializeAws_restJson1ListAccountsCommand;\nconst deserializeAws_restJson1ListAccountsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.sso#ResourceNotFoundException\":\n throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOServiceException_1.SSOServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1LogoutCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1LogoutCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restJson1LogoutCommand = deserializeAws_restJson1LogoutCommand;\nconst deserializeAws_restJson1LogoutCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOServiceException_1.SSOServiceException,\n errorCode,\n });\n }\n};\nconst map = smithy_client_1.map;\nconst deserializeAws_restJson1InvalidRequestExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.message != null) {\n contents.message = (0, smithy_client_1.expectString)(data.message);\n }\n const exception = new models_0_1.InvalidRequestException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1ResourceNotFoundExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.message != null) {\n contents.message = (0, smithy_client_1.expectString)(data.message);\n }\n const exception = new models_0_1.ResourceNotFoundException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1TooManyRequestsExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.message != null) {\n contents.message = (0, smithy_client_1.expectString)(data.message);\n }\n const exception = new models_0_1.TooManyRequestsException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1UnauthorizedExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.message != null) {\n contents.message = (0, smithy_client_1.expectString)(data.message);\n }\n const exception = new models_0_1.UnauthorizedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1AccountInfo = (output, context) => {\n return {\n accountId: (0, smithy_client_1.expectString)(output.accountId),\n accountName: (0, smithy_client_1.expectString)(output.accountName),\n emailAddress: (0, smithy_client_1.expectString)(output.emailAddress),\n };\n};\nconst deserializeAws_restJson1AccountListType = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1AccountInfo(entry, context);\n });\n return retVal;\n};\nconst deserializeAws_restJson1RoleCredentials = (output, context) => {\n return {\n accessKeyId: (0, smithy_client_1.expectString)(output.accessKeyId),\n expiration: (0, smithy_client_1.expectLong)(output.expiration),\n secretAccessKey: (0, smithy_client_1.expectString)(output.secretAccessKey),\n sessionToken: (0, smithy_client_1.expectString)(output.sessionToken),\n };\n};\nconst deserializeAws_restJson1RoleInfo = (output, context) => {\n return {\n accountId: (0, smithy_client_1.expectString)(output.accountId),\n roleName: (0, smithy_client_1.expectString)(output.roleName),\n };\n};\nconst deserializeAws_restJson1RoleListType = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1RoleInfo(entry, context);\n });\n return retVal;\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n});\nconst parseErrorBody = async (errorBody, context) => {\n const value = await parseBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nconst loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst hash_node_1 = require(\"@aws-sdk/hash-node\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_body_length_node_1 = require(\"@aws-sdk/util-body-length-node\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst util_defaults_mode_node_1 = require(\"@aws-sdk/util-defaults-mode-node\");\nconst smithy_client_2 = require(\"@aws-sdk/smithy-client\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst util_base64_1 = require(\"@aws-sdk/util-base64\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => ({\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n serviceId: config?.serviceId ?? \"SSO\",\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n});\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STS = void 0;\nconst AssumeRoleCommand_1 = require(\"./commands/AssumeRoleCommand\");\nconst AssumeRoleWithSAMLCommand_1 = require(\"./commands/AssumeRoleWithSAMLCommand\");\nconst AssumeRoleWithWebIdentityCommand_1 = require(\"./commands/AssumeRoleWithWebIdentityCommand\");\nconst DecodeAuthorizationMessageCommand_1 = require(\"./commands/DecodeAuthorizationMessageCommand\");\nconst GetAccessKeyInfoCommand_1 = require(\"./commands/GetAccessKeyInfoCommand\");\nconst GetCallerIdentityCommand_1 = require(\"./commands/GetCallerIdentityCommand\");\nconst GetFederationTokenCommand_1 = require(\"./commands/GetFederationTokenCommand\");\nconst GetSessionTokenCommand_1 = require(\"./commands/GetSessionTokenCommand\");\nconst STSClient_1 = require(\"./STSClient\");\nclass STS extends STSClient_1.STSClient {\n assumeRole(args, optionsOrCb, cb) {\n const command = new AssumeRoleCommand_1.AssumeRoleCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n assumeRoleWithSAML(args, optionsOrCb, cb) {\n const command = new AssumeRoleWithSAMLCommand_1.AssumeRoleWithSAMLCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n assumeRoleWithWebIdentity(args, optionsOrCb, cb) {\n const command = new AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n decodeAuthorizationMessage(args, optionsOrCb, cb) {\n const command = new DecodeAuthorizationMessageCommand_1.DecodeAuthorizationMessageCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getAccessKeyInfo(args, optionsOrCb, cb) {\n const command = new GetAccessKeyInfoCommand_1.GetAccessKeyInfoCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getCallerIdentity(args, optionsOrCb, cb) {\n const command = new GetCallerIdentityCommand_1.GetCallerIdentityCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getFederationToken(args, optionsOrCb, cb) {\n const command = new GetFederationTokenCommand_1.GetFederationTokenCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getSessionToken(args, optionsOrCb, cb) {\n const command = new GetSessionTokenCommand_1.GetSessionTokenCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n}\nexports.STS = STS;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STSClient = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst middleware_content_length_1 = require(\"@aws-sdk/middleware-content-length\");\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_host_header_1 = require(\"@aws-sdk/middleware-host-header\");\nconst middleware_logger_1 = require(\"@aws-sdk/middleware-logger\");\nconst middleware_recursion_detection_1 = require(\"@aws-sdk/middleware-recursion-detection\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst middleware_sdk_sts_1 = require(\"@aws-sdk/middleware-sdk-sts\");\nconst middleware_user_agent_1 = require(\"@aws-sdk/middleware-user-agent\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst EndpointParameters_1 = require(\"./endpoint/EndpointParameters\");\nconst runtimeConfig_1 = require(\"./runtimeConfig\");\nclass STSClient extends smithy_client_1.Client {\n constructor(configuration) {\n const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration);\n const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);\n const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1);\n const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);\n const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);\n const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);\n const _config_6 = (0, middleware_sdk_sts_1.resolveStsAuthConfig)(_config_5, { stsClientCtor: STSClient });\n const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6);\n super(_config_7);\n this.config = _config_7;\n this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));\n this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));\n this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));\n this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));\n this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\nexports.STSClient = STSClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssumeRoleCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass AssumeRoleCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, AssumeRoleCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"AssumeRoleCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.AssumeRoleRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.AssumeRoleResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryAssumeRoleCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryAssumeRoleCommand)(output, context);\n }\n}\nexports.AssumeRoleCommand = AssumeRoleCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssumeRoleWithSAMLCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass AssumeRoleWithSAMLCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, AssumeRoleWithSAMLCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"AssumeRoleWithSAMLCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryAssumeRoleWithSAMLCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryAssumeRoleWithSAMLCommand)(output, context);\n }\n}\nexports.AssumeRoleWithSAMLCommand = AssumeRoleWithSAMLCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssumeRoleWithWebIdentityCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass AssumeRoleWithWebIdentityCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, AssumeRoleWithWebIdentityCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"AssumeRoleWithWebIdentityCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryAssumeRoleWithWebIdentityCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryAssumeRoleWithWebIdentityCommand)(output, context);\n }\n}\nexports.AssumeRoleWithWebIdentityCommand = AssumeRoleWithWebIdentityCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DecodeAuthorizationMessageCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass DecodeAuthorizationMessageCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DecodeAuthorizationMessageCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"DecodeAuthorizationMessageCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DecodeAuthorizationMessageRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.DecodeAuthorizationMessageResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryDecodeAuthorizationMessageCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryDecodeAuthorizationMessageCommand)(output, context);\n }\n}\nexports.DecodeAuthorizationMessageCommand = DecodeAuthorizationMessageCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetAccessKeyInfoCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass GetAccessKeyInfoCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetAccessKeyInfoCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"GetAccessKeyInfoCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetAccessKeyInfoRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetAccessKeyInfoResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryGetAccessKeyInfoCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryGetAccessKeyInfoCommand)(output, context);\n }\n}\nexports.GetAccessKeyInfoCommand = GetAccessKeyInfoCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetCallerIdentityCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass GetCallerIdentityCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetCallerIdentityCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"GetCallerIdentityCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetCallerIdentityRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetCallerIdentityResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryGetCallerIdentityCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryGetCallerIdentityCommand)(output, context);\n }\n}\nexports.GetCallerIdentityCommand = GetCallerIdentityCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetFederationTokenCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass GetFederationTokenCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetFederationTokenCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"GetFederationTokenCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetFederationTokenRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetFederationTokenResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryGetFederationTokenCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryGetFederationTokenCommand)(output, context);\n }\n}\nexports.GetFederationTokenCommand = GetFederationTokenCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetSessionTokenCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass GetSessionTokenCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetSessionTokenCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"GetSessionTokenCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetSessionTokenRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetSessionTokenResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryGetSessionTokenCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryGetSessionTokenCommand)(output, context);\n }\n}\nexports.GetSessionTokenCommand = GetSessionTokenCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AssumeRoleCommand\"), exports);\ntslib_1.__exportStar(require(\"./AssumeRoleWithSAMLCommand\"), exports);\ntslib_1.__exportStar(require(\"./AssumeRoleWithWebIdentityCommand\"), exports);\ntslib_1.__exportStar(require(\"./DecodeAuthorizationMessageCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetAccessKeyInfoCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetCallerIdentityCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetFederationTokenCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetSessionTokenCommand\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0;\nconst defaultStsRoleAssumers_1 = require(\"./defaultStsRoleAssumers\");\nconst STSClient_1 = require(\"./STSClient\");\nconst getCustomizableStsClientCtor = (baseCtor, customizations) => {\n if (!customizations)\n return baseCtor;\n else\n return class CustomizableSTSClient extends baseCtor {\n constructor(config) {\n super(config);\n for (const customization of customizations) {\n this.middlewareStack.use(customization);\n }\n }\n };\n};\nconst getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumer)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins));\nexports.getDefaultRoleAssumer = getDefaultRoleAssumer;\nconst getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumerWithWebIdentity)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins));\nexports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity;\nconst decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: (0, exports.getDefaultRoleAssumer)(input),\n roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input),\n ...input,\n});\nexports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0;\nconst AssumeRoleCommand_1 = require(\"./commands/AssumeRoleCommand\");\nconst AssumeRoleWithWebIdentityCommand_1 = require(\"./commands/AssumeRoleWithWebIdentityCommand\");\nconst ASSUME_ROLE_DEFAULT_REGION = \"us-east-1\";\nconst decorateDefaultRegion = (region) => {\n if (typeof region !== \"function\") {\n return region === undefined ? ASSUME_ROLE_DEFAULT_REGION : region;\n }\n return async () => {\n try {\n return await region();\n }\n catch (e) {\n return ASSUME_ROLE_DEFAULT_REGION;\n }\n };\n};\nconst getDefaultRoleAssumer = (stsOptions, stsClientCtor) => {\n let stsClient;\n let closureSourceCreds;\n return async (sourceCreds, params) => {\n closureSourceCreds = sourceCreds;\n if (!stsClient) {\n const { logger, region, requestHandler } = stsOptions;\n stsClient = new stsClientCtor({\n logger,\n credentialDefaultProvider: () => async () => closureSourceCreds,\n region: decorateDefaultRegion(region || stsOptions.region),\n ...(requestHandler ? { requestHandler } : {}),\n });\n }\n const { Credentials } = await stsClient.send(new AssumeRoleCommand_1.AssumeRoleCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);\n }\n return {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n };\n };\n};\nexports.getDefaultRoleAssumer = getDefaultRoleAssumer;\nconst getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => {\n let stsClient;\n return async (params) => {\n if (!stsClient) {\n const { logger, region, requestHandler } = stsOptions;\n stsClient = new stsClientCtor({\n logger,\n region: decorateDefaultRegion(region || stsOptions.region),\n ...(requestHandler ? { requestHandler } : {}),\n });\n }\n const { Credentials } = await stsClient.send(new AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);\n }\n return {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n };\n };\n};\nexports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity;\nconst decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: (0, exports.getDefaultRoleAssumer)(input, input.stsClientCtor),\n roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input, input.stsClientCtor),\n ...input,\n});\nexports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveClientEndpointParameters = void 0;\nconst resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n defaultSigningName: \"sts\",\n };\n};\nexports.resolveClientEndpointParameters = resolveClientEndpointParameters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst G = \"required\", H = \"type\", I = \"fn\", J = \"argv\", K = \"ref\", L = \"properties\", M = \"headers\";\nconst a = false, b = true, c = \"PartitionResult\", d = \"tree\", e = \"booleanEquals\", f = \"stringEquals\", g = \"sigv4\", h = \"us-east-1\", i = \"sts\", j = \"endpoint\", k = \"https://sts.{Region}.{PartitionResult#dnsSuffix}\", l = \"error\", m = \"getAttr\", n = { [G]: false, [H]: \"String\" }, o = { [G]: true, \"default\": false, [H]: \"Boolean\" }, p = { [K]: \"Region\" }, q = { [K]: \"UseFIPS\" }, r = { [K]: \"UseDualStack\" }, s = { [I]: \"isSet\", [J]: [{ [K]: \"Endpoint\" }] }, t = { [K]: \"Endpoint\" }, u = { \"url\": \"https://sts.amazonaws.com\", [L]: { \"authSchemes\": [{ \"name\": g, \"signingRegion\": h, \"signingName\": i }] }, [M]: {} }, v = {}, w = { \"conditions\": [{ [I]: f, [J]: [p, \"aws-global\"] }], [j]: u, [H]: j }, x = { [I]: e, [J]: [q, true] }, y = { [I]: e, [J]: [r, true] }, z = { [I]: e, [J]: [true, { [I]: m, [J]: [{ [K]: c }, \"supportsFIPS\"] }] }, A = { [K]: c }, B = { [I]: e, [J]: [true, { [I]: m, [J]: [A, \"supportsDualStack\"] }] }, C = { \"url\": k, [L]: {}, [M]: {} }, D = [t], E = [x], F = [y];\nconst _data = { version: \"1.0\", parameters: { Region: n, UseDualStack: o, UseFIPS: o, Endpoint: n, UseGlobalEndpoint: o }, rules: [{ conditions: [{ [I]: \"aws.partition\", [J]: [p], assign: c }], [H]: d, rules: [{ conditions: [{ [I]: e, [J]: [{ [K]: \"UseGlobalEndpoint\" }, b] }, { [I]: e, [J]: [q, a] }, { [I]: e, [J]: [r, a] }, { [I]: \"not\", [J]: [s] }], [H]: d, rules: [{ conditions: [{ [I]: f, [J]: [p, \"ap-northeast-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"ap-south-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"ap-southeast-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"ap-southeast-2\"] }], endpoint: u, [H]: j }, w, { conditions: [{ [I]: f, [J]: [p, \"ca-central-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-central-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-north-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-west-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-west-2\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-west-3\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"sa-east-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, h] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"us-east-2\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"us-west-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"us-west-2\"] }], endpoint: u, [H]: j }, { endpoint: { url: k, [L]: { authSchemes: [{ name: g, signingRegion: \"{Region}\", signingName: i }] }, [M]: v }, [H]: j }] }, { conditions: [s, { [I]: \"parseURL\", [J]: D, assign: \"url\" }], [H]: d, rules: [{ conditions: E, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", [H]: l }, { [H]: d, rules: [{ conditions: F, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", [H]: l }, { endpoint: { url: t, [L]: v, [M]: v }, [H]: j }] }] }, { conditions: [x, y], [H]: d, rules: [{ conditions: [z, B], [H]: d, rules: [{ endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", [L]: v, [M]: v }, [H]: j }] }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", [H]: l }] }, { conditions: E, [H]: d, rules: [{ conditions: [z], [H]: d, rules: [{ [H]: d, rules: [{ conditions: [{ [I]: f, [J]: [\"aws-us-gov\", { [I]: m, [J]: [A, \"name\"] }] }], endpoint: C, [H]: j }, { endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dnsSuffix}\", [L]: v, [M]: v }, [H]: j }] }] }, { error: \"FIPS is enabled but this partition does not support FIPS\", [H]: l }] }, { conditions: F, [H]: d, rules: [{ conditions: [B], [H]: d, rules: [{ endpoint: { url: \"https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}\", [L]: v, [M]: v }, [H]: j }] }, { error: \"DualStack is enabled but this partition does not support DualStack\", [H]: l }] }, { [H]: d, rules: [w, { endpoint: C, [H]: j }] }] }] };\nexports.ruleSet = _data;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STSServiceException = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./STS\"), exports);\ntslib_1.__exportStar(require(\"./STSClient\"), exports);\ntslib_1.__exportStar(require(\"./commands\"), exports);\ntslib_1.__exportStar(require(\"./defaultRoleAssumers\"), exports);\ntslib_1.__exportStar(require(\"./models\"), exports);\nvar STSServiceException_1 = require(\"./models/STSServiceException\");\nObject.defineProperty(exports, \"STSServiceException\", { enumerable: true, get: function () { return STSServiceException_1.STSServiceException; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STSServiceException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nclass STSServiceException extends smithy_client_1.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, STSServiceException.prototype);\n }\n}\nexports.STSServiceException = STSServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./models_0\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetSessionTokenResponseFilterSensitiveLog = exports.GetSessionTokenRequestFilterSensitiveLog = exports.GetFederationTokenResponseFilterSensitiveLog = exports.FederatedUserFilterSensitiveLog = exports.GetFederationTokenRequestFilterSensitiveLog = exports.GetCallerIdentityResponseFilterSensitiveLog = exports.GetCallerIdentityRequestFilterSensitiveLog = exports.GetAccessKeyInfoResponseFilterSensitiveLog = exports.GetAccessKeyInfoRequestFilterSensitiveLog = exports.DecodeAuthorizationMessageResponseFilterSensitiveLog = exports.DecodeAuthorizationMessageRequestFilterSensitiveLog = exports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = exports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = exports.AssumeRoleWithSAMLResponseFilterSensitiveLog = exports.AssumeRoleWithSAMLRequestFilterSensitiveLog = exports.AssumeRoleResponseFilterSensitiveLog = exports.CredentialsFilterSensitiveLog = exports.AssumeRoleRequestFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.PolicyDescriptorTypeFilterSensitiveLog = exports.AssumedRoleUserFilterSensitiveLog = exports.InvalidAuthorizationMessageException = exports.IDPCommunicationErrorException = exports.InvalidIdentityTokenException = exports.IDPRejectedClaimException = exports.RegionDisabledException = exports.PackedPolicyTooLargeException = exports.MalformedPolicyDocumentException = exports.ExpiredTokenException = void 0;\nconst STSServiceException_1 = require(\"./STSServiceException\");\nclass ExpiredTokenException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ExpiredTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n }\n}\nexports.ExpiredTokenException = ExpiredTokenException;\nclass MalformedPolicyDocumentException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"MalformedPolicyDocumentException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"MalformedPolicyDocumentException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);\n }\n}\nexports.MalformedPolicyDocumentException = MalformedPolicyDocumentException;\nclass PackedPolicyTooLargeException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"PackedPolicyTooLargeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"PackedPolicyTooLargeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, PackedPolicyTooLargeException.prototype);\n }\n}\nexports.PackedPolicyTooLargeException = PackedPolicyTooLargeException;\nclass RegionDisabledException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"RegionDisabledException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"RegionDisabledException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, RegionDisabledException.prototype);\n }\n}\nexports.RegionDisabledException = RegionDisabledException;\nclass IDPRejectedClaimException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"IDPRejectedClaimException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"IDPRejectedClaimException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, IDPRejectedClaimException.prototype);\n }\n}\nexports.IDPRejectedClaimException = IDPRejectedClaimException;\nclass InvalidIdentityTokenException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"InvalidIdentityTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidIdentityTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidIdentityTokenException.prototype);\n }\n}\nexports.InvalidIdentityTokenException = InvalidIdentityTokenException;\nclass IDPCommunicationErrorException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"IDPCommunicationErrorException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"IDPCommunicationErrorException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, IDPCommunicationErrorException.prototype);\n }\n}\nexports.IDPCommunicationErrorException = IDPCommunicationErrorException;\nclass InvalidAuthorizationMessageException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"InvalidAuthorizationMessageException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidAuthorizationMessageException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidAuthorizationMessageException.prototype);\n }\n}\nexports.InvalidAuthorizationMessageException = InvalidAuthorizationMessageException;\nconst AssumedRoleUserFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumedRoleUserFilterSensitiveLog = AssumedRoleUserFilterSensitiveLog;\nconst PolicyDescriptorTypeFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PolicyDescriptorTypeFilterSensitiveLog = PolicyDescriptorTypeFilterSensitiveLog;\nconst TagFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TagFilterSensitiveLog = TagFilterSensitiveLog;\nconst AssumeRoleRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleRequestFilterSensitiveLog = AssumeRoleRequestFilterSensitiveLog;\nconst CredentialsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CredentialsFilterSensitiveLog = CredentialsFilterSensitiveLog;\nconst AssumeRoleResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleResponseFilterSensitiveLog = AssumeRoleResponseFilterSensitiveLog;\nconst AssumeRoleWithSAMLRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleWithSAMLRequestFilterSensitiveLog = AssumeRoleWithSAMLRequestFilterSensitiveLog;\nconst AssumeRoleWithSAMLResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleWithSAMLResponseFilterSensitiveLog = AssumeRoleWithSAMLResponseFilterSensitiveLog;\nconst AssumeRoleWithWebIdentityRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = AssumeRoleWithWebIdentityRequestFilterSensitiveLog;\nconst AssumeRoleWithWebIdentityResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = AssumeRoleWithWebIdentityResponseFilterSensitiveLog;\nconst DecodeAuthorizationMessageRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DecodeAuthorizationMessageRequestFilterSensitiveLog = DecodeAuthorizationMessageRequestFilterSensitiveLog;\nconst DecodeAuthorizationMessageResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DecodeAuthorizationMessageResponseFilterSensitiveLog = DecodeAuthorizationMessageResponseFilterSensitiveLog;\nconst GetAccessKeyInfoRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetAccessKeyInfoRequestFilterSensitiveLog = GetAccessKeyInfoRequestFilterSensitiveLog;\nconst GetAccessKeyInfoResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetAccessKeyInfoResponseFilterSensitiveLog = GetAccessKeyInfoResponseFilterSensitiveLog;\nconst GetCallerIdentityRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetCallerIdentityRequestFilterSensitiveLog = GetCallerIdentityRequestFilterSensitiveLog;\nconst GetCallerIdentityResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetCallerIdentityResponseFilterSensitiveLog = GetCallerIdentityResponseFilterSensitiveLog;\nconst GetFederationTokenRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetFederationTokenRequestFilterSensitiveLog = GetFederationTokenRequestFilterSensitiveLog;\nconst FederatedUserFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.FederatedUserFilterSensitiveLog = FederatedUserFilterSensitiveLog;\nconst GetFederationTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetFederationTokenResponseFilterSensitiveLog = GetFederationTokenResponseFilterSensitiveLog;\nconst GetSessionTokenRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetSessionTokenRequestFilterSensitiveLog = GetSessionTokenRequestFilterSensitiveLog;\nconst GetSessionTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetSessionTokenResponseFilterSensitiveLog = GetSessionTokenResponseFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserializeAws_queryGetSessionTokenCommand = exports.deserializeAws_queryGetFederationTokenCommand = exports.deserializeAws_queryGetCallerIdentityCommand = exports.deserializeAws_queryGetAccessKeyInfoCommand = exports.deserializeAws_queryDecodeAuthorizationMessageCommand = exports.deserializeAws_queryAssumeRoleWithWebIdentityCommand = exports.deserializeAws_queryAssumeRoleWithSAMLCommand = exports.deserializeAws_queryAssumeRoleCommand = exports.serializeAws_queryGetSessionTokenCommand = exports.serializeAws_queryGetFederationTokenCommand = exports.serializeAws_queryGetCallerIdentityCommand = exports.serializeAws_queryGetAccessKeyInfoCommand = exports.serializeAws_queryDecodeAuthorizationMessageCommand = exports.serializeAws_queryAssumeRoleWithWebIdentityCommand = exports.serializeAws_queryAssumeRoleWithSAMLCommand = exports.serializeAws_queryAssumeRoleCommand = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst fast_xml_parser_1 = require(\"fast-xml-parser\");\nconst models_0_1 = require(\"../models/models_0\");\nconst STSServiceException_1 = require(\"../models/STSServiceException\");\nconst serializeAws_queryAssumeRoleCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryAssumeRoleRequest(input, context),\n Action: \"AssumeRole\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryAssumeRoleCommand = serializeAws_queryAssumeRoleCommand;\nconst serializeAws_queryAssumeRoleWithSAMLCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryAssumeRoleWithSAMLRequest(input, context),\n Action: \"AssumeRoleWithSAML\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryAssumeRoleWithSAMLCommand = serializeAws_queryAssumeRoleWithSAMLCommand;\nconst serializeAws_queryAssumeRoleWithWebIdentityCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryAssumeRoleWithWebIdentityRequest(input, context),\n Action: \"AssumeRoleWithWebIdentity\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryAssumeRoleWithWebIdentityCommand = serializeAws_queryAssumeRoleWithWebIdentityCommand;\nconst serializeAws_queryDecodeAuthorizationMessageCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryDecodeAuthorizationMessageRequest(input, context),\n Action: \"DecodeAuthorizationMessage\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryDecodeAuthorizationMessageCommand = serializeAws_queryDecodeAuthorizationMessageCommand;\nconst serializeAws_queryGetAccessKeyInfoCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryGetAccessKeyInfoRequest(input, context),\n Action: \"GetAccessKeyInfo\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryGetAccessKeyInfoCommand = serializeAws_queryGetAccessKeyInfoCommand;\nconst serializeAws_queryGetCallerIdentityCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryGetCallerIdentityRequest(input, context),\n Action: \"GetCallerIdentity\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryGetCallerIdentityCommand = serializeAws_queryGetCallerIdentityCommand;\nconst serializeAws_queryGetFederationTokenCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryGetFederationTokenRequest(input, context),\n Action: \"GetFederationToken\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryGetFederationTokenCommand = serializeAws_queryGetFederationTokenCommand;\nconst serializeAws_queryGetSessionTokenCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryGetSessionTokenRequest(input, context),\n Action: \"GetSessionToken\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryGetSessionTokenCommand = serializeAws_queryGetSessionTokenCommand;\nconst deserializeAws_queryAssumeRoleCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryAssumeRoleCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryAssumeRoleResponse(data.AssumeRoleResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryAssumeRoleCommand = deserializeAws_queryAssumeRoleCommand;\nconst deserializeAws_queryAssumeRoleCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExpiredTokenException\":\n case \"com.amazonaws.sts#ExpiredTokenException\":\n throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context);\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryAssumeRoleWithSAMLCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryAssumeRoleWithSAMLCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryAssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryAssumeRoleWithSAMLCommand = deserializeAws_queryAssumeRoleWithSAMLCommand;\nconst deserializeAws_queryAssumeRoleWithSAMLCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExpiredTokenException\":\n case \"com.amazonaws.sts#ExpiredTokenException\":\n throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context);\n case \"IDPRejectedClaim\":\n case \"com.amazonaws.sts#IDPRejectedClaimException\":\n throw await deserializeAws_queryIDPRejectedClaimExceptionResponse(parsedOutput, context);\n case \"InvalidIdentityToken\":\n case \"com.amazonaws.sts#InvalidIdentityTokenException\":\n throw await deserializeAws_queryInvalidIdentityTokenExceptionResponse(parsedOutput, context);\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryAssumeRoleWithWebIdentityCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryAssumeRoleWithWebIdentityCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryAssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryAssumeRoleWithWebIdentityCommand = deserializeAws_queryAssumeRoleWithWebIdentityCommand;\nconst deserializeAws_queryAssumeRoleWithWebIdentityCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExpiredTokenException\":\n case \"com.amazonaws.sts#ExpiredTokenException\":\n throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context);\n case \"IDPCommunicationError\":\n case \"com.amazonaws.sts#IDPCommunicationErrorException\":\n throw await deserializeAws_queryIDPCommunicationErrorExceptionResponse(parsedOutput, context);\n case \"IDPRejectedClaim\":\n case \"com.amazonaws.sts#IDPRejectedClaimException\":\n throw await deserializeAws_queryIDPRejectedClaimExceptionResponse(parsedOutput, context);\n case \"InvalidIdentityToken\":\n case \"com.amazonaws.sts#InvalidIdentityTokenException\":\n throw await deserializeAws_queryInvalidIdentityTokenExceptionResponse(parsedOutput, context);\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryDecodeAuthorizationMessageCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryDecodeAuthorizationMessageCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryDecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryDecodeAuthorizationMessageCommand = deserializeAws_queryDecodeAuthorizationMessageCommand;\nconst deserializeAws_queryDecodeAuthorizationMessageCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidAuthorizationMessageException\":\n case \"com.amazonaws.sts#InvalidAuthorizationMessageException\":\n throw await deserializeAws_queryInvalidAuthorizationMessageExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryGetAccessKeyInfoCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryGetAccessKeyInfoCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryGetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryGetAccessKeyInfoCommand = deserializeAws_queryGetAccessKeyInfoCommand;\nconst deserializeAws_queryGetAccessKeyInfoCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n};\nconst deserializeAws_queryGetCallerIdentityCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryGetCallerIdentityCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryGetCallerIdentityResponse(data.GetCallerIdentityResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryGetCallerIdentityCommand = deserializeAws_queryGetCallerIdentityCommand;\nconst deserializeAws_queryGetCallerIdentityCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n};\nconst deserializeAws_queryGetFederationTokenCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryGetFederationTokenCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryGetFederationTokenResponse(data.GetFederationTokenResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryGetFederationTokenCommand = deserializeAws_queryGetFederationTokenCommand;\nconst deserializeAws_queryGetFederationTokenCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryGetSessionTokenCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryGetSessionTokenCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryGetSessionTokenResponse(data.GetSessionTokenResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryGetSessionTokenCommand = deserializeAws_queryGetSessionTokenCommand;\nconst deserializeAws_queryGetSessionTokenCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryExpiredTokenExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryExpiredTokenException(body.Error, context);\n const exception = new models_0_1.ExpiredTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryIDPCommunicationErrorExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryIDPCommunicationErrorException(body.Error, context);\n const exception = new models_0_1.IDPCommunicationErrorException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryIDPRejectedClaimExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryIDPRejectedClaimException(body.Error, context);\n const exception = new models_0_1.IDPRejectedClaimException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryInvalidAuthorizationMessageExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryInvalidAuthorizationMessageException(body.Error, context);\n const exception = new models_0_1.InvalidAuthorizationMessageException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryInvalidIdentityTokenExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryInvalidIdentityTokenException(body.Error, context);\n const exception = new models_0_1.InvalidIdentityTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryMalformedPolicyDocumentExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryMalformedPolicyDocumentException(body.Error, context);\n const exception = new models_0_1.MalformedPolicyDocumentException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryPackedPolicyTooLargeExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryPackedPolicyTooLargeException(body.Error, context);\n const exception = new models_0_1.PackedPolicyTooLargeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryRegionDisabledExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryRegionDisabledException(body.Error, context);\n const exception = new models_0_1.RegionDisabledException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst serializeAws_queryAssumeRoleRequest = (input, context) => {\n const entries = {};\n if (input.RoleArn != null) {\n entries[\"RoleArn\"] = input.RoleArn;\n }\n if (input.RoleSessionName != null) {\n entries[\"RoleSessionName\"] = input.RoleSessionName;\n }\n if (input.PolicyArns != null) {\n const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context);\n if (input.PolicyArns?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input.Policy != null) {\n entries[\"Policy\"] = input.Policy;\n }\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n if (input.Tags != null) {\n const memberEntries = serializeAws_querytagListType(input.Tags, context);\n if (input.Tags?.length === 0) {\n entries.Tags = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `Tags.${key}`;\n entries[loc] = value;\n });\n }\n if (input.TransitiveTagKeys != null) {\n const memberEntries = serializeAws_querytagKeyListType(input.TransitiveTagKeys, context);\n if (input.TransitiveTagKeys?.length === 0) {\n entries.TransitiveTagKeys = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `TransitiveTagKeys.${key}`;\n entries[loc] = value;\n });\n }\n if (input.ExternalId != null) {\n entries[\"ExternalId\"] = input.ExternalId;\n }\n if (input.SerialNumber != null) {\n entries[\"SerialNumber\"] = input.SerialNumber;\n }\n if (input.TokenCode != null) {\n entries[\"TokenCode\"] = input.TokenCode;\n }\n if (input.SourceIdentity != null) {\n entries[\"SourceIdentity\"] = input.SourceIdentity;\n }\n return entries;\n};\nconst serializeAws_queryAssumeRoleWithSAMLRequest = (input, context) => {\n const entries = {};\n if (input.RoleArn != null) {\n entries[\"RoleArn\"] = input.RoleArn;\n }\n if (input.PrincipalArn != null) {\n entries[\"PrincipalArn\"] = input.PrincipalArn;\n }\n if (input.SAMLAssertion != null) {\n entries[\"SAMLAssertion\"] = input.SAMLAssertion;\n }\n if (input.PolicyArns != null) {\n const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context);\n if (input.PolicyArns?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input.Policy != null) {\n entries[\"Policy\"] = input.Policy;\n }\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n return entries;\n};\nconst serializeAws_queryAssumeRoleWithWebIdentityRequest = (input, context) => {\n const entries = {};\n if (input.RoleArn != null) {\n entries[\"RoleArn\"] = input.RoleArn;\n }\n if (input.RoleSessionName != null) {\n entries[\"RoleSessionName\"] = input.RoleSessionName;\n }\n if (input.WebIdentityToken != null) {\n entries[\"WebIdentityToken\"] = input.WebIdentityToken;\n }\n if (input.ProviderId != null) {\n entries[\"ProviderId\"] = input.ProviderId;\n }\n if (input.PolicyArns != null) {\n const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context);\n if (input.PolicyArns?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input.Policy != null) {\n entries[\"Policy\"] = input.Policy;\n }\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n return entries;\n};\nconst serializeAws_queryDecodeAuthorizationMessageRequest = (input, context) => {\n const entries = {};\n if (input.EncodedMessage != null) {\n entries[\"EncodedMessage\"] = input.EncodedMessage;\n }\n return entries;\n};\nconst serializeAws_queryGetAccessKeyInfoRequest = (input, context) => {\n const entries = {};\n if (input.AccessKeyId != null) {\n entries[\"AccessKeyId\"] = input.AccessKeyId;\n }\n return entries;\n};\nconst serializeAws_queryGetCallerIdentityRequest = (input, context) => {\n const entries = {};\n return entries;\n};\nconst serializeAws_queryGetFederationTokenRequest = (input, context) => {\n const entries = {};\n if (input.Name != null) {\n entries[\"Name\"] = input.Name;\n }\n if (input.Policy != null) {\n entries[\"Policy\"] = input.Policy;\n }\n if (input.PolicyArns != null) {\n const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context);\n if (input.PolicyArns?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n if (input.Tags != null) {\n const memberEntries = serializeAws_querytagListType(input.Tags, context);\n if (input.Tags?.length === 0) {\n entries.Tags = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `Tags.${key}`;\n entries[loc] = value;\n });\n }\n return entries;\n};\nconst serializeAws_queryGetSessionTokenRequest = (input, context) => {\n const entries = {};\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n if (input.SerialNumber != null) {\n entries[\"SerialNumber\"] = input.SerialNumber;\n }\n if (input.TokenCode != null) {\n entries[\"TokenCode\"] = input.TokenCode;\n }\n return entries;\n};\nconst serializeAws_querypolicyDescriptorListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = serializeAws_queryPolicyDescriptorType(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst serializeAws_queryPolicyDescriptorType = (input, context) => {\n const entries = {};\n if (input.arn != null) {\n entries[\"arn\"] = input.arn;\n }\n return entries;\n};\nconst serializeAws_queryTag = (input, context) => {\n const entries = {};\n if (input.Key != null) {\n entries[\"Key\"] = input.Key;\n }\n if (input.Value != null) {\n entries[\"Value\"] = input.Value;\n }\n return entries;\n};\nconst serializeAws_querytagKeyListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n entries[`member.${counter}`] = entry;\n counter++;\n }\n return entries;\n};\nconst serializeAws_querytagListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = serializeAws_queryTag(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst deserializeAws_queryAssumedRoleUser = (output, context) => {\n const contents = {\n AssumedRoleId: undefined,\n Arn: undefined,\n };\n if (output[\"AssumedRoleId\"] !== undefined) {\n contents.AssumedRoleId = (0, smithy_client_1.expectString)(output[\"AssumedRoleId\"]);\n }\n if (output[\"Arn\"] !== undefined) {\n contents.Arn = (0, smithy_client_1.expectString)(output[\"Arn\"]);\n }\n return contents;\n};\nconst deserializeAws_queryAssumeRoleResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n AssumedRoleUser: undefined,\n PackedPolicySize: undefined,\n SourceIdentity: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n if (output[\"AssumedRoleUser\"] !== undefined) {\n contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output[\"AssumedRoleUser\"], context);\n }\n if (output[\"PackedPolicySize\"] !== undefined) {\n contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output[\"PackedPolicySize\"]);\n }\n if (output[\"SourceIdentity\"] !== undefined) {\n contents.SourceIdentity = (0, smithy_client_1.expectString)(output[\"SourceIdentity\"]);\n }\n return contents;\n};\nconst deserializeAws_queryAssumeRoleWithSAMLResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n AssumedRoleUser: undefined,\n PackedPolicySize: undefined,\n Subject: undefined,\n SubjectType: undefined,\n Issuer: undefined,\n Audience: undefined,\n NameQualifier: undefined,\n SourceIdentity: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n if (output[\"AssumedRoleUser\"] !== undefined) {\n contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output[\"AssumedRoleUser\"], context);\n }\n if (output[\"PackedPolicySize\"] !== undefined) {\n contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output[\"PackedPolicySize\"]);\n }\n if (output[\"Subject\"] !== undefined) {\n contents.Subject = (0, smithy_client_1.expectString)(output[\"Subject\"]);\n }\n if (output[\"SubjectType\"] !== undefined) {\n contents.SubjectType = (0, smithy_client_1.expectString)(output[\"SubjectType\"]);\n }\n if (output[\"Issuer\"] !== undefined) {\n contents.Issuer = (0, smithy_client_1.expectString)(output[\"Issuer\"]);\n }\n if (output[\"Audience\"] !== undefined) {\n contents.Audience = (0, smithy_client_1.expectString)(output[\"Audience\"]);\n }\n if (output[\"NameQualifier\"] !== undefined) {\n contents.NameQualifier = (0, smithy_client_1.expectString)(output[\"NameQualifier\"]);\n }\n if (output[\"SourceIdentity\"] !== undefined) {\n contents.SourceIdentity = (0, smithy_client_1.expectString)(output[\"SourceIdentity\"]);\n }\n return contents;\n};\nconst deserializeAws_queryAssumeRoleWithWebIdentityResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n SubjectFromWebIdentityToken: undefined,\n AssumedRoleUser: undefined,\n PackedPolicySize: undefined,\n Provider: undefined,\n Audience: undefined,\n SourceIdentity: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n if (output[\"SubjectFromWebIdentityToken\"] !== undefined) {\n contents.SubjectFromWebIdentityToken = (0, smithy_client_1.expectString)(output[\"SubjectFromWebIdentityToken\"]);\n }\n if (output[\"AssumedRoleUser\"] !== undefined) {\n contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output[\"AssumedRoleUser\"], context);\n }\n if (output[\"PackedPolicySize\"] !== undefined) {\n contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output[\"PackedPolicySize\"]);\n }\n if (output[\"Provider\"] !== undefined) {\n contents.Provider = (0, smithy_client_1.expectString)(output[\"Provider\"]);\n }\n if (output[\"Audience\"] !== undefined) {\n contents.Audience = (0, smithy_client_1.expectString)(output[\"Audience\"]);\n }\n if (output[\"SourceIdentity\"] !== undefined) {\n contents.SourceIdentity = (0, smithy_client_1.expectString)(output[\"SourceIdentity\"]);\n }\n return contents;\n};\nconst deserializeAws_queryCredentials = (output, context) => {\n const contents = {\n AccessKeyId: undefined,\n SecretAccessKey: undefined,\n SessionToken: undefined,\n Expiration: undefined,\n };\n if (output[\"AccessKeyId\"] !== undefined) {\n contents.AccessKeyId = (0, smithy_client_1.expectString)(output[\"AccessKeyId\"]);\n }\n if (output[\"SecretAccessKey\"] !== undefined) {\n contents.SecretAccessKey = (0, smithy_client_1.expectString)(output[\"SecretAccessKey\"]);\n }\n if (output[\"SessionToken\"] !== undefined) {\n contents.SessionToken = (0, smithy_client_1.expectString)(output[\"SessionToken\"]);\n }\n if (output[\"Expiration\"] !== undefined) {\n contents.Expiration = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"Expiration\"]));\n }\n return contents;\n};\nconst deserializeAws_queryDecodeAuthorizationMessageResponse = (output, context) => {\n const contents = {\n DecodedMessage: undefined,\n };\n if (output[\"DecodedMessage\"] !== undefined) {\n contents.DecodedMessage = (0, smithy_client_1.expectString)(output[\"DecodedMessage\"]);\n }\n return contents;\n};\nconst deserializeAws_queryExpiredTokenException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryFederatedUser = (output, context) => {\n const contents = {\n FederatedUserId: undefined,\n Arn: undefined,\n };\n if (output[\"FederatedUserId\"] !== undefined) {\n contents.FederatedUserId = (0, smithy_client_1.expectString)(output[\"FederatedUserId\"]);\n }\n if (output[\"Arn\"] !== undefined) {\n contents.Arn = (0, smithy_client_1.expectString)(output[\"Arn\"]);\n }\n return contents;\n};\nconst deserializeAws_queryGetAccessKeyInfoResponse = (output, context) => {\n const contents = {\n Account: undefined,\n };\n if (output[\"Account\"] !== undefined) {\n contents.Account = (0, smithy_client_1.expectString)(output[\"Account\"]);\n }\n return contents;\n};\nconst deserializeAws_queryGetCallerIdentityResponse = (output, context) => {\n const contents = {\n UserId: undefined,\n Account: undefined,\n Arn: undefined,\n };\n if (output[\"UserId\"] !== undefined) {\n contents.UserId = (0, smithy_client_1.expectString)(output[\"UserId\"]);\n }\n if (output[\"Account\"] !== undefined) {\n contents.Account = (0, smithy_client_1.expectString)(output[\"Account\"]);\n }\n if (output[\"Arn\"] !== undefined) {\n contents.Arn = (0, smithy_client_1.expectString)(output[\"Arn\"]);\n }\n return contents;\n};\nconst deserializeAws_queryGetFederationTokenResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n FederatedUser: undefined,\n PackedPolicySize: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n if (output[\"FederatedUser\"] !== undefined) {\n contents.FederatedUser = deserializeAws_queryFederatedUser(output[\"FederatedUser\"], context);\n }\n if (output[\"PackedPolicySize\"] !== undefined) {\n contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output[\"PackedPolicySize\"]);\n }\n return contents;\n};\nconst deserializeAws_queryGetSessionTokenResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n return contents;\n};\nconst deserializeAws_queryIDPCommunicationErrorException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryIDPRejectedClaimException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryInvalidAuthorizationMessageException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryInvalidIdentityTokenException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryMalformedPolicyDocumentException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryPackedPolicyTooLargeException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryRegionDisabledException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const contents = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path: basePath.endsWith(\"/\") ? basePath.slice(0, -1) + path : basePath + path,\n headers,\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n }\n return new protocol_http_1.HttpRequest(contents);\n};\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parser = new fast_xml_parser_1.XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n const parsedObj = parser.parse(encoded);\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return (0, smithy_client_1.getValueFromTextNode)(parsedObjToReturn);\n }\n return {};\n});\nconst parseErrorBody = async (errorBody, context) => {\n const value = await parseBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nconst buildFormUrlencodedString = (formEntries) => Object.entries(formEntries)\n .map(([key, value]) => (0, smithy_client_1.extendedEncodeURIComponent)(key) + \"=\" + (0, smithy_client_1.extendedEncodeURIComponent)(value))\n .join(\"&\");\nconst loadQueryErrorCode = (output, data) => {\n if (data.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst defaultStsRoleAssumers_1 = require(\"./defaultStsRoleAssumers\");\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst credential_provider_node_1 = require(\"@aws-sdk/credential-provider-node\");\nconst hash_node_1 = require(\"@aws-sdk/hash-node\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_body_length_node_1 = require(\"@aws-sdk/util-body-length-node\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst util_defaults_mode_node_1 = require(\"@aws-sdk/util-defaults-mode-node\");\nconst smithy_client_2 = require(\"@aws-sdk/smithy-client\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, defaultStsRoleAssumers_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider),\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst util_base64_1 = require(\"@aws-sdk/util-base64\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => ({\n apiVersion: \"2011-06-15\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n serviceId: config?.serviceId ?? \"STS\",\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n});\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_DUALSTACK_ENDPOINT = exports.CONFIG_USE_DUALSTACK_ENDPOINT = exports.ENV_USE_DUALSTACK_ENDPOINT = void 0;\nconst util_config_provider_1 = require(\"@aws-sdk/util-config-provider\");\nexports.ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexports.CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexports.DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.ENV),\n configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.CONFIG),\n default: false,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_FIPS_ENDPOINT = exports.CONFIG_USE_FIPS_ENDPOINT = exports.ENV_USE_FIPS_ENDPOINT = void 0;\nconst util_config_provider_1 = require(\"@aws-sdk/util-config-provider\");\nexports.ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexports.CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexports.DEFAULT_USE_FIPS_ENDPOINT = false;\nexports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.ENV),\n configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.CONFIG),\n default: false,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./NodeUseDualstackEndpointConfigOptions\"), exports);\ntslib_1.__exportStar(require(\"./NodeUseFipsEndpointConfigOptions\"), exports);\ntslib_1.__exportStar(require(\"./resolveCustomEndpointsConfig\"), exports);\ntslib_1.__exportStar(require(\"./resolveEndpointsConfig\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCustomEndpointsConfig = void 0;\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst resolveCustomEndpointsConfig = (input) => {\n var _a, _b;\n const { endpoint, urlParser } = input;\n return {\n ...input,\n tls: (_a = input.tls) !== null && _a !== void 0 ? _a : true,\n endpoint: (0, util_middleware_1.normalizeProvider)(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false),\n };\n};\nexports.resolveCustomEndpointsConfig = resolveCustomEndpointsConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveEndpointsConfig = void 0;\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst getEndpointFromRegion_1 = require(\"./utils/getEndpointFromRegion\");\nconst resolveEndpointsConfig = (input) => {\n var _a, _b;\n const useDualstackEndpoint = (0, util_middleware_1.normalizeProvider)((_a = input.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false);\n const { endpoint, useFipsEndpoint, urlParser } = input;\n return {\n ...input,\n tls: (_b = input.tls) !== null && _b !== void 0 ? _b : true,\n endpoint: endpoint\n ? (0, util_middleware_1.normalizeProvider)(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : () => (0, getEndpointFromRegion_1.getEndpointFromRegion)({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint,\n };\n};\nexports.resolveEndpointsConfig = resolveEndpointsConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointFromRegion = void 0;\nconst getEndpointFromRegion = async (input) => {\n var _a;\n const { tls = true } = input;\n const region = await input.region();\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n const useDualstackEndpoint = await input.useDualstackEndpoint();\n const useFipsEndpoint = await input.useFipsEndpoint();\n const { hostname } = (_a = (await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint }))) !== null && _a !== void 0 ? _a : {};\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n return input.urlParser(`${tls ? \"https:\" : \"http:\"}//${hostname}`);\n};\nexports.getEndpointFromRegion = getEndpointFromRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./endpointsConfig\"), exports);\ntslib_1.__exportStar(require(\"./regionConfig\"), exports);\ntslib_1.__exportStar(require(\"./regionInfo\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_REGION_CONFIG_FILE_OPTIONS = exports.NODE_REGION_CONFIG_OPTIONS = exports.REGION_INI_NAME = exports.REGION_ENV_NAME = void 0;\nexports.REGION_ENV_NAME = \"AWS_REGION\";\nexports.REGION_INI_NAME = \"region\";\nexports.NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[exports.REGION_ENV_NAME],\n configFileSelector: (profile) => profile[exports.REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\nexports.NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRealRegion = void 0;\nconst isFipsRegion_1 = require(\"./isFipsRegion\");\nconst getRealRegion = (region) => (0, isFipsRegion_1.isFipsRegion)(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\nexports.getRealRegion = getRealRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./config\"), exports);\ntslib_1.__exportStar(require(\"./resolveRegionConfig\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFipsRegion = void 0;\nconst isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\nexports.isFipsRegion = isFipsRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveRegionConfig = void 0;\nconst getRealRegion_1 = require(\"./getRealRegion\");\nconst isFipsRegion_1 = require(\"./isFipsRegion\");\nconst resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return {\n ...input,\n region: async () => {\n if (typeof region === \"string\") {\n return (0, getRealRegion_1.getRealRegion)(region);\n }\n const providedRegion = await region();\n return (0, getRealRegion_1.getRealRegion)(providedRegion);\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if ((0, isFipsRegion_1.isFipsRegion)(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n };\n};\nexports.resolveRegionConfig = resolveRegionConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHostnameFromVariants = void 0;\nconst getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => {\n var _a;\n return (_a = variants.find(({ tags }) => useFipsEndpoint === tags.includes(\"fips\") && useDualstackEndpoint === tags.includes(\"dualstack\"))) === null || _a === void 0 ? void 0 : _a.hostname;\n};\nexports.getHostnameFromVariants = getHostnameFromVariants;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRegionInfo = void 0;\nconst getHostnameFromVariants_1 = require(\"./getHostnameFromVariants\");\nconst getResolvedHostname_1 = require(\"./getResolvedHostname\");\nconst getResolvedPartition_1 = require(\"./getResolvedPartition\");\nconst getResolvedSigningRegion_1 = require(\"./getResolvedSigningRegion\");\nconst getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {\n var _a, _b, _c, _d, _e, _f;\n const partition = (0, getResolvedPartition_1.getResolvedPartition)(region, { partitionHash });\n const resolvedRegion = region in regionHash ? region : (_b = (_a = partitionHash[partition]) === null || _a === void 0 ? void 0 : _a.endpoint) !== null && _b !== void 0 ? _b : region;\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\n const regionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_c = regionHash[resolvedRegion]) === null || _c === void 0 ? void 0 : _c.variants, hostnameOptions);\n const partitionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_d = partitionHash[partition]) === null || _d === void 0 ? void 0 : _d.variants, hostnameOptions);\n const hostname = (0, getResolvedHostname_1.getResolvedHostname)(resolvedRegion, { regionHostname, partitionHostname });\n if (hostname === undefined) {\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\n }\n const signingRegion = (0, getResolvedSigningRegion_1.getResolvedSigningRegion)(hostname, {\n signingRegion: (_e = regionHash[resolvedRegion]) === null || _e === void 0 ? void 0 : _e.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint,\n });\n return {\n partition,\n signingService,\n hostname,\n ...(signingRegion && { signingRegion }),\n ...(((_f = regionHash[resolvedRegion]) === null || _f === void 0 ? void 0 : _f.signingService) && {\n signingService: regionHash[resolvedRegion].signingService,\n }),\n };\n};\nexports.getRegionInfo = getRegionInfo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getResolvedHostname = void 0;\nconst getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname\n ? regionHostname\n : partitionHostname\n ? partitionHostname.replace(\"{region}\", resolvedRegion)\n : undefined;\nexports.getResolvedHostname = getResolvedHostname;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getResolvedPartition = void 0;\nconst getResolvedPartition = (region, { partitionHash }) => { var _a; return (_a = Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region))) !== null && _a !== void 0 ? _a : \"aws\"; };\nexports.getResolvedPartition = getResolvedPartition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getResolvedSigningRegion = void 0;\nconst getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {\n if (signingRegion) {\n return signingRegion;\n }\n else if (useFipsEndpoint) {\n const regionRegexJs = regionRegex.replace(\"\\\\\\\\\", \"\\\\\").replace(/^\\^/g, \"\\\\.\").replace(/\\$$/g, \"\\\\.\");\n const regionRegexmatchArray = hostname.match(regionRegexJs);\n if (regionRegexmatchArray) {\n return regionRegexmatchArray[0].slice(1, -1);\n }\n }\n};\nexports.getResolvedSigningRegion = getResolvedSigningRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./PartitionHash\"), exports);\ntslib_1.__exportStar(require(\"./RegionHash\"), exports);\ntslib_1.__exportStar(require(\"./getRegionInfo\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromEnv = exports.ENV_EXPIRATION = exports.ENV_SESSION = exports.ENV_SECRET = exports.ENV_KEY = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nexports.ENV_KEY = \"AWS_ACCESS_KEY_ID\";\nexports.ENV_SECRET = \"AWS_SECRET_ACCESS_KEY\";\nexports.ENV_SESSION = \"AWS_SESSION_TOKEN\";\nexports.ENV_EXPIRATION = \"AWS_CREDENTIAL_EXPIRATION\";\nconst fromEnv = () => async () => {\n const accessKeyId = process.env[exports.ENV_KEY];\n const secretAccessKey = process.env[exports.ENV_SECRET];\n const sessionToken = process.env[exports.ENV_SESSION];\n const expiry = process.env[exports.ENV_EXPIRATION];\n if (accessKeyId && secretAccessKey) {\n return {\n accessKeyId,\n secretAccessKey,\n ...(sessionToken && { sessionToken }),\n ...(expiry && { expiration: new Date(expiry) }),\n };\n }\n throw new property_provider_1.CredentialsProviderError(\"Unable to find environment variable credentials.\");\n};\nexports.fromEnv = fromEnv;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromEnv\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Endpoint = void 0;\nvar Endpoint;\n(function (Endpoint) {\n Endpoint[\"IPv4\"] = \"http://169.254.169.254\";\n Endpoint[\"IPv6\"] = \"http://[fd00:ec2::254]\";\n})(Endpoint = exports.Endpoint || (exports.Endpoint = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ENDPOINT_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_NAME = exports.ENV_ENDPOINT_NAME = void 0;\nexports.ENV_ENDPOINT_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT\";\nexports.CONFIG_ENDPOINT_NAME = \"ec2_metadata_service_endpoint\";\nexports.ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_NAME],\n configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_NAME],\n default: undefined,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointMode = void 0;\nvar EndpointMode;\n(function (EndpointMode) {\n EndpointMode[\"IPv4\"] = \"IPv4\";\n EndpointMode[\"IPv6\"] = \"IPv6\";\n})(EndpointMode = exports.EndpointMode || (exports.EndpointMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ENDPOINT_MODE_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_MODE_NAME = exports.ENV_ENDPOINT_MODE_NAME = void 0;\nconst EndpointMode_1 = require(\"./EndpointMode\");\nexports.ENV_ENDPOINT_MODE_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE\";\nexports.CONFIG_ENDPOINT_MODE_NAME = \"ec2_metadata_service_endpoint_mode\";\nexports.ENDPOINT_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_MODE_NAME],\n configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_MODE_NAME],\n default: EndpointMode_1.EndpointMode.IPv4,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromContainerMetadata = exports.ENV_CMDS_AUTH_TOKEN = exports.ENV_CMDS_RELATIVE_URI = exports.ENV_CMDS_FULL_URI = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst url_1 = require(\"url\");\nconst httpRequest_1 = require(\"./remoteProvider/httpRequest\");\nconst ImdsCredentials_1 = require(\"./remoteProvider/ImdsCredentials\");\nconst RemoteProviderInit_1 = require(\"./remoteProvider/RemoteProviderInit\");\nconst retry_1 = require(\"./remoteProvider/retry\");\nexports.ENV_CMDS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nexports.ENV_CMDS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nexports.ENV_CMDS_AUTH_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nconst fromContainerMetadata = (init = {}) => {\n const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init);\n return () => (0, retry_1.retry)(async () => {\n const requestOptions = await getCmdsUri();\n const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));\n if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) {\n throw new property_provider_1.CredentialsProviderError(\"Invalid response received from instance metadata service.\");\n }\n return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse);\n }, maxRetries);\n};\nexports.fromContainerMetadata = fromContainerMetadata;\nconst requestFromEcsImds = async (timeout, options) => {\n if (process.env[exports.ENV_CMDS_AUTH_TOKEN]) {\n options.headers = {\n ...options.headers,\n Authorization: process.env[exports.ENV_CMDS_AUTH_TOKEN],\n };\n }\n const buffer = await (0, httpRequest_1.httpRequest)({\n ...options,\n timeout,\n });\n return buffer.toString();\n};\nconst CMDS_IP = \"169.254.170.2\";\nconst GREENGRASS_HOSTS = {\n localhost: true,\n \"127.0.0.1\": true,\n};\nconst GREENGRASS_PROTOCOLS = {\n \"http:\": true,\n \"https:\": true,\n};\nconst getCmdsUri = async () => {\n if (process.env[exports.ENV_CMDS_RELATIVE_URI]) {\n return {\n hostname: CMDS_IP,\n path: process.env[exports.ENV_CMDS_RELATIVE_URI],\n };\n }\n if (process.env[exports.ENV_CMDS_FULL_URI]) {\n const parsed = (0, url_1.parse)(process.env[exports.ENV_CMDS_FULL_URI]);\n if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {\n throw new property_provider_1.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false);\n }\n if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {\n throw new property_provider_1.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false);\n }\n return {\n ...parsed,\n port: parsed.port ? parseInt(parsed.port, 10) : undefined,\n };\n }\n throw new property_provider_1.CredentialsProviderError(\"The container metadata credential provider cannot be used unless\" +\n ` the ${exports.ENV_CMDS_RELATIVE_URI} or ${exports.ENV_CMDS_FULL_URI} environment` +\n \" variable is set\", false);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromInstanceMetadata = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst httpRequest_1 = require(\"./remoteProvider/httpRequest\");\nconst ImdsCredentials_1 = require(\"./remoteProvider/ImdsCredentials\");\nconst RemoteProviderInit_1 = require(\"./remoteProvider/RemoteProviderInit\");\nconst retry_1 = require(\"./remoteProvider/retry\");\nconst getInstanceMetadataEndpoint_1 = require(\"./utils/getInstanceMetadataEndpoint\");\nconst staticStabilityProvider_1 = require(\"./utils/staticStabilityProvider\");\nconst IMDS_PATH = \"/latest/meta-data/iam/security-credentials/\";\nconst IMDS_TOKEN_PATH = \"/latest/api/token\";\nconst fromInstanceMetadata = (init = {}) => (0, staticStabilityProvider_1.staticStabilityProvider)(getInstanceImdsProvider(init), { logger: init.logger });\nexports.fromInstanceMetadata = fromInstanceMetadata;\nconst getInstanceImdsProvider = (init) => {\n let disableFetchToken = false;\n const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init);\n const getCredentials = async (maxRetries, options) => {\n const profile = (await (0, retry_1.retry)(async () => {\n let profile;\n try {\n profile = await getProfile(options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return profile;\n }, maxRetries)).trim();\n return (0, retry_1.retry)(async () => {\n let creds;\n try {\n creds = await getCredentialsFromProfile(profile, options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return creds;\n }, maxRetries);\n };\n return async () => {\n const endpoint = await (0, getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint)();\n if (disableFetchToken) {\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n else {\n let token;\n try {\n token = (await getMetadataToken({ ...endpoint, timeout })).toString();\n }\n catch (error) {\n if ((error === null || error === void 0 ? void 0 : error.statusCode) === 400) {\n throw Object.assign(error, {\n message: \"EC2 Metadata token request returned error\",\n });\n }\n else if (error.message === \"TimeoutError\" || [403, 404, 405].includes(error.statusCode)) {\n disableFetchToken = true;\n }\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n return getCredentials(maxRetries, {\n ...endpoint,\n headers: {\n \"x-aws-ec2-metadata-token\": token,\n },\n timeout,\n });\n }\n };\n};\nconst getMetadataToken = async (options) => (0, httpRequest_1.httpRequest)({\n ...options,\n path: IMDS_TOKEN_PATH,\n method: \"PUT\",\n headers: {\n \"x-aws-ec2-metadata-token-ttl-seconds\": \"21600\",\n },\n});\nconst getProfile = async (options) => (await (0, httpRequest_1.httpRequest)({ ...options, path: IMDS_PATH })).toString();\nconst getCredentialsFromProfile = async (profile, options) => {\n const credsResponse = JSON.parse((await (0, httpRequest_1.httpRequest)({\n ...options,\n path: IMDS_PATH + profile,\n })).toString());\n if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) {\n throw new property_provider_1.CredentialsProviderError(\"Invalid response received from instance metadata service.\");\n }\n return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInstanceMetadataEndpoint = exports.httpRequest = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromContainerMetadata\"), exports);\ntslib_1.__exportStar(require(\"./fromInstanceMetadata\"), exports);\ntslib_1.__exportStar(require(\"./remoteProvider/RemoteProviderInit\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\nvar httpRequest_1 = require(\"./remoteProvider/httpRequest\");\nObject.defineProperty(exports, \"httpRequest\", { enumerable: true, get: function () { return httpRequest_1.httpRequest; } });\nvar getInstanceMetadataEndpoint_1 = require(\"./utils/getInstanceMetadataEndpoint\");\nObject.defineProperty(exports, \"getInstanceMetadataEndpoint\", { enumerable: true, get: function () { return getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromImdsCredentials = exports.isImdsCredentials = void 0;\nconst isImdsCredentials = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.AccessKeyId === \"string\" &&\n typeof arg.SecretAccessKey === \"string\" &&\n typeof arg.Token === \"string\" &&\n typeof arg.Expiration === \"string\";\nexports.isImdsCredentials = isImdsCredentials;\nconst fromImdsCredentials = (creds) => ({\n accessKeyId: creds.AccessKeyId,\n secretAccessKey: creds.SecretAccessKey,\n sessionToken: creds.Token,\n expiration: new Date(creds.Expiration),\n});\nexports.fromImdsCredentials = fromImdsCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.providerConfigFromInit = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT = void 0;\nexports.DEFAULT_TIMEOUT = 1000;\nexports.DEFAULT_MAX_RETRIES = 0;\nconst providerConfigFromInit = ({ maxRetries = exports.DEFAULT_MAX_RETRIES, timeout = exports.DEFAULT_TIMEOUT, }) => ({ maxRetries, timeout });\nexports.providerConfigFromInit = providerConfigFromInit;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.httpRequest = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst buffer_1 = require(\"buffer\");\nconst http_1 = require(\"http\");\nfunction httpRequest(options) {\n return new Promise((resolve, reject) => {\n var _a;\n const req = (0, http_1.request)({\n method: \"GET\",\n ...options,\n hostname: (_a = options.hostname) === null || _a === void 0 ? void 0 : _a.replace(/^\\[(.+)\\]$/, \"$1\"),\n });\n req.on(\"error\", (err) => {\n reject(Object.assign(new property_provider_1.ProviderError(\"Unable to connect to instance metadata service\"), err));\n req.destroy();\n });\n req.on(\"timeout\", () => {\n reject(new property_provider_1.ProviderError(\"TimeoutError from instance metadata service\"));\n req.destroy();\n });\n req.on(\"response\", (res) => {\n const { statusCode = 400 } = res;\n if (statusCode < 200 || 300 <= statusCode) {\n reject(Object.assign(new property_provider_1.ProviderError(\"Error response received from instance metadata service\"), { statusCode }));\n req.destroy();\n }\n const chunks = [];\n res.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n res.on(\"end\", () => {\n resolve(buffer_1.Buffer.concat(chunks));\n req.destroy();\n });\n });\n req.end();\n });\n}\nexports.httpRequest = httpRequest;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nconst retry = (toRetry, maxRetries) => {\n let promise = toRetry();\n for (let i = 0; i < maxRetries; i++) {\n promise = promise.catch(toRetry);\n }\n return promise;\n};\nexports.retry = retry;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getExtendedInstanceMetadataCredentials = void 0;\nconst STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;\nconst STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;\nconst STATIC_STABILITY_DOC_URL = \"https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html\";\nconst getExtendedInstanceMetadataCredentials = (credentials, logger) => {\n var _a;\n const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS +\n Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);\n const newExpiration = new Date(Date.now() + refreshInterval * 1000);\n logger.warn(\"Attempting credential expiration extension due to a credential service availability issue. A refresh of these \" +\n \"credentials will be attempted after ${new Date(newExpiration)}.\\nFor more information, please visit: \" +\n STATIC_STABILITY_DOC_URL);\n const originalExpiration = (_a = credentials.originalExpiration) !== null && _a !== void 0 ? _a : credentials.expiration;\n return {\n ...credentials,\n ...(originalExpiration ? { originalExpiration } : {}),\n expiration: newExpiration,\n };\n};\nexports.getExtendedInstanceMetadataCredentials = getExtendedInstanceMetadataCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInstanceMetadataEndpoint = void 0;\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst Endpoint_1 = require(\"../config/Endpoint\");\nconst EndpointConfigOptions_1 = require(\"../config/EndpointConfigOptions\");\nconst EndpointMode_1 = require(\"../config/EndpointMode\");\nconst EndpointModeConfigOptions_1 = require(\"../config/EndpointModeConfigOptions\");\nconst getInstanceMetadataEndpoint = async () => (0, url_parser_1.parseUrl)((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));\nexports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint;\nconst getFromEndpointConfig = async () => (0, node_config_provider_1.loadConfig)(EndpointConfigOptions_1.ENDPOINT_CONFIG_OPTIONS)();\nconst getFromEndpointModeConfig = async () => {\n const endpointMode = await (0, node_config_provider_1.loadConfig)(EndpointModeConfigOptions_1.ENDPOINT_MODE_CONFIG_OPTIONS)();\n switch (endpointMode) {\n case EndpointMode_1.EndpointMode.IPv4:\n return Endpoint_1.Endpoint.IPv4;\n case EndpointMode_1.EndpointMode.IPv6:\n return Endpoint_1.Endpoint.IPv6;\n default:\n throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode_1.EndpointMode)}`);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.staticStabilityProvider = void 0;\nconst getExtendedInstanceMetadataCredentials_1 = require(\"./getExtendedInstanceMetadataCredentials\");\nconst staticStabilityProvider = (provider, options = {}) => {\n const logger = (options === null || options === void 0 ? void 0 : options.logger) || console;\n let pastCredentials;\n return async () => {\n let credentials;\n try {\n credentials = await provider();\n if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {\n credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(credentials, logger);\n }\n }\n catch (e) {\n if (pastCredentials) {\n logger.warn(\"Credential renew failed: \", e);\n credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(pastCredentials, logger);\n }\n else {\n throw e;\n }\n }\n pastCredentials = credentials;\n return credentials;\n };\n};\nexports.staticStabilityProvider = staticStabilityProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromIni = void 0;\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst resolveProfileData_1 = require(\"./resolveProfileData\");\nconst fromIni = (init = {}) => async () => {\n const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);\n return (0, resolveProfileData_1.resolveProfileData)((0, shared_ini_file_loader_1.getProfileName)(init), profiles, init);\n};\nexports.fromIni = fromIni;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromIni\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveAssumeRoleCredentials = exports.isAssumeRoleProfile = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst resolveCredentialSource_1 = require(\"./resolveCredentialSource\");\nconst resolveProfileData_1 = require(\"./resolveProfileData\");\nconst isAssumeRoleProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.external_id) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.mfa_serial) > -1 &&\n (isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg));\nexports.isAssumeRoleProfile = isAssumeRoleProfile;\nconst isAssumeRoleWithSourceProfile = (arg) => typeof arg.source_profile === \"string\" && typeof arg.credential_source === \"undefined\";\nconst isAssumeRoleWithProviderProfile = (arg) => typeof arg.credential_source === \"string\" && typeof arg.source_profile === \"undefined\";\nconst resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => {\n const data = profiles[profileName];\n if (!options.roleAssumer) {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires a role to be assumed, but no role assumption callback was provided.`, false);\n }\n const { source_profile } = data;\n if (source_profile && source_profile in visitedProfiles) {\n throw new property_provider_1.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +\n ` ${(0, shared_ini_file_loader_1.getProfileName)(options)}. Profiles visited: ` +\n Object.keys(visitedProfiles).join(\", \"), false);\n }\n const sourceCredsProvider = source_profile\n ? (0, resolveProfileData_1.resolveProfileData)(source_profile, profiles, options, {\n ...visitedProfiles,\n [source_profile]: true,\n })\n : (0, resolveCredentialSource_1.resolveCredentialSource)(data.credential_source, profileName)();\n const params = {\n RoleArn: data.role_arn,\n RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`,\n ExternalId: data.external_id,\n };\n const { mfa_serial } = data;\n if (mfa_serial) {\n if (!options.mfaCodeProvider) {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, false);\n }\n params.SerialNumber = mfa_serial;\n params.TokenCode = await options.mfaCodeProvider(mfa_serial);\n }\n const sourceCreds = await sourceCredsProvider;\n return options.roleAssumer(sourceCreds, params);\n};\nexports.resolveAssumeRoleCredentials = resolveAssumeRoleCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCredentialSource = void 0;\nconst credential_provider_env_1 = require(\"@aws-sdk/credential-provider-env\");\nconst credential_provider_imds_1 = require(\"@aws-sdk/credential-provider-imds\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst resolveCredentialSource = (credentialSource, profileName) => {\n const sourceProvidersMap = {\n EcsContainer: credential_provider_imds_1.fromContainerMetadata,\n Ec2InstanceMetadata: credential_provider_imds_1.fromInstanceMetadata,\n Environment: credential_provider_env_1.fromEnv,\n };\n if (credentialSource in sourceProvidersMap) {\n return sourceProvidersMap[credentialSource]();\n }\n else {\n throw new property_provider_1.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +\n `expected EcsContainer or Ec2InstanceMetadata or Environment.`);\n }\n};\nexports.resolveCredentialSource = resolveCredentialSource;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveProcessCredentials = exports.isProcessProfile = void 0;\nconst credential_provider_process_1 = require(\"@aws-sdk/credential-provider-process\");\nconst isProcessProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.credential_process === \"string\";\nexports.isProcessProfile = isProcessProfile;\nconst resolveProcessCredentials = async (options, profile) => (0, credential_provider_process_1.fromProcess)({\n ...options,\n profile,\n})();\nexports.resolveProcessCredentials = resolveProcessCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveProfileData = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst resolveAssumeRoleCredentials_1 = require(\"./resolveAssumeRoleCredentials\");\nconst resolveProcessCredentials_1 = require(\"./resolveProcessCredentials\");\nconst resolveSsoCredentials_1 = require(\"./resolveSsoCredentials\");\nconst resolveStaticCredentials_1 = require(\"./resolveStaticCredentials\");\nconst resolveWebIdentityCredentials_1 = require(\"./resolveWebIdentityCredentials\");\nconst resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => {\n const data = profiles[profileName];\n if (Object.keys(visitedProfiles).length > 0 && (0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) {\n return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data);\n }\n if ((0, resolveAssumeRoleCredentials_1.isAssumeRoleProfile)(data)) {\n return (0, resolveAssumeRoleCredentials_1.resolveAssumeRoleCredentials)(profileName, profiles, options, visitedProfiles);\n }\n if ((0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) {\n return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data);\n }\n if ((0, resolveWebIdentityCredentials_1.isWebIdentityProfile)(data)) {\n return (0, resolveWebIdentityCredentials_1.resolveWebIdentityCredentials)(data, options);\n }\n if ((0, resolveProcessCredentials_1.isProcessProfile)(data)) {\n return (0, resolveProcessCredentials_1.resolveProcessCredentials)(options, profileName);\n }\n if ((0, resolveSsoCredentials_1.isSsoProfile)(data)) {\n return (0, resolveSsoCredentials_1.resolveSsoCredentials)(data);\n }\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`);\n};\nexports.resolveProfileData = resolveProfileData;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveSsoCredentials = exports.isSsoProfile = void 0;\nconst credential_provider_sso_1 = require(\"@aws-sdk/credential-provider-sso\");\nvar credential_provider_sso_2 = require(\"@aws-sdk/credential-provider-sso\");\nObject.defineProperty(exports, \"isSsoProfile\", { enumerable: true, get: function () { return credential_provider_sso_2.isSsoProfile; } });\nconst resolveSsoCredentials = (data) => {\n const { sso_start_url, sso_account_id, sso_session, sso_region, sso_role_name } = (0, credential_provider_sso_1.validateSsoProfile)(data);\n return (0, credential_provider_sso_1.fromSSO)({\n ssoStartUrl: sso_start_url,\n ssoAccountId: sso_account_id,\n ssoSession: sso_session,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n })();\n};\nexports.resolveSsoCredentials = resolveSsoCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveStaticCredentials = exports.isStaticCredsProfile = void 0;\nconst isStaticCredsProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.aws_access_key_id === \"string\" &&\n typeof arg.aws_secret_access_key === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_session_token) > -1;\nexports.isStaticCredsProfile = isStaticCredsProfile;\nconst resolveStaticCredentials = (profile) => Promise.resolve({\n accessKeyId: profile.aws_access_key_id,\n secretAccessKey: profile.aws_secret_access_key,\n sessionToken: profile.aws_session_token,\n});\nexports.resolveStaticCredentials = resolveStaticCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0;\nconst credential_provider_web_identity_1 = require(\"@aws-sdk/credential-provider-web-identity\");\nconst isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nexports.isWebIdentityProfile = isWebIdentityProfile;\nconst resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n})();\nexports.resolveWebIdentityCredentials = resolveWebIdentityCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultProvider = void 0;\nconst credential_provider_env_1 = require(\"@aws-sdk/credential-provider-env\");\nconst credential_provider_ini_1 = require(\"@aws-sdk/credential-provider-ini\");\nconst credential_provider_process_1 = require(\"@aws-sdk/credential-provider-process\");\nconst credential_provider_sso_1 = require(\"@aws-sdk/credential-provider-sso\");\nconst credential_provider_web_identity_1 = require(\"@aws-sdk/credential-provider-web-identity\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst remoteProvider_1 = require(\"./remoteProvider\");\nconst defaultProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)(...(init.profile || process.env[shared_ini_file_loader_1.ENV_PROFILE] ? [] : [(0, credential_provider_env_1.fromEnv)()]), (0, credential_provider_sso_1.fromSSO)(init), (0, credential_provider_ini_1.fromIni)(init), (0, credential_provider_process_1.fromProcess)(init), (0, credential_provider_web_identity_1.fromTokenFile)(init), (0, remoteProvider_1.remoteProvider)(init), async () => {\n throw new property_provider_1.CredentialsProviderError(\"Could not load credentials from any providers\", false);\n}), (credentials) => credentials.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000, (credentials) => credentials.expiration !== undefined);\nexports.defaultProvider = defaultProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./defaultProvider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.remoteProvider = exports.ENV_IMDS_DISABLED = void 0;\nconst credential_provider_imds_1 = require(\"@aws-sdk/credential-provider-imds\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nexports.ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nconst remoteProvider = (init) => {\n if (process.env[credential_provider_imds_1.ENV_CMDS_RELATIVE_URI] || process.env[credential_provider_imds_1.ENV_CMDS_FULL_URI]) {\n return (0, credential_provider_imds_1.fromContainerMetadata)(init);\n }\n if (process.env[exports.ENV_IMDS_DISABLED]) {\n return async () => {\n throw new property_provider_1.CredentialsProviderError(\"EC2 Instance Metadata Service access disabled\");\n };\n }\n return (0, credential_provider_imds_1.fromInstanceMetadata)(init);\n};\nexports.remoteProvider = remoteProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromProcess = void 0;\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst resolveProcessCredentials_1 = require(\"./resolveProcessCredentials\");\nconst fromProcess = (init = {}) => async () => {\n const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);\n return (0, resolveProcessCredentials_1.resolveProcessCredentials)((0, shared_ini_file_loader_1.getProfileName)(init), profiles);\n};\nexports.fromProcess = fromProcess;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getValidatedProcessCredentials = void 0;\nconst getValidatedProcessCredentials = (profileName, data) => {\n if (data.Version !== 1) {\n throw Error(`Profile ${profileName} credential_process did not return Version 1.`);\n }\n if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {\n throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);\n }\n if (data.Expiration) {\n const currentTime = new Date();\n const expireTime = new Date(data.Expiration);\n if (expireTime < currentTime) {\n throw Error(`Profile ${profileName} credential_process returned expired credentials.`);\n }\n }\n return {\n accessKeyId: data.AccessKeyId,\n secretAccessKey: data.SecretAccessKey,\n ...(data.SessionToken && { sessionToken: data.SessionToken }),\n ...(data.Expiration && { expiration: new Date(data.Expiration) }),\n };\n};\nexports.getValidatedProcessCredentials = getValidatedProcessCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromProcess\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveProcessCredentials = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst child_process_1 = require(\"child_process\");\nconst util_1 = require(\"util\");\nconst getValidatedProcessCredentials_1 = require(\"./getValidatedProcessCredentials\");\nconst resolveProcessCredentials = async (profileName, profiles) => {\n const profile = profiles[profileName];\n if (profiles[profileName]) {\n const credentialProcess = profile[\"credential_process\"];\n if (credentialProcess !== undefined) {\n const execPromise = (0, util_1.promisify)(child_process_1.exec);\n try {\n const { stdout } = await execPromise(credentialProcess);\n let data;\n try {\n data = JSON.parse(stdout.trim());\n }\n catch (_a) {\n throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);\n }\n return (0, getValidatedProcessCredentials_1.getValidatedProcessCredentials)(profileName, data);\n }\n catch (error) {\n throw new property_provider_1.CredentialsProviderError(error.message);\n }\n }\n else {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`);\n }\n }\n else {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`);\n }\n};\nexports.resolveProcessCredentials = resolveProcessCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromSSO = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst isSsoProfile_1 = require(\"./isSsoProfile\");\nconst resolveSSOCredentials_1 = require(\"./resolveSSOCredentials\");\nconst validateSsoProfile_1 = require(\"./validateSsoProfile\");\nconst fromSSO = (init = {}) => async () => {\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, ssoSession } = init;\n const profileName = (0, shared_ini_file_loader_1.getProfileName)(init);\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} was not found.`);\n }\n if (!(0, isSsoProfile_1.isSsoProfile)(profile)) {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`);\n }\n if (profile === null || profile === void 0 ? void 0 : profile.sso_session) {\n const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new property_provider_1.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, false);\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new property_provider_1.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, false);\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = (0, validateSsoProfile_1.validateSsoProfile)(profile);\n return (0, resolveSSOCredentials_1.resolveSSOCredentials)({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n profile: profileName,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new property_provider_1.CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"');\n }\n else {\n return (0, resolveSSOCredentials_1.resolveSSOCredentials)({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n profile: profileName,\n });\n }\n};\nexports.fromSSO = fromSSO;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromSSO\"), exports);\ntslib_1.__exportStar(require(\"./isSsoProfile\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./validateSsoProfile\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSsoProfile = void 0;\nconst isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\nexports.isSsoProfile = isSsoProfile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveSSOCredentials = void 0;\nconst client_sso_1 = require(\"@aws-sdk/client-sso\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst token_providers_1 = require(\"@aws-sdk/token-providers\");\nconst EXPIRE_WINDOW_MS = 15 * 60 * 1000;\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nconst resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, profile, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await (0, token_providers_1.fromSso)({ profile })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(e.message, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n }\n else {\n try {\n token = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoStartUrl);\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= EXPIRE_WINDOW_MS) {\n throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n const { accessToken } = token;\n const sso = ssoClient || new client_sso_1.SSOClient({ region: ssoRegion });\n let ssoResp;\n try {\n ssoResp = await sso.send(new client_sso_1.GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw property_provider_1.CredentialsProviderError.from(e, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration } = {} } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new property_provider_1.CredentialsProviderError(\"SSO returns an invalid temporary credential.\", SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration) };\n};\nexports.resolveSSOCredentials = resolveSSOCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateSsoProfile = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst validateSsoProfile = (profile) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new property_provider_1.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, false);\n }\n return profile;\n};\nexports.validateSsoProfile = validateSsoProfile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromTokenFile = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fs_1 = require(\"fs\");\nconst fromWebToken_1 = require(\"./fromWebToken\");\nconst ENV_TOKEN_FILE = \"AWS_WEB_IDENTITY_TOKEN_FILE\";\nconst ENV_ROLE_ARN = \"AWS_ROLE_ARN\";\nconst ENV_ROLE_SESSION_NAME = \"AWS_ROLE_SESSION_NAME\";\nconst fromTokenFile = (init = {}) => async () => {\n return resolveTokenFile(init);\n};\nexports.fromTokenFile = fromTokenFile;\nconst resolveTokenFile = (init) => {\n var _a, _b, _c;\n const webIdentityTokenFile = (_a = init === null || init === void 0 ? void 0 : init.webIdentityTokenFile) !== null && _a !== void 0 ? _a : process.env[ENV_TOKEN_FILE];\n const roleArn = (_b = init === null || init === void 0 ? void 0 : init.roleArn) !== null && _b !== void 0 ? _b : process.env[ENV_ROLE_ARN];\n const roleSessionName = (_c = init === null || init === void 0 ? void 0 : init.roleSessionName) !== null && _c !== void 0 ? _c : process.env[ENV_ROLE_SESSION_NAME];\n if (!webIdentityTokenFile || !roleArn) {\n throw new property_provider_1.CredentialsProviderError(\"Web identity configuration not specified\");\n }\n return (0, fromWebToken_1.fromWebToken)({\n ...init,\n webIdentityToken: (0, fs_1.readFileSync)(webIdentityTokenFile, { encoding: \"ascii\" }),\n roleArn,\n roleSessionName,\n })();\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromWebToken = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromWebToken = (init) => () => {\n const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds, roleAssumerWithWebIdentity, } = init;\n if (!roleAssumerWithWebIdentity) {\n throw new property_provider_1.CredentialsProviderError(`Role Arn '${roleArn}' needs to be assumed with web identity,` +\n ` but no role assumption callback was provided.`, false);\n }\n return roleAssumerWithWebIdentity({\n RoleArn: roleArn,\n RoleSessionName: roleSessionName !== null && roleSessionName !== void 0 ? roleSessionName : `aws-sdk-js-session-${Date.now()}`,\n WebIdentityToken: webIdentityToken,\n ProviderId: providerId,\n PolicyArns: policyArns,\n Policy: policy,\n DurationSeconds: durationSeconds,\n });\n};\nexports.fromWebToken = fromWebToken;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromTokenFile\"), exports);\ntslib_1.__exportStar(require(\"./fromWebToken\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventStreamCodec = void 0;\nconst crc32_1 = require(\"@aws-crypto/crc32\");\nconst HeaderMarshaller_1 = require(\"./HeaderMarshaller\");\nconst splitMessage_1 = require(\"./splitMessage\");\nclass EventStreamCodec {\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller_1.HeaderMarshaller(toUtf8, fromUtf8);\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new crc32_1.Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = (0, splitMessage_1.splitMessage)(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\nexports.EventStreamCodec = EventStreamCodec;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeaderMarshaller = void 0;\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nconst Int64_1 = require(\"./Int64\");\nclass HeaderMarshaller {\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64_1.Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set((0, util_hex_encoding_1.fromHex)(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(0, 4))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(4, 6))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(6, 8))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(8, 10))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nexports.HeaderMarshaller = HeaderMarshaller;\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Int64 = void 0;\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nclass Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt((0, util_hex_encoding_1.toHex)(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nexports.Int64 = Int64;\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EventStreamCodec\"), exports);\ntslib_1.__exportStar(require(\"./Int64\"), exports);\ntslib_1.__exportStar(require(\"./Message\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitMessage = void 0;\nconst crc32_1 = require(\"@aws-crypto/crc32\");\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nfunction splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new crc32_1.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\nexports.splitMessage = splitMessage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveEventStreamSerdeConfig = void 0;\nconst resolveEventStreamSerdeConfig = (input) => ({\n ...input,\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\nexports.resolveEventStreamSerdeConfig = resolveEventStreamSerdeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EventStreamSerdeConfig\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventStreamMarshaller = void 0;\nconst eventstream_serde_universal_1 = require(\"@aws-sdk/eventstream-serde-universal\");\nconst stream_1 = require(\"stream\");\nconst utils_1 = require(\"./utils\");\nclass EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new eventstream_serde_universal_1.EventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = typeof body[Symbol.asyncIterator] === \"function\" ? body : (0, utils_1.readabletoIterable)(body);\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n return stream_1.Readable.from(this.universalMarshaller.serialize(input, serializer));\n }\n}\nexports.EventStreamMarshaller = EventStreamMarshaller;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EventStreamMarshaller\"), exports);\ntslib_1.__exportStar(require(\"./provider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.eventStreamSerdeProvider = void 0;\nconst EventStreamMarshaller_1 = require(\"./EventStreamMarshaller\");\nconst eventStreamSerdeProvider = (options) => new EventStreamMarshaller_1.EventStreamMarshaller(options);\nexports.eventStreamSerdeProvider = eventStreamSerdeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.readabletoIterable = void 0;\nasync function* readabletoIterable(readStream) {\n let streamEnded = false;\n let generationEnded = false;\n const records = new Array();\n readStream.on(\"error\", (err) => {\n if (!streamEnded) {\n streamEnded = true;\n }\n if (err) {\n throw err;\n }\n });\n readStream.on(\"data\", (data) => {\n records.push(data);\n });\n readStream.on(\"end\", () => {\n streamEnded = true;\n });\n while (!generationEnded) {\n const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));\n if (value) {\n yield value;\n }\n generationEnded = streamEnded && records.length === 0;\n }\n}\nexports.readabletoIterable = readabletoIterable;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventStreamMarshaller = void 0;\nconst eventstream_codec_1 = require(\"@aws-sdk/eventstream-codec\");\nconst getChunkedStream_1 = require(\"./getChunkedStream\");\nconst getUnmarshalledStream_1 = require(\"./getUnmarshalledStream\");\nclass EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new eventstream_codec_1.EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const chunkedStream = (0, getChunkedStream_1.getChunkedStream)(body);\n const unmarshalledStream = (0, getUnmarshalledStream_1.getUnmarshalledStream)(chunkedStream, {\n eventStreamCodec: this.eventStreamCodec,\n deserializer,\n toUtf8: this.utfEncoder,\n });\n return unmarshalledStream;\n }\n serialize(input, serializer) {\n const self = this;\n const serializedIterator = async function* () {\n for await (const chunk of input) {\n const payloadBuf = self.eventStreamCodec.encode(serializer(chunk));\n yield payloadBuf;\n }\n yield new Uint8Array(0);\n };\n return {\n [Symbol.asyncIterator]: serializedIterator,\n };\n }\n}\nexports.EventStreamMarshaller = EventStreamMarshaller;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChunkedStream = void 0;\nfunction getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\nexports.getChunkedStream = getChunkedStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUnmarshalledStream = void 0;\nfunction getUnmarshalledStream(source, options) {\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await options.deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(options.toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await options.deserializer(event);\n if (deserialized.$unknown)\n continue;\n yield deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n }\n },\n };\n}\nexports.getUnmarshalledStream = getUnmarshalledStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EventStreamMarshaller\"), exports);\ntslib_1.__exportStar(require(\"./provider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.eventStreamSerdeProvider = void 0;\nconst EventStreamMarshaller_1 = require(\"./EventStreamMarshaller\");\nconst eventStreamSerdeProvider = (options) => new EventStreamMarshaller_1.EventStreamMarshaller(options);\nexports.eventStreamSerdeProvider = eventStreamSerdeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hash = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst buffer_1 = require(\"buffer\");\nconst crypto_1 = require(\"crypto\");\nclass Hash {\n constructor(algorithmIdentifier, secret) {\n this.algorithmIdentifier = algorithmIdentifier;\n this.secret = secret;\n this.reset();\n }\n update(toHash, encoding) {\n this.hash.update((0, util_utf8_1.toUint8Array)(castSourceData(toHash, encoding)));\n }\n digest() {\n return Promise.resolve(this.hash.digest());\n }\n reset() {\n this.hash = this.secret\n ? (0, crypto_1.createHmac)(this.algorithmIdentifier, castSourceData(this.secret))\n : (0, crypto_1.createHash)(this.algorithmIdentifier);\n }\n}\nexports.Hash = Hash;\nfunction castSourceData(toCast, encoding) {\n if (buffer_1.Buffer.isBuffer(toCast)) {\n return toCast;\n }\n if (typeof toCast === \"string\") {\n return (0, util_buffer_from_1.fromString)(toCast, encoding);\n }\n if (ArrayBuffer.isView(toCast)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(toCast.buffer, toCast.byteOffset, toCast.byteLength);\n }\n return (0, util_buffer_from_1.fromArrayBuffer)(toCast);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HashCalculator = void 0;\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst stream_1 = require(\"stream\");\nclass HashCalculator extends stream_1.Writable {\n constructor(hash, options) {\n super(options);\n this.hash = hash;\n }\n _write(chunk, encoding, callback) {\n try {\n this.hash.update((0, util_utf8_1.toUint8Array)(chunk));\n }\n catch (err) {\n return callback(err);\n }\n callback();\n }\n}\nexports.HashCalculator = HashCalculator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fileStreamHasher = void 0;\nconst fs_1 = require(\"fs\");\nconst HashCalculator_1 = require(\"./HashCalculator\");\nconst fileStreamHasher = (hashCtor, fileStream) => new Promise((resolve, reject) => {\n if (!isReadStream(fileStream)) {\n reject(new Error(\"Unable to calculate hash for non-file streams.\"));\n return;\n }\n const fileStreamTee = (0, fs_1.createReadStream)(fileStream.path, {\n start: fileStream.start,\n end: fileStream.end,\n });\n const hash = new hashCtor();\n const hashCalculator = new HashCalculator_1.HashCalculator(hash);\n fileStreamTee.pipe(hashCalculator);\n fileStreamTee.on(\"error\", (err) => {\n hashCalculator.end();\n reject(err);\n });\n hashCalculator.on(\"error\", reject);\n hashCalculator.on(\"finish\", function () {\n hash.digest().then(resolve).catch(reject);\n });\n});\nexports.fileStreamHasher = fileStreamHasher;\nconst isReadStream = (stream) => typeof stream.path === \"string\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fileStreamHasher\"), exports);\ntslib_1.__exportStar(require(\"./readableStreamHasher\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.readableStreamHasher = void 0;\nconst HashCalculator_1 = require(\"./HashCalculator\");\nconst readableStreamHasher = (hashCtor, readableStream) => {\n if (readableStream.readableFlowing !== null) {\n throw new Error(\"Unable to calculate hash for flowing readable stream\");\n }\n const hash = new hashCtor();\n const hashCalculator = new HashCalculator_1.HashCalculator(hash);\n readableStream.pipe(hashCalculator);\n return new Promise((resolve, reject) => {\n readableStream.on(\"error\", (err) => {\n hashCalculator.end();\n reject(err);\n });\n hashCalculator.on(\"error\", reject);\n hashCalculator.on(\"finish\", () => {\n hash.digest().then(resolve).catch(reject);\n });\n });\n};\nexports.readableStreamHasher = readableStreamHasher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArrayBuffer = void 0;\nconst isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\nexports.isArrayBuffer = isArrayBuffer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS = exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME = exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME = void 0;\nconst util_config_provider_1 = require(\"@aws-sdk/util-config-provider\");\nexports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME = \"AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS\";\nexports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME = \"s3_disable_multiregion_access_points\";\nexports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME, util_config_provider_1.SelectorType.ENV),\n configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME, util_config_provider_1.SelectorType.CONFIG),\n default: false,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_USE_ARN_REGION_CONFIG_OPTIONS = exports.NODE_USE_ARN_REGION_INI_NAME = exports.NODE_USE_ARN_REGION_ENV_NAME = void 0;\nconst util_config_provider_1 = require(\"@aws-sdk/util-config-provider\");\nexports.NODE_USE_ARN_REGION_ENV_NAME = \"AWS_S3_USE_ARN_REGION\";\nexports.NODE_USE_ARN_REGION_INI_NAME = \"s3_use_arn_region\";\nexports.NODE_USE_ARN_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.NODE_USE_ARN_REGION_ENV_NAME, util_config_provider_1.SelectorType.ENV),\n configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.NODE_USE_ARN_REGION_INI_NAME, util_config_provider_1.SelectorType.CONFIG),\n default: false,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getBucketEndpointPlugin = exports.bucketEndpointMiddlewareOptions = exports.bucketEndpointMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst util_arn_parser_1 = require(\"@aws-sdk/util-arn-parser\");\nconst bucketHostname_1 = require(\"./bucketHostname\");\nconst bucketEndpointMiddleware = (options) => (next, context) => async (args) => {\n const { Bucket: bucketName } = args.input;\n let replaceBucketInPath = options.bucketEndpoint;\n const request = args.request;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n if (options.bucketEndpoint) {\n request.hostname = bucketName;\n }\n else if ((0, util_arn_parser_1.validate)(bucketName)) {\n const bucketArn = (0, util_arn_parser_1.parse)(bucketName);\n const clientRegion = await options.region();\n const useDualstackEndpoint = await options.useDualstackEndpoint();\n const useFipsEndpoint = await options.useFipsEndpoint();\n const { partition, signingRegion = clientRegion } = (await options.regionInfoProvider(clientRegion, { useDualstackEndpoint, useFipsEndpoint })) || {};\n const useArnRegion = await options.useArnRegion();\n const { hostname, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService, } = (0, bucketHostname_1.bucketHostname)({\n bucketName: bucketArn,\n baseHostname: request.hostname,\n accelerateEndpoint: options.useAccelerateEndpoint,\n dualstackEndpoint: useDualstackEndpoint,\n fipsEndpoint: useFipsEndpoint,\n pathStyleEndpoint: options.forcePathStyle,\n tlsCompatible: request.protocol === \"https:\",\n useArnRegion,\n clientPartition: partition,\n clientSigningRegion: signingRegion,\n clientRegion: clientRegion,\n isCustomEndpoint: options.isCustomEndpoint,\n disableMultiregionAccessPoints: await options.disableMultiregionAccessPoints(),\n });\n if (modifiedSigningRegion && modifiedSigningRegion !== signingRegion) {\n context[\"signing_region\"] = modifiedSigningRegion;\n }\n if (signingService && signingService !== \"s3\") {\n context[\"signing_service\"] = signingService;\n }\n request.hostname = hostname;\n replaceBucketInPath = bucketEndpoint;\n }\n else {\n const clientRegion = await options.region();\n const dualstackEndpoint = await options.useDualstackEndpoint();\n const fipsEndpoint = await options.useFipsEndpoint();\n const { hostname, bucketEndpoint } = (0, bucketHostname_1.bucketHostname)({\n bucketName,\n clientRegion,\n baseHostname: request.hostname,\n accelerateEndpoint: options.useAccelerateEndpoint,\n dualstackEndpoint,\n fipsEndpoint,\n pathStyleEndpoint: options.forcePathStyle,\n tlsCompatible: request.protocol === \"https:\",\n isCustomEndpoint: options.isCustomEndpoint,\n });\n request.hostname = hostname;\n replaceBucketInPath = bucketEndpoint;\n }\n if (replaceBucketInPath) {\n request.path = request.path.replace(/^(\\/)?[^\\/]+/, \"\");\n if (request.path === \"\") {\n request.path = \"/\";\n }\n }\n }\n return next({ ...args, request });\n};\nexports.bucketEndpointMiddleware = bucketEndpointMiddleware;\nexports.bucketEndpointMiddlewareOptions = {\n tags: [\"BUCKET_ENDPOINT\"],\n name: \"bucketEndpointMiddleware\",\n relation: \"before\",\n toMiddleware: \"hostHeaderMiddleware\",\n override: true,\n};\nconst getBucketEndpointPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, exports.bucketEndpointMiddleware)(options), exports.bucketEndpointMiddlewareOptions);\n },\n});\nexports.getBucketEndpointPlugin = getBucketEndpointPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bucketHostname = void 0;\nconst bucketHostnameUtils_1 = require(\"./bucketHostnameUtils\");\nconst bucketHostname = (options) => {\n (0, bucketHostnameUtils_1.validateCustomEndpoint)(options);\n return (0, bucketHostnameUtils_1.isBucketNameOptions)(options)\n ?\n getEndpointFromBucketName(options)\n :\n getEndpointFromArn(options);\n};\nexports.bucketHostname = bucketHostname;\nconst getEndpointFromBucketName = ({ accelerateEndpoint = false, clientRegion: region, baseHostname, bucketName, dualstackEndpoint = false, fipsEndpoint = false, pathStyleEndpoint = false, tlsCompatible = true, isCustomEndpoint = false, }) => {\n const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] : (0, bucketHostnameUtils_1.getSuffix)(baseHostname);\n if (pathStyleEndpoint || !(0, bucketHostnameUtils_1.isDnsCompatibleBucketName)(bucketName) || (tlsCompatible && bucketHostnameUtils_1.DOT_PATTERN.test(bucketName))) {\n return {\n bucketEndpoint: false,\n hostname: dualstackEndpoint ? `s3.dualstack.${clientRegion}.${hostnameSuffix}` : baseHostname,\n };\n }\n if (accelerateEndpoint) {\n baseHostname = `s3-accelerate${dualstackEndpoint ? \".dualstack\" : \"\"}.${hostnameSuffix}`;\n }\n else if (dualstackEndpoint) {\n baseHostname = `s3.dualstack.${clientRegion}.${hostnameSuffix}`;\n }\n return {\n bucketEndpoint: true,\n hostname: `${bucketName}.${baseHostname}`,\n };\n};\nconst getEndpointFromArn = (options) => {\n const { isCustomEndpoint, baseHostname, clientRegion } = options;\n const hostnameSuffix = isCustomEndpoint ? baseHostname : (0, bucketHostnameUtils_1.getSuffixForArnEndpoint)(baseHostname)[1];\n const { pathStyleEndpoint, accelerateEndpoint = false, fipsEndpoint = false, tlsCompatible = true, bucketName, clientPartition = \"aws\", } = options;\n (0, bucketHostnameUtils_1.validateArnEndpointOptions)({ pathStyleEndpoint, accelerateEndpoint, tlsCompatible });\n const { service, partition, accountId, region, resource } = bucketName;\n (0, bucketHostnameUtils_1.validateService)(service);\n (0, bucketHostnameUtils_1.validatePartition)(partition, { clientPartition });\n (0, bucketHostnameUtils_1.validateAccountId)(accountId);\n const { accesspointName, outpostId } = (0, bucketHostnameUtils_1.getArnResources)(resource);\n if (service === \"s3-object-lambda\") {\n return getEndpointFromObjectLambdaArn({ ...options, tlsCompatible, bucketName, accesspointName, hostnameSuffix });\n }\n if (region === \"\") {\n return getEndpointFromMRAPArn({ ...options, clientRegion, mrapAlias: accesspointName, hostnameSuffix });\n }\n if (outpostId) {\n return getEndpointFromOutpostArn({ ...options, clientRegion, outpostId, accesspointName, hostnameSuffix });\n }\n return getEndpointFromAccessPointArn({ ...options, clientRegion, accesspointName, hostnameSuffix });\n};\nconst getEndpointFromObjectLambdaArn = ({ dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, useArnRegion, clientRegion, clientSigningRegion = clientRegion, accesspointName, bucketName, hostnameSuffix, }) => {\n const { accountId, region, service } = bucketName;\n (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);\n (0, bucketHostnameUtils_1.validateRegion)(region, {\n useArnRegion,\n clientRegion,\n clientSigningRegion,\n allowFipsRegion: true,\n useFipsEndpoint: fipsEndpoint,\n });\n (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);\n const DNSHostLabel = `${accesspointName}-${accountId}`;\n (0, bucketHostnameUtils_1.validateDNSHostLabel)(DNSHostLabel, { tlsCompatible });\n const endpointRegion = useArnRegion ? region : clientRegion;\n const signingRegion = useArnRegion ? region : clientSigningRegion;\n return {\n bucketEndpoint: true,\n hostname: `${DNSHostLabel}.${service}${fipsEndpoint ? \"-fips\" : \"\"}.${endpointRegion}.${hostnameSuffix}`,\n signingRegion,\n signingService: service,\n };\n};\nconst getEndpointFromMRAPArn = ({ disableMultiregionAccessPoints, dualstackEndpoint = false, isCustomEndpoint, mrapAlias, hostnameSuffix, }) => {\n if (disableMultiregionAccessPoints === true) {\n throw new Error(\"SDK is attempting to use a MRAP ARN. Please enable to feature.\");\n }\n (0, bucketHostnameUtils_1.validateMrapAlias)(mrapAlias);\n (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);\n return {\n bucketEndpoint: true,\n hostname: `${mrapAlias}${isCustomEndpoint ? \"\" : `.accesspoint.s3-global`}.${hostnameSuffix}`,\n signingRegion: \"*\",\n };\n};\nconst getEndpointFromOutpostArn = ({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, outpostId, dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix, }) => {\n (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);\n (0, bucketHostnameUtils_1.validateRegion)(bucketName.region, { useArnRegion, clientRegion, clientSigningRegion, useFipsEndpoint: fipsEndpoint });\n const DNSHostLabel = `${accesspointName}-${bucketName.accountId}`;\n (0, bucketHostnameUtils_1.validateDNSHostLabel)(DNSHostLabel, { tlsCompatible });\n const endpointRegion = useArnRegion ? bucketName.region : clientRegion;\n const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;\n (0, bucketHostnameUtils_1.validateOutpostService)(bucketName.service);\n (0, bucketHostnameUtils_1.validateDNSHostLabel)(outpostId, { tlsCompatible });\n (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);\n (0, bucketHostnameUtils_1.validateNoFIPS)(fipsEndpoint);\n const hostnamePrefix = `${DNSHostLabel}.${outpostId}`;\n return {\n bucketEndpoint: true,\n hostname: `${hostnamePrefix}${isCustomEndpoint ? \"\" : `.s3-outposts.${endpointRegion}`}.${hostnameSuffix}`,\n signingRegion,\n signingService: \"s3-outposts\",\n };\n};\nconst getEndpointFromAccessPointArn = ({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix, }) => {\n (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);\n (0, bucketHostnameUtils_1.validateRegion)(bucketName.region, {\n useArnRegion,\n clientRegion,\n clientSigningRegion,\n allowFipsRegion: true,\n useFipsEndpoint: fipsEndpoint,\n });\n const hostnamePrefix = `${accesspointName}-${bucketName.accountId}`;\n (0, bucketHostnameUtils_1.validateDNSHostLabel)(hostnamePrefix, { tlsCompatible });\n const endpointRegion = useArnRegion ? bucketName.region : clientRegion;\n const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;\n (0, bucketHostnameUtils_1.validateS3Service)(bucketName.service);\n return {\n bucketEndpoint: true,\n hostname: `${hostnamePrefix}${isCustomEndpoint\n ? \"\"\n : `.s3-accesspoint${fipsEndpoint ? \"-fips\" : \"\"}${dualstackEndpoint ? \".dualstack\" : \"\"}.${endpointRegion}`}.${hostnameSuffix}`,\n signingRegion,\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateMrapAlias = exports.validateNoFIPS = exports.validateNoDualstack = exports.getArnResources = exports.validateCustomEndpoint = exports.validateDNSHostLabel = exports.validateAccountId = exports.validateRegionalClient = exports.validateRegion = exports.validatePartition = exports.validateOutpostService = exports.validateS3Service = exports.validateService = exports.validateArnEndpointOptions = exports.getSuffixForArnEndpoint = exports.getSuffix = exports.isDnsCompatibleBucketName = exports.isBucketNameOptions = exports.S3_HOSTNAME_PATTERN = exports.DOT_PATTERN = void 0;\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexports.DOT_PATTERN = /\\./;\nexports.S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nconst S3_US_EAST_1_ALTNAME_PATTERN = /^s3(-external-1)?\\.amazonaws\\.com$/;\nconst AWS_PARTITION_SUFFIX = \"amazonaws.com\";\nconst isBucketNameOptions = (options) => typeof options.bucketName === \"string\";\nexports.isBucketNameOptions = isBucketNameOptions;\nconst isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexports.isDnsCompatibleBucketName = isDnsCompatibleBucketName;\nconst getRegionalSuffix = (hostname) => {\n const parts = hostname.match(exports.S3_HOSTNAME_PATTERN);\n return [parts[4], hostname.replace(new RegExp(`^${parts[0]}`), \"\")];\n};\nconst getSuffix = (hostname) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname) ? [\"us-east-1\", AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname);\nexports.getSuffix = getSuffix;\nconst getSuffixForArnEndpoint = (hostname) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname)\n ? [hostname.replace(`.${AWS_PARTITION_SUFFIX}`, \"\"), AWS_PARTITION_SUFFIX]\n : getRegionalSuffix(hostname);\nexports.getSuffixForArnEndpoint = getSuffixForArnEndpoint;\nconst validateArnEndpointOptions = (options) => {\n if (options.pathStyleEndpoint) {\n throw new Error(\"Path-style S3 endpoint is not supported when bucket is an ARN\");\n }\n if (options.accelerateEndpoint) {\n throw new Error(\"Accelerate endpoint is not supported when bucket is an ARN\");\n }\n if (!options.tlsCompatible) {\n throw new Error(\"HTTPS is required when bucket is an ARN\");\n }\n};\nexports.validateArnEndpointOptions = validateArnEndpointOptions;\nconst validateService = (service) => {\n if (service !== \"s3\" && service !== \"s3-outposts\" && service !== \"s3-object-lambda\") {\n throw new Error(\"Expect 's3' or 's3-outposts' or 's3-object-lambda' in ARN service component\");\n }\n};\nexports.validateService = validateService;\nconst validateS3Service = (service) => {\n if (service !== \"s3\") {\n throw new Error(\"Expect 's3' in Accesspoint ARN service component\");\n }\n};\nexports.validateS3Service = validateS3Service;\nconst validateOutpostService = (service) => {\n if (service !== \"s3-outposts\") {\n throw new Error(\"Expect 's3-posts' in Outpost ARN service component\");\n }\n};\nexports.validateOutpostService = validateOutpostService;\nconst validatePartition = (partition, options) => {\n if (partition !== options.clientPartition) {\n throw new Error(`Partition in ARN is incompatible, got \"${partition}\" but expected \"${options.clientPartition}\"`);\n }\n};\nexports.validatePartition = validatePartition;\nconst validateRegion = (region, options) => {\n if (region === \"\") {\n throw new Error(\"ARN region is empty\");\n }\n if (options.useFipsEndpoint) {\n if (!options.allowFipsRegion) {\n throw new Error(\"FIPS region is not supported\");\n }\n else if (!isEqualRegions(region, options.clientRegion)) {\n throw new Error(`Client FIPS region ${options.clientRegion} doesn't match region ${region} in ARN`);\n }\n }\n if (!options.useArnRegion &&\n !isEqualRegions(region, options.clientRegion || \"\") &&\n !isEqualRegions(region, options.clientSigningRegion || \"\")) {\n throw new Error(`Region in ARN is incompatible, got ${region} but expected ${options.clientRegion}`);\n }\n};\nexports.validateRegion = validateRegion;\nconst validateRegionalClient = (region) => {\n if ([\"s3-external-1\", \"aws-global\"].includes(region)) {\n throw new Error(`Client region ${region} is not regional`);\n }\n};\nexports.validateRegionalClient = validateRegionalClient;\nconst isEqualRegions = (regionA, regionB) => regionA === regionB;\nconst validateAccountId = (accountId) => {\n if (!/[0-9]{12}/.exec(accountId)) {\n throw new Error(\"Access point ARN accountID does not match regex '[0-9]{12}'\");\n }\n};\nexports.validateAccountId = validateAccountId;\nconst validateDNSHostLabel = (label, options = { tlsCompatible: true }) => {\n if (label.length >= 64 ||\n !/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(label) ||\n /(\\d+\\.){3}\\d+/.test(label) ||\n /[.-]{2}/.test(label) ||\n ((options === null || options === void 0 ? void 0 : options.tlsCompatible) && exports.DOT_PATTERN.test(label))) {\n throw new Error(`Invalid DNS label ${label}`);\n }\n};\nexports.validateDNSHostLabel = validateDNSHostLabel;\nconst validateCustomEndpoint = (options) => {\n if (options.isCustomEndpoint) {\n if (options.dualstackEndpoint)\n throw new Error(\"Dualstack endpoint is not supported with custom endpoint\");\n if (options.accelerateEndpoint)\n throw new Error(\"Accelerate endpoint is not supported with custom endpoint\");\n }\n};\nexports.validateCustomEndpoint = validateCustomEndpoint;\nconst getArnResources = (resource) => {\n const delimiter = resource.includes(\":\") ? \":\" : \"/\";\n const [resourceType, ...rest] = resource.split(delimiter);\n if (resourceType === \"accesspoint\") {\n if (rest.length !== 1 || rest[0] === \"\") {\n throw new Error(`Access Point ARN should have one resource accesspoint${delimiter}{accesspointname}`);\n }\n return { accesspointName: rest[0] };\n }\n else if (resourceType === \"outpost\") {\n if (!rest[0] || rest[1] !== \"accesspoint\" || !rest[2] || rest.length !== 3) {\n throw new Error(`Outpost ARN should have resource outpost${delimiter}{outpostId}${delimiter}accesspoint${delimiter}{accesspointName}`);\n }\n const [outpostId, _, accesspointName] = rest;\n return { outpostId, accesspointName };\n }\n else {\n throw new Error(`ARN resource should begin with 'accesspoint${delimiter}' or 'outpost${delimiter}'`);\n }\n};\nexports.getArnResources = getArnResources;\nconst validateNoDualstack = (dualstackEndpoint) => {\n if (dualstackEndpoint)\n throw new Error(\"Dualstack endpoint is not supported with Outpost or Multi-region Access Point ARN.\");\n};\nexports.validateNoDualstack = validateNoDualstack;\nconst validateNoFIPS = (useFipsEndpoint) => {\n if (useFipsEndpoint)\n throw new Error(`FIPS region is not supported with Outpost.`);\n};\nexports.validateNoFIPS = validateNoFIPS;\nconst validateMrapAlias = (name) => {\n try {\n name.split(\".\").forEach((label) => {\n (0, exports.validateDNSHostLabel)(label);\n });\n }\n catch (e) {\n throw new Error(`\"${name}\" is not a DNS compatible name.`);\n }\n};\nexports.validateMrapAlias = validateMrapAlias;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveBucketEndpointConfig = void 0;\nfunction resolveBucketEndpointConfig(input) {\n const { bucketEndpoint = false, forcePathStyle = false, useAccelerateEndpoint = false, useArnRegion = false, disableMultiregionAccessPoints = false, } = input;\n return {\n ...input,\n bucketEndpoint,\n forcePathStyle,\n useAccelerateEndpoint,\n useArnRegion: typeof useArnRegion === \"function\" ? useArnRegion : () => Promise.resolve(useArnRegion),\n disableMultiregionAccessPoints: typeof disableMultiregionAccessPoints === \"function\"\n ? disableMultiregionAccessPoints\n : () => Promise.resolve(disableMultiregionAccessPoints),\n };\n}\nexports.resolveBucketEndpointConfig = resolveBucketEndpointConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateNoFIPS = exports.validateNoDualstack = exports.validateDNSHostLabel = exports.validateRegion = exports.validateAccountId = exports.validatePartition = exports.validateOutpostService = exports.getSuffixForArnEndpoint = exports.getArnResources = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./NodeDisableMultiregionAccessPointConfigOptions\"), exports);\ntslib_1.__exportStar(require(\"./NodeUseArnRegionConfigOptions\"), exports);\ntslib_1.__exportStar(require(\"./bucketEndpointMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./bucketHostname\"), exports);\ntslib_1.__exportStar(require(\"./configurations\"), exports);\nvar bucketHostnameUtils_1 = require(\"./bucketHostnameUtils\");\nObject.defineProperty(exports, \"getArnResources\", { enumerable: true, get: function () { return bucketHostnameUtils_1.getArnResources; } });\nObject.defineProperty(exports, \"getSuffixForArnEndpoint\", { enumerable: true, get: function () { return bucketHostnameUtils_1.getSuffixForArnEndpoint; } });\nObject.defineProperty(exports, \"validateOutpostService\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateOutpostService; } });\nObject.defineProperty(exports, \"validatePartition\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validatePartition; } });\nObject.defineProperty(exports, \"validateAccountId\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateAccountId; } });\nObject.defineProperty(exports, \"validateRegion\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateRegion; } });\nObject.defineProperty(exports, \"validateDNSHostLabel\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateDNSHostLabel; } });\nObject.defineProperty(exports, \"validateNoDualstack\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateNoDualstack; } });\nObject.defineProperty(exports, \"validateNoFIPS\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateNoFIPS; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getContentLengthPlugin = exports.contentLengthMiddlewareOptions = exports.contentLengthMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nfunction contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexports.contentLengthMiddleware = contentLengthMiddleware;\nexports.contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nconst getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), exports.contentLengthMiddlewareOptions);\n },\n});\nexports.getContentLengthPlugin = getContentLengthPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createConfigValueProvider = void 0;\nconst createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {\n const configProvider = async () => {\n var _a;\n const configValue = (_a = config[configKey]) !== null && _a !== void 0 ? _a : config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\nexports.createConfigValueProvider = createConfigValueProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveParams = exports.getEndpointFromInstructions = void 0;\nconst service_customizations_1 = require(\"../service-customizations\");\nconst createConfigValueProvider_1 = require(\"./createConfigValueProvider\");\nconst getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n const endpointParams = await (0, exports.resolveParams)(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n};\nexports.getEndpointFromInstructions = getEndpointFromInstructions;\nconst resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\n var _a;\n const endpointParams = {};\n const instructions = ((_a = instructionsSupplier === null || instructionsSupplier === void 0 ? void 0 : instructionsSupplier.getEndpointParameterInstructions) === null || _a === void 0 ? void 0 : _a.call(instructionsSupplier)) || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await (0, createConfigValueProvider_1.createConfigValueProvider)(instruction.name, name, clientConfig)();\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await (0, service_customizations_1.resolveParamsForS3)(endpointParams);\n }\n return endpointParams;\n};\nexports.resolveParams = resolveParams;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./getEndpointFromInstructions\"), exports);\ntslib_1.__exportStar(require(\"./toEndpointV1\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toEndpointV1 = void 0;\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return (0, url_parser_1.parseUrl)(endpoint.url);\n }\n return endpoint;\n }\n return (0, url_parser_1.parseUrl)(endpoint);\n};\nexports.toEndpointV1 = toEndpointV1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.endpointMiddleware = void 0;\nconst getEndpointFromInstructions_1 = require(\"./adaptors/getEndpointFromInstructions\");\nconst endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n var _a, _b;\n const endpoint = await (0, getEndpointFromInstructions_1.getEndpointFromInstructions)(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\n context.endpointV2 = endpoint;\n context.authSchemes = (_a = endpoint.properties) === null || _a === void 0 ? void 0 : _a.authSchemes;\n const authScheme = (_b = context.authSchemes) === null || _b === void 0 ? void 0 : _b[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n }\n return next({\n ...args,\n });\n };\n};\nexports.endpointMiddleware = endpointMiddleware;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointPlugin = exports.endpointMiddlewareOptions = void 0;\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst endpointMiddleware_1 = require(\"./endpointMiddleware\");\nexports.endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: middleware_serde_1.serializerMiddlewareOption.name,\n};\nconst getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, endpointMiddleware_1.endpointMiddleware)({\n config,\n instructions,\n }), exports.endpointMiddlewareOptions);\n },\n});\nexports.getEndpointPlugin = getEndpointPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./adaptors\"), exports);\ntslib_1.__exportStar(require(\"./endpointMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./getEndpointPlugin\"), exports);\ntslib_1.__exportStar(require(\"./resolveEndpointConfig\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveEndpointConfig = void 0;\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst toEndpointV1_1 = require(\"./adaptors/toEndpointV1\");\nconst resolveEndpointConfig = (input) => {\n var _a, _b, _c;\n const tls = (_a = input.tls) !== null && _a !== void 0 ? _a : true;\n const { endpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => (0, toEndpointV1_1.toEndpointV1)(await (0, util_middleware_1.normalizeProvider)(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n return {\n ...input,\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false),\n useFipsEndpoint: (0, util_middleware_1.normalizeProvider)((_c = input.useFipsEndpoint) !== null && _c !== void 0 ? _c : false),\n };\n};\nexports.resolveEndpointConfig = resolveEndpointConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./s3\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArnBucketName = exports.isDnsCompatibleBucketName = exports.S3_HOSTNAME_PATTERN = exports.DOT_PATTERN = exports.resolveParamsForS3 = void 0;\nconst resolveParamsForS3 = async (endpointParams) => {\n const bucket = (endpointParams === null || endpointParams === void 0 ? void 0 : endpointParams.Bucket) || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if ((0, exports.isArnBucketName)(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n }\n else if (!(0, exports.isDnsCompatibleBucketName)(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n};\nexports.resolveParamsForS3 = resolveParamsForS3;\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexports.DOT_PATTERN = /\\./;\nexports.S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nconst isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexports.isDnsCompatibleBucketName = isDnsCompatibleBucketName;\nconst isArnBucketName = (bucketName) => {\n const [arn, partition, service, region, account, typeOrId] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = [arn, partition, service, account, typeOrId].filter(Boolean).length === 5;\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return arn === \"arn\" && !!partition && !!service && !!account && !!typeOrId;\n};\nexports.isArnBucketName = isArnBucketName;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAddExpectContinuePlugin = exports.addExpectContinueMiddlewareOptions = exports.addExpectContinueMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nfunction addExpectContinueMiddleware(options) {\n return (next) => async (args) => {\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request) && request.body && options.runtime === \"node\") {\n request.headers = {\n ...request.headers,\n Expect: \"100-continue\",\n };\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexports.addExpectContinueMiddleware = addExpectContinueMiddleware;\nexports.addExpectContinueMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_EXPECT_HEADER\", \"EXPECT_HEADER\"],\n name: \"addExpectContinueMiddleware\",\n override: true,\n};\nconst getAddExpectContinuePlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(addExpectContinueMiddleware(options), exports.addExpectContinueMiddlewareOptions);\n },\n});\nexports.getAddExpectContinuePlugin = getAddExpectContinuePlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumLocation = exports.ChecksumAlgorithm = void 0;\nvar ChecksumAlgorithm;\n(function (ChecksumAlgorithm) {\n ChecksumAlgorithm[\"MD5\"] = \"MD5\";\n ChecksumAlgorithm[\"CRC32\"] = \"CRC32\";\n ChecksumAlgorithm[\"CRC32C\"] = \"CRC32C\";\n ChecksumAlgorithm[\"SHA1\"] = \"SHA1\";\n ChecksumAlgorithm[\"SHA256\"] = \"SHA256\";\n})(ChecksumAlgorithm = exports.ChecksumAlgorithm || (exports.ChecksumAlgorithm = {}));\nvar ChecksumLocation;\n(function (ChecksumLocation) {\n ChecksumLocation[\"HEADER\"] = \"header\";\n ChecksumLocation[\"TRAILER\"] = \"trailer\";\n})(ChecksumLocation = exports.ChecksumLocation || (exports.ChecksumLocation = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.flexibleChecksumsMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst getChecksumAlgorithmForRequest_1 = require(\"./getChecksumAlgorithmForRequest\");\nconst getChecksumLocationName_1 = require(\"./getChecksumLocationName\");\nconst hasHeader_1 = require(\"./hasHeader\");\nconst isStreaming_1 = require(\"./isStreaming\");\nconst selectChecksumAlgorithmFunction_1 = require(\"./selectChecksumAlgorithmFunction\");\nconst stringHasher_1 = require(\"./stringHasher\");\nconst validateChecksumFromResponse_1 = require(\"./validateChecksumFromResponse\");\nconst flexibleChecksumsMiddleware = (config, middlewareConfig) => (next) => async (args) => {\n if (!protocol_http_1.HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const { request } = args;\n const { body: requestBody, headers } = request;\n const { base64Encoder, streamHasher } = config;\n const { input, requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;\n const checksumAlgorithm = (0, getChecksumAlgorithmForRequest_1.getChecksumAlgorithmForRequest)(input, {\n requestChecksumRequired,\n requestAlgorithmMember,\n });\n let updatedBody = requestBody;\n let updatedHeaders = headers;\n if (checksumAlgorithm) {\n const checksumLocationName = (0, getChecksumLocationName_1.getChecksumLocationName)(checksumAlgorithm);\n const checksumAlgorithmFn = (0, selectChecksumAlgorithmFunction_1.selectChecksumAlgorithmFunction)(checksumAlgorithm, config);\n if ((0, isStreaming_1.isStreaming)(requestBody)) {\n const { getAwsChunkedEncodingStream, bodyLengthChecker } = config;\n updatedBody = getAwsChunkedEncodingStream(requestBody, {\n base64Encoder,\n bodyLengthChecker,\n checksumLocationName,\n checksumAlgorithmFn,\n streamHasher,\n });\n updatedHeaders = {\n ...headers,\n \"content-encoding\": headers[\"content-encoding\"]\n ? `${headers[\"content-encoding\"]},aws-chunked`\n : \"aws-chunked\",\n \"transfer-encoding\": \"chunked\",\n \"x-amz-decoded-content-length\": headers[\"content-length\"],\n \"x-amz-content-sha256\": \"STREAMING-UNSIGNED-PAYLOAD-TRAILER\",\n \"x-amz-trailer\": checksumLocationName,\n };\n delete updatedHeaders[\"content-length\"];\n }\n else if (!(0, hasHeader_1.hasHeader)(checksumLocationName, headers)) {\n const rawChecksum = await (0, stringHasher_1.stringHasher)(checksumAlgorithmFn, requestBody);\n updatedHeaders = {\n ...headers,\n [checksumLocationName]: base64Encoder(rawChecksum),\n };\n }\n }\n const result = await next({\n ...args,\n request: {\n ...request,\n headers: updatedHeaders,\n body: updatedBody,\n },\n });\n const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;\n if (requestValidationModeMember && input[requestValidationModeMember] === \"ENABLED\") {\n (0, validateChecksumFromResponse_1.validateChecksumFromResponse)(result.response, {\n config,\n responseAlgorithms,\n });\n }\n return result;\n};\nexports.flexibleChecksumsMiddleware = flexibleChecksumsMiddleware;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChecksum = void 0;\nconst isStreaming_1 = require(\"./isStreaming\");\nconst stringHasher_1 = require(\"./stringHasher\");\nconst getChecksum = async (body, { streamHasher, checksumAlgorithmFn, base64Encoder }) => {\n const digest = (0, isStreaming_1.isStreaming)(body) ? streamHasher(checksumAlgorithmFn, body) : (0, stringHasher_1.stringHasher)(checksumAlgorithmFn, body);\n return base64Encoder(await digest);\n};\nexports.getChecksum = getChecksum;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChecksumAlgorithmForRequest = void 0;\nconst constants_1 = require(\"./constants\");\nconst types_1 = require(\"./types\");\nconst getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember }) => {\n if (!requestAlgorithmMember || !input[requestAlgorithmMember]) {\n return requestChecksumRequired ? constants_1.ChecksumAlgorithm.MD5 : undefined;\n }\n const checksumAlgorithm = input[requestAlgorithmMember];\n if (!types_1.CLIENT_SUPPORTED_ALGORITHMS.includes(checksumAlgorithm)) {\n throw new Error(`The checksum algorithm \"${checksumAlgorithm}\" is not supported by the client.` +\n ` Select one of ${types_1.CLIENT_SUPPORTED_ALGORITHMS}.`);\n }\n return checksumAlgorithm;\n};\nexports.getChecksumAlgorithmForRequest = getChecksumAlgorithmForRequest;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChecksumAlgorithmListForResponse = void 0;\nconst types_1 = require(\"./types\");\nconst getChecksumAlgorithmListForResponse = (responseAlgorithms = []) => {\n const validChecksumAlgorithms = [];\n for (const algorithm of types_1.PRIORITY_ORDER_ALGORITHMS) {\n if (!responseAlgorithms.includes(algorithm) || !types_1.CLIENT_SUPPORTED_ALGORITHMS.includes(algorithm)) {\n continue;\n }\n validChecksumAlgorithms.push(algorithm);\n }\n return validChecksumAlgorithms;\n};\nexports.getChecksumAlgorithmListForResponse = getChecksumAlgorithmListForResponse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChecksumLocationName = void 0;\nconst constants_1 = require(\"./constants\");\nconst getChecksumLocationName = (algorithm) => algorithm === constants_1.ChecksumAlgorithm.MD5 ? \"content-md5\" : `x-amz-checksum-${algorithm.toLowerCase()}`;\nexports.getChecksumLocationName = getChecksumLocationName;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFlexibleChecksumsPlugin = exports.flexibleChecksumsMiddlewareOptions = void 0;\nconst flexibleChecksumsMiddleware_1 = require(\"./flexibleChecksumsMiddleware\");\nexports.flexibleChecksumsMiddlewareOptions = {\n name: \"flexibleChecksumsMiddleware\",\n step: \"build\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nconst getFlexibleChecksumsPlugin = (config, middlewareConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, flexibleChecksumsMiddleware_1.flexibleChecksumsMiddleware)(config, middlewareConfig), exports.flexibleChecksumsMiddlewareOptions);\n },\n});\nexports.getFlexibleChecksumsPlugin = getFlexibleChecksumsPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasHeader = void 0;\nconst hasHeader = (header, headers) => {\n const soughtHeader = header.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexports.hasHeader = hasHeader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./constants\"), exports);\ntslib_1.__exportStar(require(\"./flexibleChecksumsMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./getFlexibleChecksumsPlugin\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isStreaming = void 0;\nconst is_array_buffer_1 = require(\"@aws-sdk/is-array-buffer\");\nconst isStreaming = (body) => body !== undefined && typeof body !== \"string\" && !ArrayBuffer.isView(body) && !(0, is_array_buffer_1.isArrayBuffer)(body);\nexports.isStreaming = isStreaming;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.selectChecksumAlgorithmFunction = void 0;\nconst crc32_1 = require(\"@aws-crypto/crc32\");\nconst crc32c_1 = require(\"@aws-crypto/crc32c\");\nconst constants_1 = require(\"./constants\");\nconst selectChecksumAlgorithmFunction = (checksumAlgorithm, config) => ({\n [constants_1.ChecksumAlgorithm.MD5]: config.md5,\n [constants_1.ChecksumAlgorithm.CRC32]: crc32_1.AwsCrc32,\n [constants_1.ChecksumAlgorithm.CRC32C]: crc32c_1.AwsCrc32c,\n [constants_1.ChecksumAlgorithm.SHA1]: config.sha1,\n [constants_1.ChecksumAlgorithm.SHA256]: config.sha256,\n}[checksumAlgorithm]);\nexports.selectChecksumAlgorithmFunction = selectChecksumAlgorithmFunction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringHasher = void 0;\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst stringHasher = (checksumAlgorithmFn, body) => {\n const hash = new checksumAlgorithmFn();\n hash.update((0, util_utf8_1.toUint8Array)(body || \"\"));\n return hash.digest();\n};\nexports.stringHasher = stringHasher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PRIORITY_ORDER_ALGORITHMS = exports.CLIENT_SUPPORTED_ALGORITHMS = void 0;\nconst constants_1 = require(\"./constants\");\nexports.CLIENT_SUPPORTED_ALGORITHMS = [\n constants_1.ChecksumAlgorithm.CRC32,\n constants_1.ChecksumAlgorithm.CRC32C,\n constants_1.ChecksumAlgorithm.SHA1,\n constants_1.ChecksumAlgorithm.SHA256,\n];\nexports.PRIORITY_ORDER_ALGORITHMS = [\n constants_1.ChecksumAlgorithm.CRC32,\n constants_1.ChecksumAlgorithm.CRC32C,\n constants_1.ChecksumAlgorithm.SHA1,\n constants_1.ChecksumAlgorithm.SHA256,\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateChecksumFromResponse = void 0;\nconst getChecksum_1 = require(\"./getChecksum\");\nconst getChecksumAlgorithmListForResponse_1 = require(\"./getChecksumAlgorithmListForResponse\");\nconst getChecksumLocationName_1 = require(\"./getChecksumLocationName\");\nconst selectChecksumAlgorithmFunction_1 = require(\"./selectChecksumAlgorithmFunction\");\nconst validateChecksumFromResponse = async (response, { config, responseAlgorithms }) => {\n const checksumAlgorithms = (0, getChecksumAlgorithmListForResponse_1.getChecksumAlgorithmListForResponse)(responseAlgorithms);\n const { body: responseBody, headers: responseHeaders } = response;\n for (const algorithm of checksumAlgorithms) {\n const responseHeader = (0, getChecksumLocationName_1.getChecksumLocationName)(algorithm);\n const checksumFromResponse = responseHeaders[responseHeader];\n if (checksumFromResponse) {\n const checksumAlgorithmFn = (0, selectChecksumAlgorithmFunction_1.selectChecksumAlgorithmFunction)(algorithm, config);\n const { streamHasher, base64Encoder } = config;\n const checksum = await (0, getChecksum_1.getChecksum)(responseBody, { streamHasher, checksumAlgorithmFn, base64Encoder });\n if (checksum === checksumFromResponse) {\n break;\n }\n throw new Error(`Checksum mismatch: expected \"${checksum}\" but received \"${checksumFromResponse}\"` +\n ` in response header \"${responseHeader}\".`);\n }\n }\n};\nexports.validateChecksumFromResponse = validateChecksumFromResponse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHostHeaderPlugin = exports.hostHeaderMiddlewareOptions = exports.hostHeaderMiddleware = exports.resolveHostHeaderConfig = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nfunction resolveHostHeaderConfig(input) {\n return input;\n}\nexports.resolveHostHeaderConfig = resolveHostHeaderConfig;\nconst hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!protocol_http_1.HttpRequest.isInstance(args.request))\n return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = \"\";\n }\n else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null)\n host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n};\nexports.hostHeaderMiddleware = hostHeaderMiddleware;\nexports.hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nconst getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.hostHeaderMiddleware)(options), exports.hostHeaderMiddlewareOptions);\n },\n});\nexports.getHostHeaderPlugin = getHostHeaderPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocationConstraintPlugin = exports.locationConstraintMiddlewareOptions = exports.locationConstraintMiddleware = void 0;\nfunction locationConstraintMiddleware(options) {\n return (next) => async (args) => {\n const { CreateBucketConfiguration } = args.input;\n const region = await options.region();\n if (!CreateBucketConfiguration || !CreateBucketConfiguration.LocationConstraint) {\n args = {\n ...args,\n input: {\n ...args.input,\n CreateBucketConfiguration: region === \"us-east-1\" ? undefined : { LocationConstraint: region },\n },\n };\n }\n return next(args);\n };\n}\nexports.locationConstraintMiddleware = locationConstraintMiddleware;\nexports.locationConstraintMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"LOCATION_CONSTRAINT\", \"CREATE_BUCKET_CONFIGURATION\"],\n name: \"locationConstraintMiddleware\",\n override: true,\n};\nconst getLocationConstraintPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(locationConstraintMiddleware(config), exports.locationConstraintMiddlewareOptions);\n },\n});\nexports.getLocationConstraintPlugin = getLocationConstraintPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./loggerMiddleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLoggerPlugin = exports.loggerMiddlewareOptions = exports.loggerMiddleware = void 0;\nconst loggerMiddleware = () => (next, context) => async (args) => {\n const response = await next(args);\n const { clientName, commandName, logger, inputFilterSensitiveLog, outputFilterSensitiveLog, dynamoDbDocumentClientOptions = {}, } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n if (!logger) {\n return response;\n }\n if (typeof logger.info === \"function\") {\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger.info({\n clientName,\n commandName,\n input: (overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : inputFilterSensitiveLog)(args.input),\n output: (overrideOutputFilterSensitiveLog !== null && overrideOutputFilterSensitiveLog !== void 0 ? overrideOutputFilterSensitiveLog : outputFilterSensitiveLog)(outputWithoutMetadata),\n metadata: $metadata,\n });\n }\n return response;\n};\nexports.loggerMiddleware = loggerMiddleware;\nexports.loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nconst getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions);\n },\n});\nexports.getLoggerPlugin = getLoggerPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRecursionDetectionPlugin = exports.addRecursionDetectionMiddlewareOptions = exports.recursionDetectionMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst TRACE_ID_HEADER_NAME = \"X-Amzn-Trace-Id\";\nconst ENV_LAMBDA_FUNCTION_NAME = \"AWS_LAMBDA_FUNCTION_NAME\";\nconst ENV_TRACE_ID = \"_X_AMZN_TRACE_ID\";\nconst recursionDetectionMiddleware = (options) => (next) => async (args) => {\n const { request } = args;\n if (!protocol_http_1.HttpRequest.isInstance(request) ||\n options.runtime !== \"node\" ||\n request.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) {\n return next(args);\n }\n const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\n const traceId = process.env[ENV_TRACE_ID];\n const nonEmptyString = (str) => typeof str === \"string\" && str.length > 0;\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\n }\n return next({\n ...args,\n request,\n });\n};\nexports.recursionDetectionMiddleware = recursionDetectionMiddleware;\nexports.addRecursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\nconst getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.recursionDetectionMiddleware)(options), exports.addRecursionDetectionMiddlewareOptions);\n },\n});\nexports.getRecursionDetectionPlugin = getRecursionDetectionPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AdaptiveRetryStrategy = void 0;\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst StandardRetryStrategy_1 = require(\"./StandardRetryStrategy\");\nclass AdaptiveRetryStrategy extends StandardRetryStrategy_1.StandardRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n const { rateLimiter, ...superOptions } = options !== null && options !== void 0 ? options : {};\n super(maxAttemptsProvider, superOptions);\n this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new util_retry_1.DefaultRateLimiter();\n this.mode = util_retry_1.RETRY_MODES.ADAPTIVE;\n }\n async retry(next, args) {\n return super.retry(next, args, {\n beforeRequest: async () => {\n return this.rateLimiter.getSendToken();\n },\n afterRequest: (response) => {\n this.rateLimiter.updateClientSendingRate(response);\n },\n });\n }\n}\nexports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StandardRetryStrategy = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst uuid_1 = require(\"uuid\");\nconst defaultRetryQuota_1 = require(\"./defaultRetryQuota\");\nconst delayDecider_1 = require(\"./delayDecider\");\nconst retryDecider_1 = require(\"./retryDecider\");\nconst util_1 = require(\"./util\");\nclass StandardRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n var _a, _b, _c;\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = util_retry_1.RETRY_MODES.STANDARD;\n this.retryDecider = (_a = options === null || options === void 0 ? void 0 : options.retryDecider) !== null && _a !== void 0 ? _a : retryDecider_1.defaultRetryDecider;\n this.delayDecider = (_b = options === null || options === void 0 ? void 0 : options.delayDecider) !== null && _b !== void 0 ? _b : delayDecider_1.defaultDelayDecider;\n this.retryQuota = (_c = options === null || options === void 0 ? void 0 : options.retryQuota) !== null && _c !== void 0 ? _c : (0, defaultRetryQuota_1.getDefaultRetryQuota)(util_retry_1.INITIAL_RETRY_TOKENS);\n }\n shouldRetry(error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n }\n catch (error) {\n maxAttempts = util_retry_1.DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n async retry(next, args, options) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n const maxAttempts = await this.getMaxAttempts();\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n request.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)();\n }\n while (true) {\n try {\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n request.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n if (options === null || options === void 0 ? void 0 : options.beforeRequest) {\n await options.beforeRequest();\n }\n const { response, output } = await next(args);\n if (options === null || options === void 0 ? void 0 : options.afterRequest) {\n options.afterRequest(response);\n }\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return { response, output };\n }\n catch (e) {\n const err = (0, util_1.asSdkError)(e);\n attempts++;\n if (this.shouldRetry(err, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delayFromDecider = this.delayDecider((0, service_error_classification_1.isThrottlingError)(err) ? util_retry_1.THROTTLING_RETRY_DELAY_BASE : util_retry_1.DEFAULT_RETRY_DELAY_BASE, attempts);\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\nexports.StandardRetryStrategy = StandardRetryStrategy;\nconst getDelayFromRetryAfterHeader = (response) => {\n if (!protocol_http_1.HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return retryAfterSeconds * 1000;\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_RETRY_MODE_CONFIG_OPTIONS = exports.CONFIG_RETRY_MODE = exports.ENV_RETRY_MODE = exports.resolveRetryConfig = exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = exports.CONFIG_MAX_ATTEMPTS = exports.ENV_MAX_ATTEMPTS = void 0;\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nexports.ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexports.CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[exports.ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${exports.ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[exports.CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${exports.CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: util_retry_1.DEFAULT_MAX_ATTEMPTS,\n};\nconst resolveRetryConfig = (input) => {\n var _a;\n const { retryStrategy } = input;\n const maxAttempts = (0, util_middleware_1.normalizeProvider)((_a = input.maxAttempts) !== null && _a !== void 0 ? _a : util_retry_1.DEFAULT_MAX_ATTEMPTS);\n return {\n ...input,\n maxAttempts,\n retryStrategy: async () => {\n if (retryStrategy) {\n return retryStrategy;\n }\n const retryMode = await (0, util_middleware_1.normalizeProvider)(input.retryMode)();\n if (retryMode === util_retry_1.RETRY_MODES.ADAPTIVE) {\n return new util_retry_1.AdaptiveRetryStrategy(maxAttempts);\n }\n return new util_retry_1.StandardRetryStrategy(maxAttempts);\n },\n };\n};\nexports.resolveRetryConfig = resolveRetryConfig;\nexports.ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexports.CONFIG_RETRY_MODE = \"retry_mode\";\nexports.NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[exports.ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[exports.CONFIG_RETRY_MODE],\n default: util_retry_1.DEFAULT_RETRY_MODE,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultRetryQuota = void 0;\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst getDefaultRetryQuota = (initialRetryTokens, options) => {\n var _a, _b, _c;\n const MAX_CAPACITY = initialRetryTokens;\n const noRetryIncrement = (_a = options === null || options === void 0 ? void 0 : options.noRetryIncrement) !== null && _a !== void 0 ? _a : util_retry_1.NO_RETRY_INCREMENT;\n const retryCost = (_b = options === null || options === void 0 ? void 0 : options.retryCost) !== null && _b !== void 0 ? _b : util_retry_1.RETRY_COST;\n const timeoutRetryCost = (_c = options === null || options === void 0 ? void 0 : options.timeoutRetryCost) !== null && _c !== void 0 ? _c : util_retry_1.TIMEOUT_RETRY_COST;\n let availableCapacity = initialRetryTokens;\n const getCapacityAmount = (error) => (error.name === \"TimeoutError\" ? timeoutRetryCost : retryCost);\n const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity;\n const retrieveRetryTokens = (error) => {\n if (!hasRetryTokens(error)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n const releaseRetryTokens = (capacityReleaseAmount) => {\n availableCapacity += capacityReleaseAmount !== null && capacityReleaseAmount !== void 0 ? capacityReleaseAmount : noRetryIncrement;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens,\n });\n};\nexports.getDefaultRetryQuota = getDefaultRetryQuota;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultDelayDecider = void 0;\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(util_retry_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\nexports.defaultDelayDecider = defaultDelayDecider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AdaptiveRetryStrategy\"), exports);\ntslib_1.__exportStar(require(\"./StandardRetryStrategy\"), exports);\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./delayDecider\"), exports);\ntslib_1.__exportStar(require(\"./omitRetryHeadersMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./retryDecider\"), exports);\ntslib_1.__exportStar(require(\"./retryMiddleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOmitRetryHeadersPlugin = exports.omitRetryHeadersMiddlewareOptions = exports.omitRetryHeadersMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst omitRetryHeadersMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n delete request.headers[util_retry_1.INVOCATION_ID_HEADER];\n delete request.headers[util_retry_1.REQUEST_HEADER];\n }\n return next(args);\n};\nexports.omitRetryHeadersMiddleware = omitRetryHeadersMiddleware;\nexports.omitRetryHeadersMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n};\nconst getOmitRetryHeadersPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, exports.omitRetryHeadersMiddleware)(), exports.omitRetryHeadersMiddlewareOptions);\n },\n});\nexports.getOmitRetryHeadersPlugin = getOmitRetryHeadersPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultRetryDecider = void 0;\nconst service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nconst defaultRetryDecider = (error) => {\n if (!error) {\n return false;\n }\n return (0, service_error_classification_1.isRetryableByTrait)(error) || (0, service_error_classification_1.isClockSkewError)(error) || (0, service_error_classification_1.isThrottlingError)(error) || (0, service_error_classification_1.isTransientError)(error);\n};\nexports.defaultRetryDecider = defaultRetryDecider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRetryAfterHint = exports.getRetryPlugin = exports.retryMiddlewareOptions = exports.retryMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst uuid_1 = require(\"uuid\");\nconst util_1 = require(\"./util\");\nconst retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n request.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)();\n }\n while (true) {\n try {\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n request.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetyErrorInto(e);\n lastError = (0, util_1.asSdkError)(e);\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy === null || retryStrategy === void 0 ? void 0 : retryStrategy.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nexports.retryMiddleware = retryMiddleware;\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetyErrorInto = (error) => {\n const errorInfo = {\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = (0, exports.getRetryAfterHint)(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if ((0, service_error_classification_1.isThrottlingError)(error))\n return \"THROTTLING\";\n if ((0, service_error_classification_1.isTransientError)(error))\n return \"TRANSIENT\";\n if ((0, service_error_classification_1.isServerError)(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nexports.retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nconst getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.retryMiddleware)(options), exports.retryMiddlewareOptions);\n },\n});\nexports.getRetryPlugin = getRetryPlugin;\nconst getRetryAfterHint = (response) => {\n if (!protocol_http_1.HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\nexports.getRetryAfterHint = getRetryAfterHint;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.asSdkError = void 0;\nconst asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\nexports.asSdkError = asSdkError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCheckContentLengthHeaderPlugin = exports.checkContentLengthHeaderMiddlewareOptions = exports.checkContentLengthHeader = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nfunction checkContentLengthHeader() {\n return (next, context) => async (args) => {\n var _a;\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n if (!request.headers[CONTENT_LENGTH_HEADER]) {\n const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;\n if (typeof ((_a = context === null || context === void 0 ? void 0 : context.logger) === null || _a === void 0 ? void 0 : _a.warn) === \"function\") {\n context.logger.warn(message);\n }\n else {\n console.warn(message);\n }\n }\n }\n return next({ ...args });\n };\n}\nexports.checkContentLengthHeader = checkContentLengthHeader;\nexports.checkContentLengthHeaderMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"CHECK_CONTENT_LENGTH_HEADER\"],\n name: \"getCheckContentLengthHeaderPlugin\",\n override: true,\n};\nconst getCheckContentLengthHeaderPlugin = (unused) => ({\n applyToStack: (clientStack) => {\n clientStack.add(checkContentLengthHeader(), exports.checkContentLengthHeaderMiddlewareOptions);\n },\n});\nexports.getCheckContentLengthHeaderPlugin = getCheckContentLengthHeaderPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveS3Config = void 0;\nconst resolveS3Config = (input) => {\n var _a, _b, _c;\n return ({\n ...input,\n forcePathStyle: (_a = input.forcePathStyle) !== null && _a !== void 0 ? _a : false,\n useAccelerateEndpoint: (_b = input.useAccelerateEndpoint) !== null && _b !== void 0 ? _b : false,\n disableMultiregionAccessPoints: (_c = input.disableMultiregionAccessPoints) !== null && _c !== void 0 ? _c : false,\n });\n};\nexports.resolveS3Config = resolveS3Config;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./check-content-length-header\"), exports);\ntslib_1.__exportStar(require(\"./configuration\"), exports);\ntslib_1.__exportStar(require(\"./throw-200-exceptions\"), exports);\ntslib_1.__exportStar(require(\"./validate-bucket-name\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getThrow200ExceptionsPlugin = exports.throw200ExceptionsMiddlewareOptions = exports.throw200ExceptionsMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst throw200ExceptionsMiddleware = (config) => (next) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (!protocol_http_1.HttpResponse.isInstance(response))\n return result;\n const { statusCode, body } = response;\n if (statusCode < 200 || statusCode >= 300)\n return result;\n const bodyBytes = await collectBody(body, config);\n const bodyString = await collectBodyString(bodyBytes, config);\n if (bodyBytes.length === 0) {\n const err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyString && bodyString.match(\"\")) {\n response.statusCode = 400;\n }\n response.body = bodyBytes;\n return result;\n};\nexports.throw200ExceptionsMiddleware = throw200ExceptionsMiddleware;\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nexports.throw200ExceptionsMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true,\n};\nconst getThrow200ExceptionsPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, exports.throw200ExceptionsMiddleware)(config), exports.throw200ExceptionsMiddlewareOptions);\n },\n});\nexports.getThrow200ExceptionsPlugin = getThrow200ExceptionsPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getValidateBucketNamePlugin = exports.validateBucketNameMiddlewareOptions = exports.validateBucketNameMiddleware = void 0;\nconst util_arn_parser_1 = require(\"@aws-sdk/util-arn-parser\");\nfunction validateBucketNameMiddleware() {\n return (next) => async (args) => {\n const { input: { Bucket }, } = args;\n if (typeof Bucket === \"string\" && !(0, util_arn_parser_1.validate)(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return next({ ...args });\n };\n}\nexports.validateBucketNameMiddleware = validateBucketNameMiddleware;\nexports.validateBucketNameMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true,\n};\nconst getValidateBucketNamePlugin = (unused) => ({\n applyToStack: (clientStack) => {\n clientStack.add(validateBucketNameMiddleware(), exports.validateBucketNameMiddlewareOptions);\n },\n});\nexports.getValidateBucketNamePlugin = getValidateBucketNamePlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveStsAuthConfig = void 0;\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst resolveStsAuthConfig = (input, { stsClientCtor }) => (0, middleware_signing_1.resolveAwsAuthConfig)({\n ...input,\n stsClientCtor,\n});\nexports.resolveStsAuthConfig = resolveStsAuthConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserializerMiddleware = void 0;\nconst deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n });\n throw error;\n }\n};\nexports.deserializerMiddleware = deserializerMiddleware;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./deserializerMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./serdePlugin\"), exports);\ntslib_1.__exportStar(require(\"./serializerMiddleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSerdePlugin = exports.serializerMiddlewareOption = exports.deserializerMiddlewareOption = void 0;\nconst deserializerMiddleware_1 = require(\"./deserializerMiddleware\");\nconst serializerMiddleware_1 = require(\"./serializerMiddleware\");\nexports.deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexports.serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nfunction getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add((0, deserializerMiddleware_1.deserializerMiddleware)(config, deserializer), exports.deserializerMiddlewareOption);\n commandStack.add((0, serializerMiddleware_1.serializerMiddleware)(config, serializer), exports.serializerMiddlewareOption);\n },\n };\n}\nexports.getSerdePlugin = getSerdePlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializerMiddleware = void 0;\nconst serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n var _a;\n const endpoint = ((_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.url) && options.urlParser\n ? async () => options.urlParser(context.endpointV2.url)\n : options.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\nexports.serializerMiddleware = serializerMiddleware;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst signature_v4_1 = require(\"@aws-sdk/signature-v4\");\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst CREDENTIAL_EXPIRE_WINDOW = 300000;\nconst resolveAwsAuthConfig = (input) => {\n const normalizedCreds = input.credentials\n ? normalizeCredentialProvider(input.credentials)\n : input.credentialDefaultProvider(input);\n const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;\n let signer;\n if (input.signer) {\n signer = (0, util_middleware_1.normalizeProvider)(input.signer);\n }\n else if (input.regionInfoProvider) {\n signer = () => (0, util_middleware_1.normalizeProvider)(input.region)()\n .then(async (region) => [\n (await input.regionInfoProvider(region, {\n useFipsEndpoint: await input.useFipsEndpoint(),\n useDualstackEndpoint: await input.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n input.signingRegion = input.signingRegion || signingRegion || region;\n input.signingName = input.signingName || signingService || input.serviceId;\n const params = {\n ...input,\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: input.signingName || input.defaultSigningName,\n signingRegion: await (0, util_middleware_1.normalizeProvider)(input.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n input.signingRegion = input.signingRegion || signingRegion;\n input.signingName = input.signingName || signingService || input.serviceId;\n const params = {\n ...input,\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4;\n return new SignerCtor(params);\n };\n }\n return {\n ...input,\n systemClockOffset,\n signingEscapePath,\n credentials: normalizedCreds,\n signer,\n };\n};\nexports.resolveAwsAuthConfig = resolveAwsAuthConfig;\nconst resolveSigV4AuthConfig = (input) => {\n const normalizedCreds = input.credentials\n ? normalizeCredentialProvider(input.credentials)\n : input.credentialDefaultProvider(input);\n const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;\n let signer;\n if (input.signer) {\n signer = (0, util_middleware_1.normalizeProvider)(input.signer);\n }\n else {\n signer = (0, util_middleware_1.normalizeProvider)(new signature_v4_1.SignatureV4({\n credentials: normalizedCreds,\n region: input.region,\n service: input.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n }));\n }\n return {\n ...input,\n systemClockOffset,\n signingEscapePath,\n credentials: normalizedCreds,\n signer,\n };\n};\nexports.resolveSigV4AuthConfig = resolveSigV4AuthConfig;\nconst normalizeCredentialProvider = (credentials) => {\n if (typeof credentials === \"function\") {\n return (0, property_provider_1.memoize)(credentials, (credentials) => credentials.expiration !== undefined &&\n credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);\n }\n return (0, util_middleware_1.normalizeProvider)(credentials);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./middleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSigV4AuthPlugin = exports.getAwsAuthPlugin = exports.awsAuthMiddlewareOptions = exports.awsAuthMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst getSkewCorrectedDate_1 = require(\"./utils/getSkewCorrectedDate\");\nconst getUpdatedSystemClockOffset_1 = require(\"./utils/getUpdatedSystemClockOffset\");\nconst awsAuthMiddleware = (options) => (next, context) => async function (args) {\n var _a, _b, _c, _d;\n if (!protocol_http_1.HttpRequest.isInstance(args.request))\n return next(args);\n const authScheme = (_c = (_b = (_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0];\n const multiRegionOverride = (authScheme === null || authScheme === void 0 ? void 0 : authScheme.name) === \"sigv4a\" ? (_d = authScheme === null || authScheme === void 0 ? void 0 : authScheme.signingRegionSet) === null || _d === void 0 ? void 0 : _d.join(\",\") : undefined;\n const signer = await options.signer(authScheme);\n const output = await next({\n ...args,\n request: await signer.sign(args.request, {\n signingDate: (0, getSkewCorrectedDate_1.getSkewCorrectedDate)(options.systemClockOffset),\n signingRegion: multiRegionOverride || context[\"signing_region\"],\n signingService: context[\"signing_service\"],\n }),\n }).catch((error) => {\n var _a;\n const serverTime = (_a = error.ServerTime) !== null && _a !== void 0 ? _a : getDateHeader(error.$response);\n if (serverTime) {\n options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(serverTime, options.systemClockOffset);\n }\n throw error;\n });\n const dateHeader = getDateHeader(output.response);\n if (dateHeader) {\n options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset);\n }\n return output;\n};\nexports.awsAuthMiddleware = awsAuthMiddleware;\nconst getDateHeader = (response) => { var _a, _b, _c; return protocol_http_1.HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : undefined; };\nexports.awsAuthMiddlewareOptions = {\n name: \"awsAuthMiddleware\",\n tags: [\"SIGNATURE\", \"AWSAUTH\"],\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n override: true,\n};\nconst getAwsAuthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, exports.awsAuthMiddleware)(options), exports.awsAuthMiddlewareOptions);\n },\n});\nexports.getAwsAuthPlugin = getAwsAuthPlugin;\nexports.getSigV4AuthPlugin = exports.getAwsAuthPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSkewCorrectedDate = void 0;\nconst getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\nexports.getSkewCorrectedDate = getSkewCorrectedDate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUpdatedSystemClockOffset = void 0;\nconst isClockSkewed_1 = require(\"./isClockSkewed\");\nconst getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\nexports.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isClockSkewed = void 0;\nconst getSkewCorrectedDate_1 = require(\"./getSkewCorrectedDate\");\nconst isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 300000;\nexports.isClockSkewed = isClockSkewed;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSsecPlugin = exports.ssecMiddlewareOptions = exports.ssecMiddleware = void 0;\nfunction ssecMiddleware(options) {\n return (next) => async (args) => {\n let input = { ...args.input };\n const properties = [\n {\n target: \"SSECustomerKey\",\n hash: \"SSECustomerKeyMD5\",\n },\n {\n target: \"CopySourceSSECustomerKey\",\n hash: \"CopySourceSSECustomerKeyMD5\",\n },\n ];\n for (const prop of properties) {\n const value = input[prop.target];\n if (value) {\n const valueView = ArrayBuffer.isView(value)\n ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength)\n : typeof value === \"string\"\n ? options.utf8Decoder(value)\n : new Uint8Array(value);\n const encoded = options.base64Encoder(valueView);\n const hash = new options.md5();\n hash.update(valueView);\n input = {\n ...input,\n [prop.target]: encoded,\n [prop.hash]: options.base64Encoder(await hash.digest()),\n };\n }\n }\n return next({\n ...args,\n input,\n });\n };\n}\nexports.ssecMiddleware = ssecMiddleware;\nexports.ssecMiddlewareOptions = {\n name: \"ssecMiddleware\",\n step: \"initialize\",\n tags: [\"SSE\"],\n override: true,\n};\nconst getSsecPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(ssecMiddleware(config), exports.ssecMiddlewareOptions);\n },\n});\nexports.getSsecPlugin = getSsecPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.constructStack = void 0;\nconst constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.name && entry.name === toRemove) {\n isRemoved = true;\n entriesNameSet.delete(toRemove);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n if (entry.name)\n entriesNameSet.delete(entry.name);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n return toStack;\n };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n if (normalizedEntry.name)\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n if (normalizedEntry.name)\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ${entry.name || \"anonymous\"} middleware ${entry.relation} ${entry.toMiddleware}`);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expendedMiddlewareList) => {\n wholeList.push(...expendedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override)\n throw new Error(`Duplicate middleware name '${name}'`);\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === name);\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) {\n throw new Error(`\"${name}\" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be ` +\n `overridden by same-name middleware with ${entry.priority} priority in ${entry.step} step.`);\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override } = options;\n const entry = {\n middleware,\n ...options,\n };\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override)\n throw new Error(`Duplicate middleware name '${name}'`);\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === name);\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(`\"${name}\" middleware ${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by same-name middleware ${entry.relation} \"${entry.toMiddleware}\" middleware.`);\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo((0, exports.constructStack)()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const { tags, name } = entry;\n if (tags && tags.includes(toRemove)) {\n if (name)\n entriesNameSet.delete(name);\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo((0, exports.constructStack)());\n cloned.use(from);\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n return mw.name + \": \" + (mw.tags || []).join(\",\");\n });\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n return handler;\n },\n };\n return stack;\n};\nexports.constructStack = constructStack;\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./MiddlewareStack\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveUserAgentConfig = void 0;\nfunction resolveUserAgentConfig(input) {\n return {\n ...input,\n customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent,\n };\n}\nexports.resolveUserAgentConfig = resolveUserAgentConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UA_ESCAPE_REGEX = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0;\nexports.USER_AGENT = \"user-agent\";\nexports.X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexports.SPACE = \" \";\nexports.UA_ESCAPE_REGEX = /[^\\!\\#\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./user-agent-middleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUserAgentPlugin = exports.getUserAgentMiddlewareOptions = exports.userAgentMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst constants_1 = require(\"./constants\");\nconst userAgentMiddleware = (options) => (next, context) => async (args) => {\n var _a, _b;\n const { request } = args;\n if (!protocol_http_1.HttpRequest.isInstance(request))\n return next(args);\n const { headers } = request;\n const userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n const customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || [];\n const sdkUserAgentValue = [...defaultUserAgent, ...userAgent, ...customUserAgent].join(constants_1.SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(constants_1.SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[constants_1.X_AMZ_USER_AGENT] = headers[constants_1.X_AMZ_USER_AGENT]\n ? `${headers[constants_1.USER_AGENT]} ${normalUAValue}`\n : normalUAValue;\n }\n headers[constants_1.USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[constants_1.X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request,\n });\n};\nexports.userAgentMiddleware = userAgentMiddleware;\nconst escapeUserAgent = ([name, version]) => {\n const prefixSeparatorIndex = name.indexOf(\"/\");\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .map((item) => item === null || item === void 0 ? void 0 : item.replace(constants_1.UA_ESCAPE_REGEX, \"_\"))\n .join(\"/\");\n};\nexports.getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nconst getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.userAgentMiddleware)(config), exports.getUserAgentMiddlewareOptions);\n },\n});\nexports.getUserAgentPlugin = getUserAgentPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadConfig = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromEnv_1 = require(\"./fromEnv\");\nconst fromSharedConfigFiles_1 = require(\"./fromSharedConfigFiles\");\nconst fromStatic_1 = require(\"./fromStatic\");\nconst loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromEnv_1.fromEnv)(environmentVariableSelector), (0, fromSharedConfigFiles_1.fromSharedConfigFiles)(configFileSelector, configuration), (0, fromStatic_1.fromStatic)(defaultValue)));\nexports.loadConfig = loadConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromEnv = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromEnv = (envVarSelector) => async () => {\n try {\n const config = envVarSelector(process.env);\n if (config === undefined) {\n throw new Error();\n }\n return config;\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(e.message || `Cannot load config from environment variables with getter: ${envVarSelector}`);\n }\n};\nexports.fromEnv = fromEnv;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromSharedConfigFiles = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst fromSharedConfigFiles = (configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = (0, shared_ini_file_loader_1.getProfileName)(init);\n const { configFile, credentialsFile } = await (0, shared_ini_file_loader_1.loadSharedConfigFiles)(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\"\n ? { ...profileFromCredentials, ...profileFromConfig }\n : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const configValue = configSelector(mergedProfile);\n if (configValue === undefined) {\n throw new Error();\n }\n return configValue;\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(e.message ||\n `Cannot load config for profile ${profile} in SDK configuration files with getter: ${configSelector}`);\n }\n};\nexports.fromSharedConfigFiles = fromSharedConfigFiles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromStatic = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst isFunction = (func) => typeof func === \"function\";\nconst fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, property_provider_1.fromStatic)(defaultValue);\nexports.fromStatic = fromStatic;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./configLoader\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODEJS_TIMEOUT_ERROR_CODES = void 0;\nexports.NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTransformedHeaders = void 0;\nconst getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\nexports.getTransformedHeaders = getTransformedHeaders;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./node-http-handler\"), exports);\ntslib_1.__exportStar(require(\"./node-http2-handler\"), exports);\ntslib_1.__exportStar(require(\"./stream-collector\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NodeHttpHandler = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst querystring_builder_1 = require(\"@aws-sdk/querystring-builder\");\nconst http_1 = require(\"http\");\nconst https_1 = require(\"https\");\nconst constants_1 = require(\"./constants\");\nconst get_transformed_headers_1 = require(\"./get-transformed-headers\");\nconst set_connection_timeout_1 = require(\"./set-connection-timeout\");\nconst set_socket_timeout_1 = require(\"./set-socket-timeout\");\nconst write_request_body_1 = require(\"./write-request-body\");\nclass NodeHttpHandler {\n constructor(options) {\n this.metadata = { handlerProtocol: \"http/1.1\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n resolveDefaultConfig(options) {\n const { connectionTimeout, socketTimeout, httpAgent, httpsAgent } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n socketTimeout,\n httpAgent: httpAgent || new http_1.Agent({ keepAlive, maxSockets }),\n httpsAgent: httpsAgent || new https_1.Agent({ keepAlive, maxSockets }),\n };\n }\n destroy() {\n var _a, _b, _c, _d;\n (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.httpAgent) === null || _b === void 0 ? void 0 : _b.destroy();\n (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.httpsAgent) === null || _d === void 0 ? void 0 : _d.destroy();\n }\n async handle(request, { abortSignal } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((resolve, reject) => {\n if (!this.config) {\n throw new Error(\"Node HTTP request handler config is not resolved\");\n }\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const queryString = (0, querystring_builder_1.buildQueryString)(request.query || {});\n const nodeHttpsOptions = {\n headers: request.headers,\n host: request.hostname,\n method: request.method,\n path: queryString ? `${request.path}?${queryString}` : request.path,\n port: request.port,\n agent: isSSL ? this.config.httpsAgent : this.config.httpAgent,\n };\n const requestFunc = isSSL ? https_1.request : http_1.request;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new protocol_http_1.HttpResponse({\n statusCode: res.statusCode || -1,\n headers: (0, get_transformed_headers_1.getTransformedHeaders)(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n (0, set_connection_timeout_1.setConnectionTimeout)(req, reject, this.config.connectionTimeout);\n (0, set_socket_timeout_1.setSocketTimeout)(req, reject, this.config.socketTimeout);\n if (abortSignal) {\n abortSignal.onabort = () => {\n req.abort();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n }\n (0, write_request_body_1.writeRequestBody)(req, request);\n });\n }\n}\nexports.NodeHttpHandler = NodeHttpHandler;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NodeHttp2Handler = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst querystring_builder_1 = require(\"@aws-sdk/querystring-builder\");\nconst http2_1 = require(\"http2\");\nconst get_transformed_headers_1 = require(\"./get-transformed-headers\");\nconst write_request_body_1 = require(\"./write-request-body\");\nclass NodeHttp2Handler {\n constructor(options) {\n this.metadata = { handlerProtocol: \"h2\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n this.sessionCache = new Map();\n }\n destroy() {\n for (const sessions of this.sessionCache.values()) {\n sessions.forEach((session) => this.destroySession(session));\n }\n this.sessionCache.clear();\n }\n async handle(request, { abortSignal } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const { requestTimeout, disableConcurrentStreams } = this.config;\n return new Promise((resolve, rejectOriginal) => {\n let fulfilled = false;\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n fulfilled = true;\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectOriginal(abortError);\n return;\n }\n const { hostname, method, port, protocol, path, query } = request;\n const authority = `${protocol}//${hostname}${port ? `:${port}` : \"\"}`;\n const session = this.getSession(authority, disableConcurrentStreams || false);\n const reject = (err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n rejectOriginal(err);\n };\n const queryString = (0, querystring_builder_1.buildQueryString)(query || {});\n const req = session.request({\n ...request.headers,\n [http2_1.constants.HTTP2_HEADER_PATH]: queryString ? `${path}?${queryString}` : path,\n [http2_1.constants.HTTP2_HEADER_METHOD]: method,\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new protocol_http_1.HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: (0, get_transformed_headers_1.getTransformedHeaders)(headers),\n body: req,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.deleteSessionFromCache(authority, session);\n }\n });\n if (requestTimeout) {\n req.setTimeout(requestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n });\n }\n if (abortSignal) {\n abortSignal.onabort = () => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n }\n req.on(\"frameError\", (type, code, id) => {\n reject(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", reject);\n req.on(\"aborted\", () => {\n reject(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n reject(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n (0, write_request_body_1.writeRequestBody)(req, request);\n });\n }\n getSession(authority, disableConcurrentStreams) {\n var _a;\n const sessionCache = this.sessionCache;\n const existingSessions = sessionCache.get(authority) || [];\n if (existingSessions.length > 0 && !disableConcurrentStreams)\n return existingSessions[0];\n const newSession = (0, http2_1.connect)(authority);\n newSession.unref();\n const destroySessionCb = () => {\n this.destroySession(newSession);\n this.deleteSessionFromCache(authority, newSession);\n };\n newSession.on(\"goaway\", destroySessionCb);\n newSession.on(\"error\", destroySessionCb);\n newSession.on(\"frameError\", destroySessionCb);\n newSession.on(\"close\", () => this.deleteSessionFromCache(authority, newSession));\n if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.sessionTimeout) {\n newSession.setTimeout(this.config.sessionTimeout, destroySessionCb);\n }\n existingSessions.push(newSession);\n sessionCache.set(authority, existingSessions);\n return newSession;\n }\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n deleteSessionFromCache(authority, session) {\n const existingSessions = this.sessionCache.get(authority) || [];\n if (!existingSessions.includes(session)) {\n return;\n }\n this.sessionCache.set(authority, existingSessions.filter((s) => s !== session));\n }\n}\nexports.NodeHttp2Handler = NodeHttp2Handler;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setConnectionTimeout = void 0;\nconst setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return;\n }\n request.on(\"socket\", (socket) => {\n if (socket.connecting) {\n const timeoutId = setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs);\n socket.on(\"connect\", () => {\n clearTimeout(timeoutId);\n });\n }\n });\n};\nexports.setConnectionTimeout = setConnectionTimeout;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setSocketTimeout = void 0;\nconst setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n request.setTimeout(timeoutInMs, () => {\n request.destroy();\n reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: \"TimeoutError\" }));\n });\n};\nexports.setSocketTimeout = setSocketTimeout;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Collector = void 0;\nconst stream_1 = require(\"stream\");\nclass Collector extends stream_1.Writable {\n constructor() {\n super(...arguments);\n this.bufferedBytes = [];\n }\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\nexports.Collector = Collector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.streamCollector = void 0;\nconst collector_1 = require(\"./collector\");\nconst streamCollector = (stream) => new Promise((resolve, reject) => {\n const collector = new collector_1.Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n});\nexports.streamCollector = streamCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.writeRequestBody = void 0;\nconst stream_1 = require(\"stream\");\nfunction writeRequestBody(httpRequest, request) {\n const expect = request.headers[\"Expect\"] || request.headers[\"expect\"];\n if (expect === \"100-continue\") {\n httpRequest.on(\"continue\", () => {\n writeBody(httpRequest, request.body);\n });\n }\n else {\n writeBody(httpRequest, request.body);\n }\n}\nexports.writeRequestBody = writeRequestBody;\nfunction writeBody(httpRequest, body) {\n if (body instanceof stream_1.Readable) {\n body.pipe(httpRequest);\n }\n else if (body) {\n httpRequest.end(Buffer.from(body));\n }\n else {\n httpRequest.end();\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CredentialsProviderError = void 0;\nconst ProviderError_1 = require(\"./ProviderError\");\nclass CredentialsProviderError extends ProviderError_1.ProviderError {\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n this.name = \"CredentialsProviderError\";\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\nexports.CredentialsProviderError = CredentialsProviderError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProviderError = void 0;\nclass ProviderError extends Error {\n constructor(message, tryNextLink = true) {\n super(message);\n this.tryNextLink = tryNextLink;\n this.name = \"ProviderError\";\n Object.setPrototypeOf(this, ProviderError.prototype);\n }\n static from(error, tryNextLink = true) {\n return Object.assign(new this(error.message, tryNextLink), error);\n }\n}\nexports.ProviderError = ProviderError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenProviderError = void 0;\nconst ProviderError_1 = require(\"./ProviderError\");\nclass TokenProviderError extends ProviderError_1.ProviderError {\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n this.name = \"TokenProviderError\";\n Object.setPrototypeOf(this, TokenProviderError.prototype);\n }\n}\nexports.TokenProviderError = TokenProviderError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.chain = void 0;\nconst ProviderError_1 = require(\"./ProviderError\");\nfunction chain(...providers) {\n return () => {\n let promise = Promise.reject(new ProviderError_1.ProviderError(\"No providers in chain\"));\n for (const provider of providers) {\n promise = promise.catch((err) => {\n if (err === null || err === void 0 ? void 0 : err.tryNextLink) {\n return provider();\n }\n throw err;\n });\n }\n return promise;\n };\n}\nexports.chain = chain;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromStatic = void 0;\nconst fromStatic = (staticValue) => () => Promise.resolve(staticValue);\nexports.fromStatic = fromStatic;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./CredentialsProviderError\"), exports);\ntslib_1.__exportStar(require(\"./ProviderError\"), exports);\ntslib_1.__exportStar(require(\"./TokenProviderError\"), exports);\ntslib_1.__exportStar(require(\"./chain\"), exports);\ntslib_1.__exportStar(require(\"./fromStatic\"), exports);\ntslib_1.__exportStar(require(\"./memoize\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.memoize = void 0;\nconst memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\nexports.memoize = memoize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Field = void 0;\nconst FieldPosition_1 = require(\"./FieldPosition\");\nclass Field {\n constructor({ name, kind = FieldPosition_1.FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values\n .map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v))\n .join(\", \");\n }\n get() {\n return this.values;\n }\n}\nexports.Field = Field;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FieldPosition = void 0;\nvar FieldPosition;\n(function (FieldPosition) {\n FieldPosition[FieldPosition[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition[FieldPosition[\"TRAILER\"] = 1] = \"TRAILER\";\n})(FieldPosition = exports.FieldPosition || (exports.FieldPosition = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Fields = void 0;\nclass Fields {\n constructor({ fields = [], encoding = \"utf-8\" }) {\n this.entries = {};\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name] = field;\n }\n getField(name) {\n return this.entries[name];\n }\n removeField(name) {\n delete this.entries[name];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\nexports.Fields = Fields;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpRequest = void 0;\nclass HttpRequest {\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.slice(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n }\n static isInstance(request) {\n if (!request)\n return false;\n const req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n }\n clone() {\n const cloned = new HttpRequest({\n ...this,\n headers: { ...this.headers },\n });\n if (cloned.query)\n cloned.query = cloneQuery(cloned.query);\n return cloned;\n }\n}\nexports.HttpRequest = HttpRequest;\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpResponse = void 0;\nclass HttpResponse {\n constructor(options) {\n this.statusCode = options.statusCode;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\nexports.HttpResponse = HttpResponse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./Field\"), exports);\ntslib_1.__exportStar(require(\"./FieldPosition\"), exports);\ntslib_1.__exportStar(require(\"./Fields\"), exports);\ntslib_1.__exportStar(require(\"./httpHandler\"), exports);\ntslib_1.__exportStar(require(\"./httpRequest\"), exports);\ntslib_1.__exportStar(require(\"./httpResponse\"), exports);\ntslib_1.__exportStar(require(\"./isValidHostname\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidHostname = void 0;\nfunction isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\nexports.isValidHostname = isValidHostname;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildQueryString = void 0;\nconst util_uri_escape_1 = require(\"@aws-sdk/util-uri-escape\");\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = (0, util_uri_escape_1.escapeUri)(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${(0, util_uri_escape_1.escapeUri)(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${(0, util_uri_escape_1.escapeUri)(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\nexports.buildQueryString = buildQueryString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseQueryString = void 0;\nfunction parseQueryString(querystring) {\n const query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\nexports.parseQueryString = parseQueryString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODEJS_TIMEOUT_ERROR_CODES = exports.TRANSIENT_ERROR_STATUS_CODES = exports.TRANSIENT_ERROR_CODES = exports.THROTTLING_ERROR_CODES = exports.CLOCK_SKEW_ERROR_CODES = void 0;\nexports.CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nexports.THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nexports.TRANSIENT_ERROR_CODES = [\"AbortError\", \"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexports.TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexports.NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isServerError = exports.isTransientError = exports.isThrottlingError = exports.isClockSkewError = exports.isRetryableByTrait = void 0;\nconst constants_1 = require(\"./constants\");\nconst isRetryableByTrait = (error) => error.$retryable !== undefined;\nexports.isRetryableByTrait = isRetryableByTrait;\nconst isClockSkewError = (error) => constants_1.CLOCK_SKEW_ERROR_CODES.includes(error.name);\nexports.isClockSkewError = isClockSkewError;\nconst isThrottlingError = (error) => {\n var _a, _b;\n return ((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 429 ||\n constants_1.THROTTLING_ERROR_CODES.includes(error.name) ||\n ((_b = error.$retryable) === null || _b === void 0 ? void 0 : _b.throttling) == true;\n};\nexports.isThrottlingError = isThrottlingError;\nconst isTransientError = (error) => {\n var _a;\n return constants_1.TRANSIENT_ERROR_CODES.includes(error.name) ||\n constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes((error === null || error === void 0 ? void 0 : error.code) || \"\") ||\n constants_1.TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0);\n};\nexports.isTransientError = isTransientError;\nconst isServerError = (error) => {\n var _a;\n if (((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !(0, exports.isTransientError)(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\nexports.isServerError = isServerError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigFilepath = exports.ENV_CONFIG_PATH = void 0;\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nexports.ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nconst getConfigFilepath = () => process.env[exports.ENV_CONFIG_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"config\");\nexports.getConfigFilepath = getConfigFilepath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCredentialsFilepath = exports.ENV_CREDENTIALS_PATH = void 0;\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nexports.ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nconst getCredentialsFilepath = () => process.env[exports.ENV_CREDENTIALS_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"credentials\");\nexports.getCredentialsFilepath = getCredentialsFilepath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHomeDir = void 0;\nconst os_1 = require(\"os\");\nconst path_1 = require(\"path\");\nconst getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env;\n if (HOME)\n return HOME;\n if (USERPROFILE)\n return USERPROFILE;\n if (HOMEPATH)\n return `${HOMEDRIVE}${HOMEPATH}`;\n return (0, os_1.homedir)();\n};\nexports.getHomeDir = getHomeDir;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProfileData = void 0;\nconst profileKeyRegex = /^profile\\s([\"'])?([^\\1]+)\\1$/;\nconst getProfileData = (data) => Object.entries(data)\n .filter(([key]) => profileKeyRegex.test(key))\n .reduce((acc, [key, value]) => ({ ...acc, [profileKeyRegex.exec(key)[2]]: value }), {\n ...(data.default && { default: data.default }),\n});\nexports.getProfileData = getProfileData;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProfileName = exports.DEFAULT_PROFILE = exports.ENV_PROFILE = void 0;\nexports.ENV_PROFILE = \"AWS_PROFILE\";\nexports.DEFAULT_PROFILE = \"default\";\nconst getProfileName = (init) => init.profile || process.env[exports.ENV_PROFILE] || exports.DEFAULT_PROFILE;\nexports.getProfileName = getProfileName;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFilepath = void 0;\nconst crypto_1 = require(\"crypto\");\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nconst getSSOTokenFilepath = (id) => {\n const hasher = (0, crypto_1.createHash)(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\nexports.getSSOTokenFilepath = getSSOTokenFilepath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFromFile = void 0;\nconst fs_1 = require(\"fs\");\nconst getSSOTokenFilepath_1 = require(\"./getSSOTokenFilepath\");\nconst { readFile } = fs_1.promises;\nconst getSSOTokenFromFile = async (id) => {\n const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id);\n const ssoTokenText = await readFile(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\nexports.getSSOTokenFromFile = getSSOTokenFromFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSsoSessionData = void 0;\nconst ssoSessionKeyRegex = /^sso-session\\s([\"'])?([^\\1]+)\\1$/;\nconst getSsoSessionData = (data) => Object.entries(data)\n .filter(([key]) => ssoSessionKeyRegex.test(key))\n .reduce((acc, [key, value]) => ({ ...acc, [ssoSessionKeyRegex.exec(key)[2]]: value }), {});\nexports.getSsoSessionData = getSsoSessionData;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./getHomeDir\"), exports);\ntslib_1.__exportStar(require(\"./getProfileName\"), exports);\ntslib_1.__exportStar(require(\"./getSSOTokenFilepath\"), exports);\ntslib_1.__exportStar(require(\"./getSSOTokenFromFile\"), exports);\ntslib_1.__exportStar(require(\"./loadSharedConfigFiles\"), exports);\ntslib_1.__exportStar(require(\"./loadSsoSessionData\"), exports);\ntslib_1.__exportStar(require(\"./parseKnownFiles\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadSharedConfigFiles = void 0;\nconst getConfigFilepath_1 = require(\"./getConfigFilepath\");\nconst getCredentialsFilepath_1 = require(\"./getCredentialsFilepath\");\nconst getProfileData_1 = require(\"./getProfileData\");\nconst parseIni_1 = require(\"./parseIni\");\nconst slurpFile_1 = require(\"./slurpFile\");\nconst swallowError = () => ({});\nconst loadSharedConfigFiles = async (init = {}) => {\n const { filepath = (0, getCredentialsFilepath_1.getCredentialsFilepath)(), configFilepath = (0, getConfigFilepath_1.getConfigFilepath)() } = init;\n const parsedFiles = await Promise.all([\n (0, slurpFile_1.slurpFile)(configFilepath).then(parseIni_1.parseIni).then(getProfileData_1.getProfileData).catch(swallowError),\n (0, slurpFile_1.slurpFile)(filepath).then(parseIni_1.parseIni).catch(swallowError),\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1],\n };\n};\nexports.loadSharedConfigFiles = loadSharedConfigFiles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadSsoSessionData = void 0;\nconst getConfigFilepath_1 = require(\"./getConfigFilepath\");\nconst getSsoSessionData_1 = require(\"./getSsoSessionData\");\nconst parseIni_1 = require(\"./parseIni\");\nconst slurpFile_1 = require(\"./slurpFile\");\nconst swallowError = () => ({});\nconst loadSsoSessionData = async (init = {}) => {\n var _a;\n return (0, slurpFile_1.slurpFile)((_a = init.configFilepath) !== null && _a !== void 0 ? _a : (0, getConfigFilepath_1.getConfigFilepath)())\n .then(parseIni_1.parseIni)\n .then(getSsoSessionData_1.getSsoSessionData)\n .catch(swallowError);\n};\nexports.loadSsoSessionData = loadSsoSessionData;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseIni = void 0;\nconst profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nconst parseIni = (iniData) => {\n const map = {};\n let currentSection;\n for (let line of iniData.split(/\\r?\\n/)) {\n line = line.split(/(^|\\s)[;#]/)[0].trim();\n const isSection = line[0] === \"[\" && line[line.length - 1] === \"]\";\n if (isSection) {\n currentSection = line.substring(1, line.length - 1);\n if (profileNameBlockList.includes(currentSection)) {\n throw new Error(`Found invalid profile name \"${currentSection}\"`);\n }\n }\n else if (currentSection) {\n const indexOfEqualsSign = line.indexOf(\"=\");\n const start = 0;\n const end = line.length - 1;\n const isAssignment = indexOfEqualsSign !== -1 && indexOfEqualsSign !== start && indexOfEqualsSign !== end;\n if (isAssignment) {\n const [name, value] = [\n line.substring(0, indexOfEqualsSign).trim(),\n line.substring(indexOfEqualsSign + 1).trim(),\n ];\n map[currentSection] = map[currentSection] || {};\n map[currentSection][name] = value;\n }\n }\n }\n return map;\n};\nexports.parseIni = parseIni;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseKnownFiles = void 0;\nconst loadSharedConfigFiles_1 = require(\"./loadSharedConfigFiles\");\nconst parseKnownFiles = async (init) => {\n const parsedFiles = await (0, loadSharedConfigFiles_1.loadSharedConfigFiles)(init);\n return {\n ...parsedFiles.configFile,\n ...parsedFiles.credentialsFile,\n };\n};\nexports.parseKnownFiles = parseKnownFiles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slurpFile = void 0;\nconst fs_1 = require(\"fs\");\nconst { readFile } = fs_1.promises;\nconst filePromisesHash = {};\nconst slurpFile = (path) => {\n if (!filePromisesHash[path]) {\n filePromisesHash[path] = readFile(path, \"utf8\");\n }\n return filePromisesHash[path];\n};\nexports.slurpFile = slurpFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignatureV4MultiRegion = void 0;\nconst signature_v4_1 = require(\"@aws-sdk/signature-v4\");\nclass SignatureV4MultiRegion {\n constructor(options) {\n this.sigv4Signer = new signature_v4_1.SignatureV4(options);\n this.signerOptions = options;\n }\n async sign(requestToSign, options = {}) {\n if (options.signingRegion === \"*\") {\n if (this.signerOptions.runtime !== \"node\")\n throw new Error(\"This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js\");\n return this.getSigv4aSigner().sign(requestToSign, options);\n }\n return this.sigv4Signer.sign(requestToSign, options);\n }\n async presign(originalRequest, options = {}) {\n if (options.signingRegion === \"*\") {\n if (this.signerOptions.runtime !== \"node\")\n throw new Error(\"This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js\");\n return this.getSigv4aSigner().presign(originalRequest, options);\n }\n return this.sigv4Signer.presign(originalRequest, options);\n }\n getSigv4aSigner() {\n if (!this.sigv4aSigner) {\n let CrtSignerV4;\n try {\n CrtSignerV4 = typeof require === \"function\" && require(\"@aws-sdk/signature-v4-crt\").CrtSignerV4;\n if (typeof CrtSignerV4 !== \"function\")\n throw new Error();\n }\n catch (e) {\n e.message =\n `${e.message}\\nPlease check if you have installed \"@aws-sdk/signature-v4-crt\" package explicitly. \\n` +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\";\n throw e;\n }\n this.sigv4aSigner = new CrtSignerV4({\n ...this.signerOptions,\n signingAlgorithm: 1,\n });\n }\n return this.sigv4aSigner;\n }\n}\nexports.SignatureV4MultiRegion = SignatureV4MultiRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./SignatureV4MultiRegion\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignatureV4 = void 0;\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst constants_1 = require(\"./constants\");\nconst credentialDerivation_1 = require(\"./credentialDerivation\");\nconst getCanonicalHeaders_1 = require(\"./getCanonicalHeaders\");\nconst getCanonicalQuery_1 = require(\"./getCanonicalQuery\");\nconst getPayloadHash_1 = require(\"./getPayloadHash\");\nconst headerUtil_1 = require(\"./headerUtil\");\nconst moveHeadersToQuery_1 = require(\"./moveHeadersToQuery\");\nconst prepareRequest_1 = require(\"./prepareRequest\");\nconst utilDate_1 = require(\"./utilDate\");\nclass SignatureV4 {\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = (0, util_middleware_1.normalizeProvider)(region);\n this.credentialProvider = (0, util_middleware_1.normalizeProvider)(credentials);\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : (await this.regionProvider());\n const { longDate, shortDate } = formatDate(signingDate);\n if (expiresIn > constants_1.MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n const request = (0, moveHeadersToQuery_1.moveHeadersToQuery)((0, prepareRequest_1.prepareRequest)(originalRequest), { unhoistableHeaders });\n if (credentials.sessionToken) {\n request.query[constants_1.TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[constants_1.ALGORITHM_QUERY_PARAM] = constants_1.ALGORITHM_IDENTIFIER;\n request.query[constants_1.CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[constants_1.AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[constants_1.EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request, unsignableHeaders, signableHeaders);\n request.query[constants_1.SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n request.query[constants_1.SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await (0, getPayloadHash_1.getPayloadHash)(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : (await this.regionProvider());\n const { shortDate, longDate } = formatDate(signingDate);\n const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n const hashedPayload = await (0, getPayloadHash_1.getPayloadHash)({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = (0, util_hex_encoding_1.toHex)(await hash.digest());\n const stringToSign = [\n constants_1.EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : (await this.regionProvider());\n const { shortDate } = formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update((0, util_utf8_1.toUint8Array)(stringToSign));\n return (0, util_hex_encoding_1.toHex)(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : (await this.regionProvider());\n const request = (0, prepareRequest_1.prepareRequest)(requestToSign);\n const { longDate, shortDate } = formatDate(signingDate);\n const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n request.headers[constants_1.AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[constants_1.TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await (0, getPayloadHash_1.getPayloadHash)(request, this.sha256);\n if (!(0, headerUtil_1.hasHeader)(constants_1.SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[constants_1.SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[constants_1.AUTH_HEADER] =\n `${constants_1.ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${(0, getCanonicalQuery_1.getCanonicalQuery)(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest) {\n const hash = new this.sha256();\n hash.update((0, util_utf8_1.toUint8Array)(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${constants_1.ALGORITHM_IDENTIFIER}\n${longDate}\n${credentialScope}\n${(0, util_hex_encoding_1.toHex)(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if ((pathSegment === null || pathSegment === void 0 ? void 0 : pathSegment.length) === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${(path === null || path === void 0 ? void 0 : path.startsWith(\"/\")) ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && (path === null || path === void 0 ? void 0 : path.endsWith(\"/\")) ? \"/\" : \"\"}`;\n const doubleEncoded = encodeURIComponent(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\n const hash = new this.sha256(await keyPromise);\n hash.update((0, util_utf8_1.toUint8Array)(stringToSign));\n return (0, util_hex_encoding_1.toHex)(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return (0, credentialDerivation_1.getSigningKey)(this.sha256, credentials, shortDate, region, service || this.service);\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n}\nexports.SignatureV4 = SignatureV4;\nconst formatDate = (now) => {\n const longDate = (0, utilDate_1.iso8601)(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n};\nconst getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(\";\");\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneQuery = exports.cloneRequest = void 0;\nconst cloneRequest = ({ headers, query, ...rest }) => ({\n ...rest,\n headers: { ...headers },\n query: query ? (0, exports.cloneQuery)(query) : undefined,\n});\nexports.cloneRequest = cloneRequest;\nconst cloneQuery = (query) => Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n}, {});\nexports.cloneQuery = cloneQuery;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MAX_PRESIGNED_TTL = exports.KEY_TYPE_IDENTIFIER = exports.MAX_CACHE_SIZE = exports.UNSIGNED_PAYLOAD = exports.EVENT_ALGORITHM_IDENTIFIER = exports.ALGORITHM_IDENTIFIER_V4A = exports.ALGORITHM_IDENTIFIER = exports.UNSIGNABLE_PATTERNS = exports.SEC_HEADER_PATTERN = exports.PROXY_HEADER_PATTERN = exports.ALWAYS_UNSIGNABLE_HEADERS = exports.HOST_HEADER = exports.TOKEN_HEADER = exports.SHA256_HEADER = exports.SIGNATURE_HEADER = exports.GENERATED_HEADERS = exports.DATE_HEADER = exports.AMZ_DATE_HEADER = exports.AUTH_HEADER = exports.REGION_SET_PARAM = exports.TOKEN_QUERY_PARAM = exports.SIGNATURE_QUERY_PARAM = exports.EXPIRES_QUERY_PARAM = exports.SIGNED_HEADERS_QUERY_PARAM = exports.AMZ_DATE_QUERY_PARAM = exports.CREDENTIAL_QUERY_PARAM = exports.ALGORITHM_QUERY_PARAM = void 0;\nexports.ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexports.CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexports.AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexports.SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexports.EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexports.SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexports.TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexports.REGION_SET_PARAM = \"X-Amz-Region-Set\";\nexports.AUTH_HEADER = \"authorization\";\nexports.AMZ_DATE_HEADER = exports.AMZ_DATE_QUERY_PARAM.toLowerCase();\nexports.DATE_HEADER = \"date\";\nexports.GENERATED_HEADERS = [exports.AUTH_HEADER, exports.AMZ_DATE_HEADER, exports.DATE_HEADER];\nexports.SIGNATURE_HEADER = exports.SIGNATURE_QUERY_PARAM.toLowerCase();\nexports.SHA256_HEADER = \"x-amz-content-sha256\";\nexports.TOKEN_HEADER = exports.TOKEN_QUERY_PARAM.toLowerCase();\nexports.HOST_HEADER = \"host\";\nexports.ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexports.PROXY_HEADER_PATTERN = /^proxy-/;\nexports.SEC_HEADER_PATTERN = /^sec-/;\nexports.UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexports.ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexports.ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nexports.EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexports.UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexports.MAX_CACHE_SIZE = 50;\nexports.KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexports.MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clearCredentialCache = exports.getSigningKey = exports.createScope = void 0;\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst constants_1 = require(\"./constants\");\nconst signingKeyCache = {};\nconst cacheQueue = [];\nconst createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${constants_1.KEY_TYPE_IDENTIFIER}`;\nexports.createScope = createScope;\nconst getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${(0, util_hex_encoding_1.toHex)(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > constants_1.MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, constants_1.KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nexports.getSigningKey = getSigningKey;\nconst clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nexports.clearCredentialCache = clearCredentialCache;\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update((0, util_utf8_1.toUint8Array)(data));\n return hash.digest();\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCanonicalHeaders = void 0;\nconst constants_1 = require(\"./constants\");\nconst getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in constants_1.ALWAYS_UNSIGNABLE_HEADERS ||\n (unsignableHeaders === null || unsignableHeaders === void 0 ? void 0 : unsignableHeaders.has(canonicalHeaderName)) ||\n constants_1.PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n constants_1.SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\nexports.getCanonicalHeaders = getCanonicalHeaders;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCanonicalQuery = void 0;\nconst util_uri_escape_1 = require(\"@aws-sdk/util-uri-escape\");\nconst constants_1 = require(\"./constants\");\nconst getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query).sort()) {\n if (key.toLowerCase() === constants_1.SIGNATURE_HEADER) {\n continue;\n }\n keys.push(key);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .sort()\n .reduce((encoded, value) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`]), [])\n .join(\"&\");\n }\n }\n return keys\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\nexports.getCanonicalQuery = getCanonicalQuery;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getPayloadHash = void 0;\nconst is_array_buffer_1 = require(\"@aws-sdk/is-array-buffer\");\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst constants_1 = require(\"./constants\");\nconst getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === constants_1.SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || (0, is_array_buffer_1.isArrayBuffer)(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update((0, util_utf8_1.toUint8Array)(body));\n return (0, util_hex_encoding_1.toHex)(await hashCtor.digest());\n }\n return constants_1.UNSIGNED_PAYLOAD;\n};\nexports.getPayloadHash = getPayloadHash;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteHeader = exports.getHeaderValue = exports.hasHeader = void 0;\nconst hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexports.hasHeader = hasHeader;\nconst getHeaderValue = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return headers[headerName];\n }\n }\n return undefined;\n};\nexports.getHeaderValue = getHeaderValue;\nconst deleteHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n delete headers[headerName];\n }\n }\n};\nexports.deleteHeader = deleteHeader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareRequest = exports.moveHeadersToQuery = exports.getPayloadHash = exports.getCanonicalQuery = exports.getCanonicalHeaders = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./SignatureV4\"), exports);\nvar getCanonicalHeaders_1 = require(\"./getCanonicalHeaders\");\nObject.defineProperty(exports, \"getCanonicalHeaders\", { enumerable: true, get: function () { return getCanonicalHeaders_1.getCanonicalHeaders; } });\nvar getCanonicalQuery_1 = require(\"./getCanonicalQuery\");\nObject.defineProperty(exports, \"getCanonicalQuery\", { enumerable: true, get: function () { return getCanonicalQuery_1.getCanonicalQuery; } });\nvar getPayloadHash_1 = require(\"./getPayloadHash\");\nObject.defineProperty(exports, \"getPayloadHash\", { enumerable: true, get: function () { return getPayloadHash_1.getPayloadHash; } });\nvar moveHeadersToQuery_1 = require(\"./moveHeadersToQuery\");\nObject.defineProperty(exports, \"moveHeadersToQuery\", { enumerable: true, get: function () { return moveHeadersToQuery_1.moveHeadersToQuery; } });\nvar prepareRequest_1 = require(\"./prepareRequest\");\nObject.defineProperty(exports, \"prepareRequest\", { enumerable: true, get: function () { return prepareRequest_1.prepareRequest; } });\ntslib_1.__exportStar(require(\"./credentialDerivation\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.moveHeadersToQuery = void 0;\nconst cloneRequest_1 = require(\"./cloneRequest\");\nconst moveHeadersToQuery = (request, options = {}) => {\n var _a;\n const { headers, query = {} } = typeof request.clone === \"function\" ? request.clone() : (0, cloneRequest_1.cloneRequest)(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.slice(0, 6) === \"x-amz-\" && !((_a = options.unhoistableHeaders) === null || _a === void 0 ? void 0 : _a.has(lname))) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\nexports.moveHeadersToQuery = moveHeadersToQuery;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareRequest = void 0;\nconst cloneRequest_1 = require(\"./cloneRequest\");\nconst constants_1 = require(\"./constants\");\nconst prepareRequest = (request) => {\n request = typeof request.clone === \"function\" ? request.clone() : (0, cloneRequest_1.cloneRequest)(request);\n for (const headerName of Object.keys(request.headers)) {\n if (constants_1.GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\nexports.prepareRequest = prepareRequest;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDate = exports.iso8601 = void 0;\nconst iso8601 = (time) => (0, exports.toDate)(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nexports.iso8601 = iso8601;\nconst toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\nexports.toDate = toDate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NoOpLogger = void 0;\nclass NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\nexports.NoOpLogger = NoOpLogger;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Client = void 0;\nconst middleware_stack_1 = require(\"@aws-sdk/middleware-stack\");\nclass Client {\n constructor(config) {\n this.middlewareStack = (0, middleware_stack_1.constructStack)();\n this.config = config;\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n if (this.config.requestHandler.destroy)\n this.config.requestHandler.destroy();\n }\n}\nexports.Client = Client;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Command = void 0;\nconst middleware_stack_1 = require(\"@aws-sdk/middleware-stack\");\nclass Command {\n constructor() {\n this.middlewareStack = (0, middleware_stack_1.constructStack)();\n }\n}\nexports.Command = Command;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SENSITIVE_STRING = void 0;\nexports.SENSITIVE_STRING = \"***SensitiveInformation***\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseEpochTimestamp = exports.parseRfc7231DateTime = exports.parseRfc3339DateTimeWithOffset = exports.parseRfc3339DateTime = exports.dateToUtcString = void 0;\nconst parse_utils_1 = require(\"./parse-utils\");\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nfunction dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nexports.dateToUtcString = dateToUtcString;\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nconst parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nexports.parseRfc3339DateTime = parseRfc3339DateTime;\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nconst parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nexports.parseRfc3339DateTimeWithOffset = parseRfc3339DateTimeWithOffset;\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nconst parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexports.parseRfc7231DateTime = parseRfc7231DateTime;\nconst parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = (0, parse_utils_1.strictParseDouble)(value);\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nexports.parseEpochTimestamp = parseEpochTimestamp;\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = (0, parse_utils_1.strictParseByte)(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return (0, parse_utils_1.strictParseFloat32)(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.throwDefaultError = void 0;\nconst exceptions_1 = require(\"./exceptions\");\nconst throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.code) || (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.Code) || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw (0, exceptions_1.decorateServiceException)(response, parsedBody);\n};\nexports.throwDefaultError = throwDefaultError;\nconst deserializeMetadata = (output) => {\n var _a, _b;\n return ({\n httpStatusCode: output.statusCode,\n requestId: (_b = (_a = output.headers[\"x-amzn-requestid\"]) !== null && _a !== void 0 ? _a : output.headers[\"x-amzn-request-id\"]) !== null && _b !== void 0 ? _b : output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n });\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadConfigsForDefaultMode = void 0;\nconst loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\nexports.loadConfigsForDefaultMode = loadConfigsForDefaultMode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.emitWarningIfUnsupportedVersion = void 0;\nlet warningEmitted = false;\nconst emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 14) {\n warningEmitted = true;\n }\n};\nexports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorateServiceException = exports.ServiceException = void 0;\nclass ServiceException extends Error {\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, ServiceException.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n}\nexports.ServiceException = ServiceException;\nconst decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\nexports.decorateServiceException = decorateServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extendedEncodeURIComponent = void 0;\nfunction extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nexports.extendedEncodeURIComponent = extendedEncodeURIComponent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getArrayIfSingleItem = void 0;\nconst getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\nexports.getArrayIfSingleItem = getArrayIfSingleItem;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getValueFromTextNode = void 0;\nconst getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = (0, exports.getValueFromTextNode)(obj[key]);\n }\n }\n return obj;\n};\nexports.getValueFromTextNode = getValueFromTextNode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./NoOpLogger\"), exports);\ntslib_1.__exportStar(require(\"./client\"), exports);\ntslib_1.__exportStar(require(\"./command\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\ntslib_1.__exportStar(require(\"./date-utils\"), exports);\ntslib_1.__exportStar(require(\"./default-error-handler\"), exports);\ntslib_1.__exportStar(require(\"./defaults-mode\"), exports);\ntslib_1.__exportStar(require(\"./emitWarningIfUnsupportedVersion\"), exports);\ntslib_1.__exportStar(require(\"./exceptions\"), exports);\ntslib_1.__exportStar(require(\"./extended-encode-uri-component\"), exports);\ntslib_1.__exportStar(require(\"./get-array-if-single-item\"), exports);\ntslib_1.__exportStar(require(\"./get-value-from-text-node\"), exports);\ntslib_1.__exportStar(require(\"./lazy-json\"), exports);\ntslib_1.__exportStar(require(\"./object-mapping\"), exports);\ntslib_1.__exportStar(require(\"./parse-utils\"), exports);\ntslib_1.__exportStar(require(\"./resolve-path\"), exports);\ntslib_1.__exportStar(require(\"./ser-utils\"), exports);\ntslib_1.__exportStar(require(\"./split-every\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LazyJsonString = exports.StringWrapper = void 0;\nconst StringWrapper = function () {\n const Class = Object.getPrototypeOf(this).constructor;\n const Constructor = Function.bind.apply(String, [null, ...arguments]);\n const instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance;\n};\nexports.StringWrapper = StringWrapper;\nexports.StringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: exports.StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\nObject.setPrototypeOf(exports.StringWrapper, String);\nclass LazyJsonString extends exports.StringWrapper {\n deserializeJSON() {\n return JSON.parse(super.toString());\n }\n toJSON() {\n return super.toString();\n }\n static fromObject(object) {\n if (object instanceof LazyJsonString) {\n return object;\n }\n else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n }\n}\nexports.LazyJsonString = LazyJsonString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertMap = exports.map = void 0;\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n let [filter, value] = instructions[key];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[key] = _value;\n }\n else if (customFilterPassed) {\n target[key] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[key] = value;\n }\n }\n }\n return target;\n}\nexports.map = map;\nconst convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nexports.convertMap = convertMap;\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logger = exports.strictParseByte = exports.strictParseShort = exports.strictParseInt32 = exports.strictParseInt = exports.strictParseLong = exports.limitedParseFloat32 = exports.limitedParseFloat = exports.handleFloat = exports.limitedParseDouble = exports.strictParseFloat32 = exports.strictParseFloat = exports.strictParseDouble = exports.expectUnion = exports.expectString = exports.expectObject = exports.expectNonNull = exports.expectByte = exports.expectShort = exports.expectInt32 = exports.expectInt = exports.expectLong = exports.expectFloat32 = exports.expectNumber = exports.expectBoolean = exports.parseBoolean = void 0;\nconst parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexports.parseBoolean = parseBoolean;\nconst expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexports.expectBoolean = expectBoolean;\nconst expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n exports.logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nexports.expectNumber = expectNumber;\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nconst expectFloat32 = (value) => {\n const expected = (0, exports.expectNumber)(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexports.expectFloat32 = expectFloat32;\nconst expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexports.expectLong = expectLong;\nexports.expectInt = exports.expectLong;\nconst expectInt32 = (value) => expectSizedInt(value, 32);\nexports.expectInt32 = expectInt32;\nconst expectShort = (value) => expectSizedInt(value, 16);\nexports.expectShort = expectShort;\nconst expectByte = (value) => expectSizedInt(value, 8);\nexports.expectByte = expectByte;\nconst expectSizedInt = (value, size) => {\n const expected = (0, exports.expectLong)(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nconst expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexports.expectNonNull = expectNonNull;\nconst expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexports.expectObject = expectObject;\nconst expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n exports.logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexports.expectString = expectString;\nconst expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = (0, exports.expectObject)(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexports.expectUnion = expectUnion;\nconst strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return (0, exports.expectNumber)(parseNumber(value));\n }\n return (0, exports.expectNumber)(value);\n};\nexports.strictParseDouble = strictParseDouble;\nexports.strictParseFloat = exports.strictParseDouble;\nconst strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return (0, exports.expectFloat32)(parseNumber(value));\n }\n return (0, exports.expectFloat32)(value);\n};\nexports.strictParseFloat32 = strictParseFloat32;\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nconst limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return (0, exports.expectNumber)(value);\n};\nexports.limitedParseDouble = limitedParseDouble;\nexports.handleFloat = exports.limitedParseDouble;\nexports.limitedParseFloat = exports.limitedParseDouble;\nconst limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return (0, exports.expectFloat32)(value);\n};\nexports.limitedParseFloat32 = limitedParseFloat32;\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nconst strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return (0, exports.expectLong)(parseNumber(value));\n }\n return (0, exports.expectLong)(value);\n};\nexports.strictParseLong = strictParseLong;\nexports.strictParseInt = exports.strictParseLong;\nconst strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return (0, exports.expectInt32)(parseNumber(value));\n }\n return (0, exports.expectInt32)(value);\n};\nexports.strictParseInt32 = strictParseInt32;\nconst strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return (0, exports.expectShort)(parseNumber(value));\n }\n return (0, exports.expectShort)(value);\n};\nexports.strictParseShort = strictParseShort;\nconst strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return (0, exports.expectByte)(parseNumber(value));\n }\n return (0, exports.expectByte)(value);\n};\nexports.strictParseByte = strictParseByte;\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexports.logger = {\n warn: console.warn,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolvedPath = void 0;\nconst extended_encode_uri_component_1 = require(\"./extended-encode-uri-component\");\nconst resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(segment))\n .join(\"/\")\n : (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\nexports.resolvedPath = resolvedPath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeFloat = void 0;\nconst serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nexports.serializeFloat = serializeFloat;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitEvery = void 0;\nfunction splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\nexports.splitEvery = splitEvery;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0;\nexports.EXPIRE_WINDOW_MS = 5 * 60 * 1000;\nexports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromSso = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst constants_1 = require(\"./constants\");\nconst getNewSsoOidcToken_1 = require(\"./getNewSsoOidcToken\");\nconst validateTokenExpiry_1 = require(\"./validateTokenExpiry\");\nconst validateTokenKey_1 = require(\"./validateTokenKey\");\nconst writeSSOTokenToFile_1 = require(\"./writeSSOTokenToFile\");\nconst lastRefreshAttemptTime = new Date(0);\nconst fromSso = (init = {}) => async () => {\n const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);\n const profileName = (0, shared_ini_file_loader_1.getProfileName)(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new property_provider_1.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);\n }\n else if (!profile[\"sso_session\"]) {\n throw new property_provider_1.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);\n }\n const ssoSessionName = profile[\"sso_session\"];\n const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init);\n const ssoSession = ssoSessions[ssoSessionName];\n if (!ssoSession) {\n throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);\n }\n for (const ssoSessionRequiredKey of [\"sso_start_url\", \"sso_region\"]) {\n if (!ssoSession[ssoSessionRequiredKey]) {\n throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);\n }\n }\n const ssoStartUrl = ssoSession[\"sso_start_url\"];\n const ssoRegion = ssoSession[\"sso_region\"];\n let ssoToken;\n try {\n ssoToken = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoSessionName);\n }\n catch (e) {\n throw new property_provider_1.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${constants_1.REFRESH_MESSAGE}`, false);\n }\n (0, validateTokenKey_1.validateTokenKey)(\"accessToken\", ssoToken.accessToken);\n (0, validateTokenKey_1.validateTokenKey)(\"expiresAt\", ssoToken.expiresAt);\n const { accessToken, expiresAt } = ssoToken;\n const existingToken = { token: accessToken, expiration: new Date(expiresAt) };\n if (existingToken.expiration.getTime() - Date.now() > constants_1.EXPIRE_WINDOW_MS) {\n return existingToken;\n }\n if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {\n (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken);\n return existingToken;\n }\n (0, validateTokenKey_1.validateTokenKey)(\"clientId\", ssoToken.clientId, true);\n (0, validateTokenKey_1.validateTokenKey)(\"clientSecret\", ssoToken.clientSecret, true);\n (0, validateTokenKey_1.validateTokenKey)(\"refreshToken\", ssoToken.refreshToken, true);\n try {\n lastRefreshAttemptTime.setTime(Date.now());\n const newSsoOidcToken = await (0, getNewSsoOidcToken_1.getNewSsoOidcToken)(ssoToken, ssoRegion);\n (0, validateTokenKey_1.validateTokenKey)(\"accessToken\", newSsoOidcToken.accessToken);\n (0, validateTokenKey_1.validateTokenKey)(\"expiresIn\", newSsoOidcToken.expiresIn);\n const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);\n try {\n await (0, writeSSOTokenToFile_1.writeSSOTokenToFile)(ssoSessionName, {\n ...ssoToken,\n accessToken: newSsoOidcToken.accessToken,\n expiresAt: newTokenExpiration.toISOString(),\n refreshToken: newSsoOidcToken.refreshToken,\n });\n }\n catch (error) {\n }\n return {\n token: newSsoOidcToken.accessToken,\n expiration: newTokenExpiration,\n };\n }\n catch (error) {\n (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken);\n return existingToken;\n }\n};\nexports.fromSso = fromSso;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromStatic = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromStatic = ({ token }) => async () => {\n if (!token || !token.token) {\n throw new property_provider_1.TokenProviderError(`Please pass a valid token to fromStatic`, false);\n }\n return token;\n};\nexports.fromStatic = fromStatic;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getNewSsoOidcToken = void 0;\nconst client_sso_oidc_1 = require(\"@aws-sdk/client-sso-oidc\");\nconst getSsoOidcClient_1 = require(\"./getSsoOidcClient\");\nconst getNewSsoOidcToken = (ssoToken, ssoRegion) => {\n const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion);\n return ssoOidcClient.send(new client_sso_oidc_1.CreateTokenCommand({\n clientId: ssoToken.clientId,\n clientSecret: ssoToken.clientSecret,\n refreshToken: ssoToken.refreshToken,\n grantType: \"refresh_token\",\n }));\n};\nexports.getNewSsoOidcToken = getNewSsoOidcToken;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSsoOidcClient = void 0;\nconst client_sso_oidc_1 = require(\"@aws-sdk/client-sso-oidc\");\nconst ssoOidcClientsHash = {};\nconst getSsoOidcClient = (ssoRegion) => {\n if (ssoOidcClientsHash[ssoRegion]) {\n return ssoOidcClientsHash[ssoRegion];\n }\n const ssoOidcClient = new client_sso_oidc_1.SSOOIDCClient({ region: ssoRegion });\n ssoOidcClientsHash[ssoRegion] = ssoOidcClient;\n return ssoOidcClient;\n};\nexports.getSsoOidcClient = getSsoOidcClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromSso\"), exports);\ntslib_1.__exportStar(require(\"./fromStatic\"), exports);\ntslib_1.__exportStar(require(\"./nodeProvider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.nodeProvider = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromSso_1 = require(\"./fromSso\");\nconst nodeProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromSso_1.fromSso)(init), async () => {\n throw new property_provider_1.TokenProviderError(\"Could not load token from any providers\", false);\n}), (token) => token.expiration !== undefined && token.expiration.getTime() - Date.now() < 300000, (token) => token.expiration !== undefined);\nexports.nodeProvider = nodeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateTokenExpiry = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst constants_1 = require(\"./constants\");\nconst validateTokenExpiry = (token) => {\n if (token.expiration && token.expiration.getTime() < Date.now()) {\n throw new property_provider_1.TokenProviderError(`Token is expired. ${constants_1.REFRESH_MESSAGE}`, false);\n }\n};\nexports.validateTokenExpiry = validateTokenExpiry;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateTokenKey = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst constants_1 = require(\"./constants\");\nconst validateTokenKey = (key, value, forRefresh = false) => {\n if (typeof value === \"undefined\") {\n throw new property_provider_1.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? \". Cannot refresh\" : \"\"}. ${constants_1.REFRESH_MESSAGE}`, false);\n }\n};\nexports.validateTokenKey = validateTokenKey;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.writeSSOTokenToFile = void 0;\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst fs_1 = require(\"fs\");\nconst { writeFile } = fs_1.promises;\nconst writeSSOTokenToFile = (id, ssoToken) => {\n const tokenFilepath = (0, shared_ini_file_loader_1.getSSOTokenFilepath)(id);\n const tokenString = JSON.stringify(ssoToken, null, 2);\n return writeFile(tokenFilepath, tokenString);\n};\nexports.writeSSOTokenToFile = writeSSOTokenToFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpAuthLocation = void 0;\nvar HttpAuthLocation;\n(function (HttpAuthLocation) {\n HttpAuthLocation[\"HEADER\"] = \"header\";\n HttpAuthLocation[\"QUERY\"] = \"query\";\n})(HttpAuthLocation = exports.HttpAuthLocation || (exports.HttpAuthLocation = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostAddressType = void 0;\nvar HostAddressType;\n(function (HostAddressType) {\n HostAddressType[\"AAAA\"] = \"AAAA\";\n HostAddressType[\"A\"] = \"A\";\n})(HostAddressType = exports.HostAddressType || (exports.HostAddressType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointURLScheme = void 0;\nvar EndpointURLScheme;\n(function (EndpointURLScheme) {\n EndpointURLScheme[\"HTTP\"] = \"http\";\n EndpointURLScheme[\"HTTPS\"] = \"https\";\n})(EndpointURLScheme = exports.EndpointURLScheme || (exports.EndpointURLScheme = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AnonymousIdentity\"), exports);\ntslib_1.__exportStar(require(\"./AwsCredentialIdentity\"), exports);\ntslib_1.__exportStar(require(\"./Identity\"), exports);\ntslib_1.__exportStar(require(\"./LoginIdentity\"), exports);\ntslib_1.__exportStar(require(\"./TokenIdentity\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./abort\"), exports);\ntslib_1.__exportStar(require(\"./auth\"), exports);\ntslib_1.__exportStar(require(\"./checksum\"), exports);\ntslib_1.__exportStar(require(\"./client\"), exports);\ntslib_1.__exportStar(require(\"./command\"), exports);\ntslib_1.__exportStar(require(\"./credentials\"), exports);\ntslib_1.__exportStar(require(\"./crypto\"), exports);\ntslib_1.__exportStar(require(\"./dns\"), exports);\ntslib_1.__exportStar(require(\"./endpoint\"), exports);\ntslib_1.__exportStar(require(\"./eventStream\"), exports);\ntslib_1.__exportStar(require(\"./http\"), exports);\ntslib_1.__exportStar(require(\"./identity\"), exports);\ntslib_1.__exportStar(require(\"./logger\"), exports);\ntslib_1.__exportStar(require(\"./middleware\"), exports);\ntslib_1.__exportStar(require(\"./pagination\"), exports);\ntslib_1.__exportStar(require(\"./profile\"), exports);\ntslib_1.__exportStar(require(\"./request\"), exports);\ntslib_1.__exportStar(require(\"./response\"), exports);\ntslib_1.__exportStar(require(\"./retry\"), exports);\ntslib_1.__exportStar(require(\"./serde\"), exports);\ntslib_1.__exportStar(require(\"./shapes\"), exports);\ntslib_1.__exportStar(require(\"./signature\"), exports);\ntslib_1.__exportStar(require(\"./stream\"), exports);\ntslib_1.__exportStar(require(\"./token\"), exports);\ntslib_1.__exportStar(require(\"./transfer\"), exports);\ntslib_1.__exportStar(require(\"./util\"), exports);\ntslib_1.__exportStar(require(\"./waiter\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseUrl = void 0;\nconst querystring_parser_1 = require(\"@aws-sdk/querystring-parser\");\nconst parseUrl = (url) => {\n if (typeof url === \"string\") {\n return (0, exports.parseUrl)(new URL(url));\n }\n const { hostname, pathname, port, protocol, search } = url;\n let query;\n if (search) {\n query = (0, querystring_parser_1.parseQueryString)(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\nexports.parseUrl = parseUrl;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.build = exports.parse = exports.validate = void 0;\nconst validate = (str) => typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6;\nexports.validate = validate;\nconst parse = (arn) => {\n const segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\")\n throw new Error(\"Malformed ARN\");\n const [, partition, service, region, accountId, ...resource] = segments;\n return {\n partition,\n service,\n region,\n accountId,\n resource: resource.join(\":\"),\n };\n};\nexports.parse = parse;\nconst build = (arnObject) => {\n const { partition = \"aws\", service, region, accountId, resource } = arnObject;\n if ([service, region, accountId, resource].some((segment) => typeof segment !== \"string\")) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return `arn:${partition}:${service}:${region}:${accountId}:${resource}`;\n};\nexports.build = build;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromBase64 = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nconst fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = (0, util_buffer_from_1.fromString)(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\nexports.fromBase64 = fromBase64;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromBase64\"), exports);\ntslib_1.__exportStar(require(\"./toBase64\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst toBase64 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\nexports.toBase64 = toBase64;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.calculateBodyLength = void 0;\nconst fs_1 = require(\"fs\");\nconst calculateBodyLength = (body) => {\n if (!body) {\n return 0;\n }\n if (typeof body === \"string\") {\n return Buffer.from(body).length;\n }\n else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n return body.size;\n }\n else if (typeof body.path === \"string\" || Buffer.isBuffer(body.path)) {\n return (0, fs_1.lstatSync)(body.path).size;\n }\n else if (typeof body.fd === \"number\") {\n return (0, fs_1.fstatSync)(body.fd).size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\n};\nexports.calculateBodyLength = calculateBodyLength;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./calculateBodyLength\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromString = exports.fromArrayBuffer = void 0;\nconst is_array_buffer_1 = require(\"@aws-sdk/is-array-buffer\");\nconst buffer_1 = require(\"buffer\");\nconst fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {\n if (!(0, is_array_buffer_1.isArrayBuffer)(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return buffer_1.Buffer.from(input, offset, length);\n};\nexports.fromArrayBuffer = fromArrayBuffer;\nconst fromString = (input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? buffer_1.Buffer.from(input, encoding) : buffer_1.Buffer.from(input);\n};\nexports.fromString = fromString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.booleanSelector = exports.SelectorType = void 0;\nvar SelectorType;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(SelectorType = exports.SelectorType || (exports.SelectorType = {}));\nconst booleanSelector = (obj, key, type) => {\n if (!(key in obj))\n return undefined;\n if (obj[key] === \"true\")\n return true;\n if (obj[key] === \"false\")\n return false;\n throw new Error(`Cannot load ${type} \"${key}\". Expected \"true\" or \"false\", got ${obj[key]}.`);\n};\nexports.booleanSelector = booleanSelector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./booleanSelector\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IMDS_REGION_PATH = exports.DEFAULTS_MODE_OPTIONS = exports.ENV_IMDS_DISABLED = exports.AWS_DEFAULT_REGION_ENV = exports.AWS_REGION_ENV = exports.AWS_EXECUTION_ENV = void 0;\nexports.AWS_EXECUTION_ENV = \"AWS_EXECUTION_ENV\";\nexports.AWS_REGION_ENV = \"AWS_REGION\";\nexports.AWS_DEFAULT_REGION_ENV = \"AWS_DEFAULT_REGION\";\nexports.ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nexports.DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\nexports.IMDS_REGION_PATH = \"/latest/meta-data/placement/region\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = void 0;\nconst AWS_DEFAULTS_MODE_ENV = \"AWS_DEFAULTS_MODE\";\nconst AWS_DEFAULTS_MODE_CONFIG = \"defaults_mode\";\nexports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n return env[AWS_DEFAULTS_MODE_ENV];\n },\n configFileSelector: (profile) => {\n return profile[AWS_DEFAULTS_MODE_CONFIG];\n },\n default: \"legacy\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./resolveDefaultsModeConfig\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveDefaultsModeConfig = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst credential_provider_imds_1 = require(\"@aws-sdk/credential-provider-imds\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst constants_1 = require(\"./constants\");\nconst defaultsModeConfig_1 = require(\"./defaultsModeConfig\");\nconst resolveDefaultsModeConfig = ({ region = (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS), defaultsMode = (0, node_config_provider_1.loadConfig)(defaultsModeConfig_1.NODE_DEFAULTS_MODE_CONFIG_OPTIONS), } = {}) => (0, property_provider_1.memoize)(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode === null || mode === void 0 ? void 0 : mode.toLowerCase()) {\n case \"auto\":\n return resolveNodeDefaultsModeAuto(region);\n case \"in-region\":\n case \"cross-region\":\n case \"mobile\":\n case \"standard\":\n case \"legacy\":\n return Promise.resolve(mode === null || mode === void 0 ? void 0 : mode.toLocaleLowerCase());\n case undefined:\n return Promise.resolve(\"legacy\");\n default:\n throw new Error(`Invalid parameter for \"defaultsMode\", expect ${constants_1.DEFAULTS_MODE_OPTIONS.join(\", \")}, got ${mode}`);\n }\n});\nexports.resolveDefaultsModeConfig = resolveDefaultsModeConfig;\nconst resolveNodeDefaultsModeAuto = async (clientRegion) => {\n if (clientRegion) {\n const resolvedRegion = typeof clientRegion === \"function\" ? await clientRegion() : clientRegion;\n const inferredRegion = await inferPhysicalRegion();\n if (!inferredRegion) {\n return \"standard\";\n }\n if (resolvedRegion === inferredRegion) {\n return \"in-region\";\n }\n else {\n return \"cross-region\";\n }\n }\n return \"standard\";\n};\nconst inferPhysicalRegion = async () => {\n var _a;\n if (process.env[constants_1.AWS_EXECUTION_ENV] && (process.env[constants_1.AWS_REGION_ENV] || process.env[constants_1.AWS_DEFAULT_REGION_ENV])) {\n return (_a = process.env[constants_1.AWS_REGION_ENV]) !== null && _a !== void 0 ? _a : process.env[constants_1.AWS_DEFAULT_REGION_ENV];\n }\n if (!process.env[constants_1.ENV_IMDS_DISABLED]) {\n try {\n const endpoint = await (0, credential_provider_imds_1.getInstanceMetadataEndpoint)();\n return (await (0, credential_provider_imds_1.httpRequest)({ ...endpoint, path: constants_1.IMDS_REGION_PATH })).toString();\n }\n catch (e) {\n }\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.debugId = void 0;\nexports.debugId = \"endpoints\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./debugId\"), exports);\ntslib_1.__exportStar(require(\"./toDebugString\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDebugString = void 0;\nfunction toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\nexports.toDebugString = toDebugString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./lib/aws/partition\"), exports);\ntslib_1.__exportStar(require(\"./resolveEndpoint\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./isVirtualHostableS3Bucket\"), exports);\ntslib_1.__exportStar(require(\"./parseArn\"), exports);\ntslib_1.__exportStar(require(\"./partition\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isVirtualHostableS3Bucket = void 0;\nconst isIpAddress_1 = require(\"../isIpAddress\");\nconst isValidHostLabel_1 = require(\"../isValidHostLabel\");\nconst isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!(0, exports.isVirtualHostableS3Bucket)(label)) {\n return false;\n }\n }\n return true;\n }\n if (!(0, isValidHostLabel_1.isValidHostLabel)(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if ((0, isIpAddress_1.isIpAddress)(value)) {\n return false;\n }\n return true;\n};\nexports.isVirtualHostableS3Bucket = isVirtualHostableS3Bucket;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArn = void 0;\nconst parseArn = (value) => {\n const segments = value.split(\":\");\n if (segments.length < 6)\n return null;\n const [arn, partition, service, region, accountId, ...resourceId] = segments;\n if (arn !== \"arn\" || partition === \"\" || service === \"\" || resourceId[0] === \"\")\n return null;\n return {\n partition,\n service,\n region,\n accountId,\n resourceId: resourceId[0].includes(\"/\") ? resourceId[0].split(\"/\") : resourceId,\n };\n};\nexports.parseArn = parseArn;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partition = void 0;\nconst tslib_1 = require(\"tslib\");\nconst partitions_json_1 = tslib_1.__importDefault(require(\"./partitions.json\"));\nconst { partitions } = partitions_json_1.default;\nconst DEFAULT_PARTITION = partitions.find((partition) => partition.id === \"aws\");\nconst partition = (value) => {\n for (const partition of partitions) {\n const { regions, outputs } = partition;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData,\n };\n }\n }\n }\n for (const partition of partitions) {\n const { regionRegex, outputs } = partition;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs,\n };\n }\n }\n if (!DEFAULT_PARTITION) {\n throw new Error(\"Provided region was not found in the partition array or regex,\" +\n \" and default partition with id 'aws' doesn't exist.\");\n }\n return {\n ...DEFAULT_PARTITION.outputs,\n };\n};\nexports.partition = partition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.booleanEquals = void 0;\nconst booleanEquals = (value1, value2) => value1 === value2;\nexports.booleanEquals = booleanEquals;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAttr = void 0;\nconst types_1 = require(\"../types\");\nconst getAttrPathList_1 = require(\"./getAttrPathList\");\nconst getAttr = (value, path) => (0, getAttrPathList_1.getAttrPathList)(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new types_1.EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n }\n else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value);\nexports.getAttr = getAttr;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAttrPathList = void 0;\nconst types_1 = require(\"../types\");\nconst getAttrPathList = (path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new types_1.EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new types_1.EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n }\n else {\n pathList.push(part);\n }\n }\n return pathList;\n};\nexports.getAttrPathList = getAttrPathList;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.aws = void 0;\nconst tslib_1 = require(\"tslib\");\nexports.aws = tslib_1.__importStar(require(\"./aws\"));\ntslib_1.__exportStar(require(\"./booleanEquals\"), exports);\ntslib_1.__exportStar(require(\"./getAttr\"), exports);\ntslib_1.__exportStar(require(\"./isSet\"), exports);\ntslib_1.__exportStar(require(\"./isValidHostLabel\"), exports);\ntslib_1.__exportStar(require(\"./not\"), exports);\ntslib_1.__exportStar(require(\"./parseURL\"), exports);\ntslib_1.__exportStar(require(\"./stringEquals\"), exports);\ntslib_1.__exportStar(require(\"./substring\"), exports);\ntslib_1.__exportStar(require(\"./uriEncode\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isIpAddress = void 0;\nconst IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`);\nconst isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\nexports.isIpAddress = isIpAddress;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSet = void 0;\nconst isSet = (value) => value != null;\nexports.isSet = isSet;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidHostLabel = void 0;\nconst VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nconst isValidHostLabel = (value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!(0, exports.isValidHostLabel)(label)) {\n return false;\n }\n }\n return true;\n};\nexports.isValidHostLabel = isValidHostLabel;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.not = void 0;\nconst not = (value) => !value;\nexports.not = not;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseURL = void 0;\nconst types_1 = require(\"@aws-sdk/types\");\nconst isIpAddress_1 = require(\"./isIpAddress\");\nconst DEFAULT_PORTS = {\n [types_1.EndpointURLScheme.HTTP]: 80,\n [types_1.EndpointURLScheme.HTTPS]: 443,\n};\nconst parseURL = (value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname, port, protocol = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query)\n .map(([k, v]) => `${k}=${v}`)\n .join(\"&\");\n return url;\n }\n return new URL(value);\n }\n catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(types_1.EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = (0, isIpAddress_1.isIpAddress)(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\n (typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp,\n };\n};\nexports.parseURL = parseURL;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringEquals = void 0;\nconst stringEquals = (value1, value2) => value1 === value2;\nexports.stringEquals = stringEquals;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.substring = void 0;\nconst substring = (input, start, stop, reverse) => {\n if (start >= stop || input.length < stop) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n};\nexports.substring = substring;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uriEncode = void 0;\nconst uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\nexports.uriEncode = uriEncode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveEndpoint = void 0;\nconst debug_1 = require(\"./debug\");\nconst types_1 = require(\"./types\");\nconst utils_1 = require(\"./utils\");\nconst resolveEndpoint = (ruleSetObject, options) => {\n var _a, _b, _c, _d, _e, _f;\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `Initial EndpointParams: ${(0, debug_1.toDebugString)(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters)\n .filter(([, v]) => v.default != null)\n .map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = (_c = endpointParams[paramKey]) !== null && _c !== void 0 ? _c : paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters)\n .filter(([, v]) => v.required)\n .map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new types_1.EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = (0, utils_1.evaluateRules)(rules, { endpointParams, logger, referenceRecord: {} });\n if ((_d = options.endpointParams) === null || _d === void 0 ? void 0 : _d.Endpoint) {\n try {\n const givenEndpoint = new URL(options.endpointParams.Endpoint);\n const { protocol, port } = givenEndpoint;\n endpoint.url.protocol = protocol;\n endpoint.url.port = port;\n }\n catch (e) {\n }\n }\n (_f = (_e = options.logger) === null || _e === void 0 ? void 0 : _e.debug) === null || _f === void 0 ? void 0 : _f.call(_e, debug_1.debugId, `Resolved endpoint: ${(0, debug_1.toDebugString)(endpoint)}`);\n return endpoint;\n};\nexports.resolveEndpoint = resolveEndpoint;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointError = void 0;\nclass EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\nexports.EndpointError = EndpointError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EndpointError\"), exports);\ntslib_1.__exportStar(require(\"./EndpointRuleObject\"), exports);\ntslib_1.__exportStar(require(\"./ErrorRuleObject\"), exports);\ntslib_1.__exportStar(require(\"./RuleSetObject\"), exports);\ntslib_1.__exportStar(require(\"./TreeRuleObject\"), exports);\ntslib_1.__exportStar(require(\"./shared\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callFunction = void 0;\nconst tslib_1 = require(\"tslib\");\nconst lib = tslib_1.__importStar(require(\"../lib\"));\nconst evaluateExpression_1 = require(\"./evaluateExpression\");\nconst callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : (0, evaluateExpression_1.evaluateExpression)(arg, \"arg\", options));\n return fn.split(\".\").reduce((acc, key) => acc[key], lib)(...evaluatedArgs);\n};\nexports.callFunction = callFunction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateCondition = void 0;\nconst debug_1 = require(\"../debug\");\nconst types_1 = require(\"../types\");\nconst callFunction_1 = require(\"./callFunction\");\nconst evaluateCondition = ({ assign, ...fnArgs }, options) => {\n var _a, _b;\n if (assign && assign in options.referenceRecord) {\n throw new types_1.EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = (0, callFunction_1.callFunction)(fnArgs, options);\n (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `evaluateCondition: ${(0, debug_1.toDebugString)(fnArgs)} = ${(0, debug_1.toDebugString)(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...(assign != null && { toAssign: { name: assign, value } }),\n };\n};\nexports.evaluateCondition = evaluateCondition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateConditions = void 0;\nconst debug_1 = require(\"../debug\");\nconst evaluateCondition_1 = require(\"./evaluateCondition\");\nconst evaluateConditions = (conditions = [], options) => {\n var _a, _b;\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = (0, evaluateCondition_1.evaluateCondition)(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord,\n },\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `assign: ${toAssign.name} := ${(0, debug_1.toDebugString)(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n};\nexports.evaluateConditions = evaluateConditions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateEndpointRule = void 0;\nconst debug_1 = require(\"../debug\");\nconst evaluateConditions_1 = require(\"./evaluateConditions\");\nconst getEndpointHeaders_1 = require(\"./getEndpointHeaders\");\nconst getEndpointProperties_1 = require(\"./getEndpointProperties\");\nconst getEndpointUrl_1 = require(\"./getEndpointUrl\");\nconst evaluateEndpointRule = (endpointRule, options) => {\n var _a, _b;\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n };\n const { url, properties, headers } = endpoint;\n (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `Resolving endpoint from template: ${(0, debug_1.toDebugString)(endpoint)}`);\n return {\n ...(headers != undefined && {\n headers: (0, getEndpointHeaders_1.getEndpointHeaders)(headers, endpointRuleOptions),\n }),\n ...(properties != undefined && {\n properties: (0, getEndpointProperties_1.getEndpointProperties)(properties, endpointRuleOptions),\n }),\n url: (0, getEndpointUrl_1.getEndpointUrl)(url, endpointRuleOptions),\n };\n};\nexports.evaluateEndpointRule = evaluateEndpointRule;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateErrorRule = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateConditions_1 = require(\"./evaluateConditions\");\nconst evaluateExpression_1 = require(\"./evaluateExpression\");\nconst evaluateErrorRule = (errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options);\n if (!result) {\n return;\n }\n throw new types_1.EndpointError((0, evaluateExpression_1.evaluateExpression)(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n }));\n};\nexports.evaluateErrorRule = evaluateErrorRule;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateExpression = void 0;\nconst types_1 = require(\"../types\");\nconst callFunction_1 = require(\"./callFunction\");\nconst evaluateTemplate_1 = require(\"./evaluateTemplate\");\nconst getReferenceValue_1 = require(\"./getReferenceValue\");\nconst evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return (0, evaluateTemplate_1.evaluateTemplate)(obj, options);\n }\n else if (obj[\"fn\"]) {\n return (0, callFunction_1.callFunction)(obj, options);\n }\n else if (obj[\"ref\"]) {\n return (0, getReferenceValue_1.getReferenceValue)(obj, options);\n }\n throw new types_1.EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n};\nexports.evaluateExpression = evaluateExpression;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateRules = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateEndpointRule_1 = require(\"./evaluateEndpointRule\");\nconst evaluateErrorRule_1 = require(\"./evaluateErrorRule\");\nconst evaluateTreeRule_1 = require(\"./evaluateTreeRule\");\nconst evaluateRules = (rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = (0, evaluateEndpointRule_1.evaluateEndpointRule)(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else if (rule.type === \"error\") {\n (0, evaluateErrorRule_1.evaluateErrorRule)(rule, options);\n }\n else if (rule.type === \"tree\") {\n const endpointOrUndefined = (0, evaluateTreeRule_1.evaluateTreeRule)(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else {\n throw new types_1.EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new types_1.EndpointError(`Rules evaluation failed`);\n};\nexports.evaluateRules = evaluateRules;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateTemplate = void 0;\nconst lib_1 = require(\"../lib\");\nconst evaluateTemplate = (template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push((0, lib_1.getAttr)(templateContext[refName], attrName));\n }\n else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n};\nexports.evaluateTemplate = evaluateTemplate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateTreeRule = void 0;\nconst evaluateConditions_1 = require(\"./evaluateConditions\");\nconst evaluateRules_1 = require(\"./evaluateRules\");\nconst evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options);\n if (!result) {\n return;\n }\n return (0, evaluateRules_1.evaluateRules)(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\nexports.evaluateTreeRule = evaluateTreeRule;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointHeaders = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateExpression_1 = require(\"./evaluateExpression\");\nconst getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = (0, evaluateExpression_1.evaluateExpression)(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new types_1.EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n }),\n}), {});\nexports.getEndpointHeaders = getEndpointHeaders;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointProperties = void 0;\nconst getEndpointProperty_1 = require(\"./getEndpointProperty\");\nconst getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: (0, getEndpointProperty_1.getEndpointProperty)(propertyVal, options),\n}), {});\nexports.getEndpointProperties = getEndpointProperties;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointProperty = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateTemplate_1 = require(\"./evaluateTemplate\");\nconst getEndpointProperties_1 = require(\"./getEndpointProperties\");\nconst getEndpointProperty = (property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => (0, exports.getEndpointProperty)(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return (0, evaluateTemplate_1.evaluateTemplate)(property, options);\n case \"object\":\n if (property === null) {\n throw new types_1.EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return (0, getEndpointProperties_1.getEndpointProperties)(property, options);\n case \"boolean\":\n return property;\n default:\n throw new types_1.EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\nexports.getEndpointProperty = getEndpointProperty;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointUrl = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateExpression_1 = require(\"./evaluateExpression\");\nconst getEndpointUrl = (endpointUrl, options) => {\n const expression = (0, evaluateExpression_1.evaluateExpression)(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n }\n catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new types_1.EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n};\nexports.getEndpointUrl = getEndpointUrl;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getReferenceValue = void 0;\nconst getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\nexports.getReferenceValue = getReferenceValue;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./evaluateRules\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toHex = exports.fromHex = void 0;\nconst SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nfunction fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexports.fromHex = fromHex;\nfunction toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\nexports.toHex = toHex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./normalizeProvider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalizeProvider = void 0;\nconst normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\nexports.normalizeProvider = normalizeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AdaptiveRetryStrategy = void 0;\nconst config_1 = require(\"./config\");\nconst DefaultRateLimiter_1 = require(\"./DefaultRateLimiter\");\nconst StandardRetryStrategy_1 = require(\"./StandardRetryStrategy\");\nclass AdaptiveRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = config_1.RETRY_MODES.ADAPTIVE;\n const { rateLimiter } = options !== null && options !== void 0 ? options : {};\n this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new DefaultRateLimiter_1.DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy_1.StandardRetryStrategy(maxAttemptsProvider);\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n}\nexports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultRateLimiter = void 0;\nconst service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nclass DefaultRateLimiter {\n constructor(options) {\n var _a, _b, _c, _d, _e;\n this.currentCapacity = 0;\n this.enabled = false;\n this.lastMaxRate = 0;\n this.measuredTxRate = 0;\n this.requestCount = 0;\n this.lastTimestamp = 0;\n this.timeWindow = 0;\n this.beta = (_a = options === null || options === void 0 ? void 0 : options.beta) !== null && _a !== void 0 ? _a : 0.7;\n this.minCapacity = (_b = options === null || options === void 0 ? void 0 : options.minCapacity) !== null && _b !== void 0 ? _b : 1;\n this.minFillRate = (_c = options === null || options === void 0 ? void 0 : options.minFillRate) !== null && _c !== void 0 ? _c : 0.5;\n this.scaleConstant = (_d = options === null || options === void 0 ? void 0 : options.scaleConstant) !== null && _d !== void 0 ? _d : 0.4;\n this.smooth = (_e = options === null || options === void 0 ? void 0 : options.smooth) !== null && _e !== void 0 ? _e : 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1000;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if ((0, service_error_classification_1.isThrottlingError)(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n}\nexports.DefaultRateLimiter = DefaultRateLimiter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StandardRetryStrategy = void 0;\nconst config_1 = require(\"./config\");\nconst constants_1 = require(\"./constants\");\nconst defaultRetryToken_1 = require(\"./defaultRetryToken\");\nclass StandardRetryStrategy {\n constructor(maxAttemptsProvider) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = config_1.RETRY_MODES.STANDARD;\n this.retryToken = (0, defaultRetryToken_1.getDefaultRetryToken)(constants_1.INITIAL_RETRY_TOKENS, constants_1.DEFAULT_RETRY_DELAY_BASE);\n this.maxAttemptsProvider = maxAttemptsProvider;\n }\n async acquireInitialRetryToken(retryTokenScope) {\n return this.retryToken;\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(tokenToRenew, errorInfo, maxAttempts)) {\n tokenToRenew.getRetryTokenCount(errorInfo);\n return tokenToRenew;\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.retryToken.releaseRetryTokens(token.getLastRetryCost());\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n return await this.maxAttemptsProvider();\n }\n catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${config_1.DEFAULT_MAX_ATTEMPTS}`);\n return config_1.DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount();\n return (attempts < maxAttempts &&\n tokenToRenew.hasRetryTokens(errorInfo.errorType) &&\n this.isRetryableError(errorInfo.errorType));\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n}\nexports.StandardRetryStrategy = StandardRetryStrategy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_RETRY_MODE = exports.DEFAULT_MAX_ATTEMPTS = exports.RETRY_MODES = void 0;\nvar RETRY_MODES;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(RETRY_MODES = exports.RETRY_MODES || (exports.RETRY_MODES = {}));\nexports.DEFAULT_MAX_ATTEMPTS = 3;\nexports.DEFAULT_RETRY_MODE = \"STANDARD\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.REQUEST_HEADER = exports.INVOCATION_ID_HEADER = exports.NO_RETRY_INCREMENT = exports.TIMEOUT_RETRY_COST = exports.RETRY_COST = exports.INITIAL_RETRY_TOKENS = exports.THROTTLING_RETRY_DELAY_BASE = exports.MAXIMUM_RETRY_DELAY = exports.DEFAULT_RETRY_DELAY_BASE = void 0;\nexports.DEFAULT_RETRY_DELAY_BASE = 100;\nexports.MAXIMUM_RETRY_DELAY = 20 * 1000;\nexports.THROTTLING_RETRY_DELAY_BASE = 500;\nexports.INITIAL_RETRY_TOKENS = 500;\nexports.RETRY_COST = 5;\nexports.TIMEOUT_RETRY_COST = 10;\nexports.NO_RETRY_INCREMENT = 1;\nexports.INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nexports.REQUEST_HEADER = \"amz-sdk-request\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultRetryBackoffStrategy = void 0;\nconst constants_1 = require(\"./constants\");\nconst getDefaultRetryBackoffStrategy = () => {\n let delayBase = constants_1.DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = (attempts) => {\n return Math.floor(Math.min(constants_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n };\n const setDelayBase = (delay) => {\n delayBase = delay;\n };\n return {\n computeNextBackoffDelay,\n setDelayBase,\n };\n};\nexports.getDefaultRetryBackoffStrategy = getDefaultRetryBackoffStrategy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultRetryToken = void 0;\nconst constants_1 = require(\"./constants\");\nconst defaultRetryBackoffStrategy_1 = require(\"./defaultRetryBackoffStrategy\");\nconst getDefaultRetryToken = (initialRetryTokens, initialRetryDelay, initialRetryCount, options) => {\n var _a, _b, _c;\n const MAX_CAPACITY = initialRetryTokens;\n const retryCost = (_a = options === null || options === void 0 ? void 0 : options.retryCost) !== null && _a !== void 0 ? _a : constants_1.RETRY_COST;\n const timeoutRetryCost = (_b = options === null || options === void 0 ? void 0 : options.timeoutRetryCost) !== null && _b !== void 0 ? _b : constants_1.TIMEOUT_RETRY_COST;\n const retryBackoffStrategy = (_c = options === null || options === void 0 ? void 0 : options.retryBackoffStrategy) !== null && _c !== void 0 ? _c : (0, defaultRetryBackoffStrategy_1.getDefaultRetryBackoffStrategy)();\n let availableCapacity = initialRetryTokens;\n let retryDelay = Math.min(constants_1.MAXIMUM_RETRY_DELAY, initialRetryDelay);\n let lastRetryCost = undefined;\n let retryCount = initialRetryCount !== null && initialRetryCount !== void 0 ? initialRetryCount : 0;\n const getCapacityAmount = (errorType) => (errorType === \"TRANSIENT\" ? timeoutRetryCost : retryCost);\n const getRetryCount = () => retryCount;\n const getRetryDelay = () => retryDelay;\n const getLastRetryCost = () => lastRetryCost;\n const hasRetryTokens = (errorType) => getCapacityAmount(errorType) <= availableCapacity;\n const getRetryTokenCount = (errorInfo) => {\n const errorType = errorInfo.errorType;\n if (!hasRetryTokens(errorType)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(errorType);\n const delayBase = errorType === \"THROTTLING\" ? constants_1.THROTTLING_RETRY_DELAY_BASE : constants_1.DEFAULT_RETRY_DELAY_BASE;\n retryBackoffStrategy.setDelayBase(delayBase);\n const delayFromErrorType = retryBackoffStrategy.computeNextBackoffDelay(retryCount);\n if (errorInfo.retryAfterHint) {\n const delayFromRetryAfterHint = errorInfo.retryAfterHint.getTime() - Date.now();\n retryDelay = Math.max(delayFromRetryAfterHint || 0, delayFromErrorType);\n }\n else {\n retryDelay = delayFromErrorType;\n }\n retryCount++;\n lastRetryCost = capacityAmount;\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n const releaseRetryTokens = (releaseAmount) => {\n availableCapacity += releaseAmount !== null && releaseAmount !== void 0 ? releaseAmount : constants_1.NO_RETRY_INCREMENT;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return {\n getRetryCount,\n getRetryDelay,\n getLastRetryCost,\n hasRetryTokens,\n getRetryTokenCount,\n releaseRetryTokens,\n };\n};\nexports.getDefaultRetryToken = getDefaultRetryToken;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AdaptiveRetryStrategy\"), exports);\ntslib_1.__exportStar(require(\"./DefaultRateLimiter\"), exports);\ntslib_1.__exportStar(require(\"./StandardRetryStrategy\"), exports);\ntslib_1.__exportStar(require(\"./config\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = void 0;\nconst stream_1 = require(\"stream\");\nconst getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { } });\n readableStream.on(\"data\", (data) => {\n awsChunkedEncodingStream.push(`${(bodyLengthChecker(data) || 0).toString(16)}\\r\\n${data.toString()}\\r\\n`);\n });\n readableStream.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n};\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./getAwsChunkedEncodingStream\"), exports);\ntslib_1.__exportStar(require(\"./sdk-stream-mixin\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst stream_1 = require(\"stream\");\nconst util_1 = require(\"util\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n var _a, _b;\n if (!(stream instanceof stream_1.Readable)) {\n const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, node_http_handler_1.streamCollector)(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new util_1.TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof stream_1.Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please make sure you are using Node.js >= 17.0.0, or polyfill is available.\");\n }\n transformed = true;\n return stream_1.Readable.toWeb(stream);\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeUriPath = void 0;\nconst escape_uri_1 = require(\"./escape-uri\");\nconst escapeUriPath = (uri) => uri.split(\"/\").map(escape_uri_1.escapeUri).join(\"/\");\nexports.escapeUriPath = escapeUriPath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeUri = void 0;\nconst escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nexports.escapeUri = escapeUri;\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./escape-uri\"), exports);\ntslib_1.__exportStar(require(\"./escape-uri-path\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultUserAgent = exports.UA_APP_ID_INI_NAME = exports.UA_APP_ID_ENV_NAME = void 0;\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst os_1 = require(\"os\");\nconst process_1 = require(\"process\");\nconst is_crt_available_1 = require(\"./is-crt-available\");\nexports.UA_APP_ID_ENV_NAME = \"AWS_SDK_UA_APP_ID\";\nexports.UA_APP_ID_INI_NAME = \"sdk-ua-app-id\";\nconst defaultUserAgent = ({ serviceId, clientVersion }) => {\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [`os/${(0, os_1.platform)()}`, (0, os_1.release)()],\n [\"lang/js\"],\n [\"md/nodejs\", `${process_1.versions.node}`],\n ];\n const crtAvailable = (0, is_crt_available_1.isCrtAvailable)();\n if (crtAvailable) {\n sections.push(crtAvailable);\n }\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n if (process_1.env.AWS_EXECUTION_ENV) {\n sections.push([`exec-env/${process_1.env.AWS_EXECUTION_ENV}`]);\n }\n const appIdPromise = (0, node_config_provider_1.loadConfig)({\n environmentVariableSelector: (env) => env[exports.UA_APP_ID_ENV_NAME],\n configFileSelector: (profile) => profile[exports.UA_APP_ID_INI_NAME],\n default: undefined,\n })();\n let resolvedUserAgent = undefined;\n return async () => {\n if (!resolvedUserAgent) {\n const appId = await appIdPromise;\n resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];\n }\n return resolvedUserAgent;\n };\n};\nexports.defaultUserAgent = defaultUserAgent;\n",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUtf8 = exports.fromUtf8 = void 0;\nconst pureJs_1 = require(\"./pureJs\");\nconst whatwgEncodingApi_1 = require(\"./whatwgEncodingApi\");\nconst fromUtf8 = (input) => typeof TextEncoder === \"function\" ? (0, whatwgEncodingApi_1.fromUtf8)(input) : (0, pureJs_1.fromUtf8)(input);\nexports.fromUtf8 = fromUtf8;\nconst toUtf8 = (input) => typeof TextDecoder === \"function\" ? (0, whatwgEncodingApi_1.toUtf8)(input) : (0, pureJs_1.toUtf8)(input);\nexports.toUtf8 = toUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUtf8 = exports.fromUtf8 = void 0;\nconst fromUtf8 = (input) => {\n const bytes = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push((surrogatePair >> 18) | 0b11110000, ((surrogatePair >> 12) & 0b111111) | 0b10000000, ((surrogatePair >> 6) & 0b111111) | 0b10000000, (surrogatePair & 0b111111) | 0b10000000);\n }\n else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n return Uint8Array.from(bytes);\n};\nexports.fromUtf8 = fromUtf8;\nconst toUtf8 = (input) => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n }\n else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111));\n }\n }\n return decoded;\n};\nexports.toUtf8 = toUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUtf8 = exports.fromUtf8 = void 0;\nfunction fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexports.fromUtf8 = fromUtf8;\nfunction toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\nexports.toUtf8 = toUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromUtf8 = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst fromUtf8 = (input) => {\n const buf = (0, util_buffer_from_1.fromString)(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\nexports.fromUtf8 = fromUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromUtf8\"), exports);\ntslib_1.__exportStar(require(\"./toUint8Array\"), exports);\ntslib_1.__exportStar(require(\"./toUtf8\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUint8Array = void 0;\nconst fromUtf8_1 = require(\"./fromUtf8\");\nconst toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return (0, fromUtf8_1.fromUtf8)(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\nexports.toUint8Array = toUint8Array;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUtf8 = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst toUtf8 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\nexports.toUtf8 = toUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createWaiter = void 0;\nconst poller_1 = require(\"./poller\");\nconst utils_1 = require(\"./utils\");\nconst waiter_1 = require(\"./waiter\");\nconst abortTimeout = async (abortSignal) => {\n return new Promise((resolve) => {\n abortSignal.onabort = () => resolve({ state: waiter_1.WaiterState.ABORTED });\n });\n};\nconst createWaiter = async (options, input, acceptorChecks) => {\n const params = {\n ...waiter_1.waiterServiceDefaults,\n ...options,\n };\n (0, utils_1.validateWaiterOptions)(params);\n const exitConditions = [(0, poller_1.runPolling)(params, input, acceptorChecks)];\n if (options.abortController) {\n exitConditions.push(abortTimeout(options.abortController.signal));\n }\n if (options.abortSignal) {\n exitConditions.push(abortTimeout(options.abortSignal));\n }\n return Promise.race(exitConditions);\n};\nexports.createWaiter = createWaiter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./createWaiter\"), exports);\ntslib_1.__exportStar(require(\"./waiter\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runPolling = void 0;\nconst sleep_1 = require(\"./utils/sleep\");\nconst waiter_1 = require(\"./waiter\");\nconst exponentialBackoffWithJitter = (minDelay, maxDelay, attemptCeiling, attempt) => {\n if (attempt > attemptCeiling)\n return maxDelay;\n const delay = minDelay * 2 ** (attempt - 1);\n return randomInRange(minDelay, delay);\n};\nconst randomInRange = (min, max) => min + Math.random() * (max - min);\nconst runPolling = async ({ minDelay, maxDelay, maxWaitTime, abortController, client, abortSignal }, input, acceptorChecks) => {\n var _a;\n const { state, reason } = await acceptorChecks(client, input);\n if (state !== waiter_1.WaiterState.RETRY) {\n return { state, reason };\n }\n let currentAttempt = 1;\n const waitUntil = Date.now() + maxWaitTime * 1000;\n const attemptCeiling = Math.log(maxDelay / minDelay) / Math.log(2) + 1;\n while (true) {\n if (((_a = abortController === null || abortController === void 0 ? void 0 : abortController.signal) === null || _a === void 0 ? void 0 : _a.aborted) || (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted)) {\n return { state: waiter_1.WaiterState.ABORTED };\n }\n const delay = exponentialBackoffWithJitter(minDelay, maxDelay, attemptCeiling, currentAttempt);\n if (Date.now() + delay * 1000 > waitUntil) {\n return { state: waiter_1.WaiterState.TIMEOUT };\n }\n await (0, sleep_1.sleep)(delay);\n const { state, reason } = await acceptorChecks(client, input);\n if (state !== waiter_1.WaiterState.RETRY) {\n return { state, reason };\n }\n currentAttempt += 1;\n }\n};\nexports.runPolling = runPolling;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./sleep\"), exports);\ntslib_1.__exportStar(require(\"./validate\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sleep = void 0;\nconst sleep = (seconds) => {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n};\nexports.sleep = sleep;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateWaiterOptions = void 0;\nconst validateWaiterOptions = (options) => {\n if (options.maxWaitTime < 1) {\n throw new Error(`WaiterConfiguration.maxWaitTime must be greater than 0`);\n }\n else if (options.minDelay < 1) {\n throw new Error(`WaiterConfiguration.minDelay must be greater than 0`);\n }\n else if (options.maxDelay < 1) {\n throw new Error(`WaiterConfiguration.maxDelay must be greater than 0`);\n }\n else if (options.maxWaitTime <= options.minDelay) {\n throw new Error(`WaiterConfiguration.maxWaitTime [${options.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);\n }\n else if (options.maxDelay < options.minDelay) {\n throw new Error(`WaiterConfiguration.maxDelay [${options.maxDelay}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);\n }\n};\nexports.validateWaiterOptions = validateWaiterOptions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkExceptions = exports.WaiterState = exports.waiterServiceDefaults = void 0;\nexports.waiterServiceDefaults = {\n minDelay: 2,\n maxDelay: 120,\n};\nvar WaiterState;\n(function (WaiterState) {\n WaiterState[\"ABORTED\"] = \"ABORTED\";\n WaiterState[\"FAILURE\"] = \"FAILURE\";\n WaiterState[\"SUCCESS\"] = \"SUCCESS\";\n WaiterState[\"RETRY\"] = \"RETRY\";\n WaiterState[\"TIMEOUT\"] = \"TIMEOUT\";\n})(WaiterState = exports.WaiterState || (exports.WaiterState = {}));\nconst checkExceptions = (result) => {\n if (result.state === WaiterState.ABORTED) {\n const abortError = new Error(`${JSON.stringify({\n ...result,\n reason: \"Request was aborted\",\n })}`);\n abortError.name = \"AbortError\";\n throw abortError;\n }\n else if (result.state === WaiterState.TIMEOUT) {\n const timeoutError = new Error(`${JSON.stringify({\n ...result,\n reason: \"Waiter has timed out\",\n })}`);\n timeoutError.name = \"TimeoutError\";\n throw timeoutError;\n }\n else if (result.state !== WaiterState.SUCCESS) {\n throw new Error(`${JSON.stringify({ result })}`);\n }\n return result;\n};\nexports.checkExceptions = checkExceptions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.XmlNode = void 0;\nconst escape_attribute_1 = require(\"./escape-attribute\");\nconst XmlText_1 = require(\"./XmlText\");\nclass XmlNode {\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n this.attributes = {};\n }\n static of(name, childText, withName) {\n const node = new XmlNode(name);\n if (childText !== undefined) {\n node.addChildNode(new XmlText_1.XmlText(childText));\n }\n if (withName !== undefined) {\n node.withName(withName);\n }\n return node;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (typeof attribute !== \"undefined\" && attribute !== null) {\n xmlText += ` ${attributeName}=\"${(0, escape_attribute_1.escapeAttribute)(\"\" + attribute)}\"`;\n }\n }\n return (xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}`);\n }\n}\nexports.XmlNode = XmlNode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.XmlText = void 0;\nconst escape_element_1 = require(\"./escape-element\");\nclass XmlText {\n constructor(value) {\n this.value = value;\n }\n toString() {\n return (0, escape_element_1.escapeElement)(\"\" + this.value);\n }\n}\nexports.XmlText = XmlText;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeAttribute = void 0;\nfunction escapeAttribute(value) {\n return value.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\");\n}\nexports.escapeAttribute = escapeAttribute;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeElement = void 0;\nfunction escapeElement(value) {\n return value\n .replace(/&/g, \"&\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\")\n .replace(//g, \">\")\n .replace(/\\r/g, \" \")\n .replace(/\\n/g, \" \")\n .replace(/\\u0085/g, \"…\")\n .replace(/\\u2028/, \"
\");\n}\nexports.escapeElement = escapeElement;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./XmlNode\"), exports);\ntslib_1.__exportStar(require(\"./XmlText\"), exports);\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nconst VERSION = \"3.6.0\";\n\nconst _excluded = [\"authStrategy\"];\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => {},\n info: () => {},\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n }, options.log);\n this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const {\n authStrategy\n } = options,\n otherOptions = _objectWithoutProperties(options, _excluded);\n\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\n\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n\n\n static plugin(...newPlugins) {\n var _a;\n\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isPlainObject = require('is-plain-object');\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach(key => {\n if (isPlainObject.isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n\n return obj;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging\n\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\n\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n });\n}\n\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n } // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n\n\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\n\nconst VERSION = \"6.0.12\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\",\n previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.8.0\";\n\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\\n` + data.errors.map(e => ` - ${e.message}`).join(\"\\n\");\n}\n\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\"; // Expose the errors and response data in their shorthand properties.\n\n this.errors = response.errors;\n this.data = response.data; // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n\n const parsedOptions = typeof query === \"string\" ? Object.assign({\n query\n }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = parsedOptions[key];\n return result;\n }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.GraphqlResponseError = GraphqlResponseError;\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.21.3\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nfunction normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return _objectSpread2(_objectSpread2({}, response), {}, {\n data: []\n });\n }\n\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return {\n done: true\n };\n\n try {\n const response = await requestMethod({\n method,\n url,\n headers\n });\n const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: normalizedResponse\n };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\nconst paginatingEndpoints = [\"GET /app/hook/deliveries\", \"GET /app/installations\", \"GET /applications/grants\", \"GET /authorizations\", \"GET /enterprises/{enterprise}/actions/permissions/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\", \"GET /enterprises/{enterprise}/actions/runners\", \"GET /enterprises/{enterprise}/audit-log\", \"GET /enterprises/{enterprise}/secret-scanning/alerts\", \"GET /enterprises/{enterprise}/settings/billing/advanced-security\", \"GET /events\", \"GET /gists\", \"GET /gists/public\", \"GET /gists/starred\", \"GET /gists/{gist_id}/comments\", \"GET /gists/{gist_id}/commits\", \"GET /gists/{gist_id}/forks\", \"GET /installation/repositories\", \"GET /issues\", \"GET /licenses\", \"GET /marketplace_listing/plans\", \"GET /marketplace_listing/plans/{plan_id}/accounts\", \"GET /marketplace_listing/stubbed/plans\", \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", \"GET /networks/{owner}/{repo}/events\", \"GET /notifications\", \"GET /organizations\", \"GET /orgs/{org}/actions/cache/usage-by-repository\", \"GET /orgs/{org}/actions/permissions/repositories\", \"GET /orgs/{org}/actions/runner-groups\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\", \"GET /orgs/{org}/actions/runners\", \"GET /orgs/{org}/actions/secrets\", \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/audit-log\", \"GET /orgs/{org}/blocks\", \"GET /orgs/{org}/code-scanning/alerts\", \"GET /orgs/{org}/codespaces\", \"GET /orgs/{org}/credential-authorizations\", \"GET /orgs/{org}/dependabot/secrets\", \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/events\", \"GET /orgs/{org}/external-groups\", \"GET /orgs/{org}/failed_invitations\", \"GET /orgs/{org}/hooks\", \"GET /orgs/{org}/hooks/{hook_id}/deliveries\", \"GET /orgs/{org}/installations\", \"GET /orgs/{org}/invitations\", \"GET /orgs/{org}/invitations/{invitation_id}/teams\", \"GET /orgs/{org}/issues\", \"GET /orgs/{org}/members\", \"GET /orgs/{org}/migrations\", \"GET /orgs/{org}/migrations/{migration_id}/repositories\", \"GET /orgs/{org}/outside_collaborators\", \"GET /orgs/{org}/packages\", \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", \"GET /orgs/{org}/projects\", \"GET /orgs/{org}/public_members\", \"GET /orgs/{org}/repos\", \"GET /orgs/{org}/secret-scanning/alerts\", \"GET /orgs/{org}/settings/billing/advanced-security\", \"GET /orgs/{org}/team-sync/groups\", \"GET /orgs/{org}/teams\", \"GET /orgs/{org}/teams/{team_slug}/discussions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/invitations\", \"GET /orgs/{org}/teams/{team_slug}/members\", \"GET /orgs/{org}/teams/{team_slug}/projects\", \"GET /orgs/{org}/teams/{team_slug}/repos\", \"GET /orgs/{org}/teams/{team_slug}/teams\", \"GET /projects/columns/{column_id}/cards\", \"GET /projects/{project_id}/collaborators\", \"GET /projects/{project_id}/columns\", \"GET /repos/{owner}/{repo}/actions/artifacts\", \"GET /repos/{owner}/{repo}/actions/caches\", \"GET /repos/{owner}/{repo}/actions/runners\", \"GET /repos/{owner}/{repo}/actions/runs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\", \"GET /repos/{owner}/{repo}/actions/secrets\", \"GET /repos/{owner}/{repo}/actions/workflows\", \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\", \"GET /repos/{owner}/{repo}/assignees\", \"GET /repos/{owner}/{repo}/branches\", \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", \"GET /repos/{owner}/{repo}/code-scanning/alerts\", \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", \"GET /repos/{owner}/{repo}/code-scanning/analyses\", \"GET /repos/{owner}/{repo}/codespaces\", \"GET /repos/{owner}/{repo}/codespaces/devcontainers\", \"GET /repos/{owner}/{repo}/codespaces/secrets\", \"GET /repos/{owner}/{repo}/collaborators\", \"GET /repos/{owner}/{repo}/comments\", \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/commits\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", \"GET /repos/{owner}/{repo}/commits/{ref}/status\", \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", \"GET /repos/{owner}/{repo}/contributors\", \"GET /repos/{owner}/{repo}/dependabot/secrets\", \"GET /repos/{owner}/{repo}/deployments\", \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\", \"GET /repos/{owner}/{repo}/environments\", \"GET /repos/{owner}/{repo}/events\", \"GET /repos/{owner}/{repo}/forks\", \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\", \"GET /repos/{owner}/{repo}/hooks\", \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\", \"GET /repos/{owner}/{repo}/invitations\", \"GET /repos/{owner}/{repo}/issues\", \"GET /repos/{owner}/{repo}/issues/comments\", \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/issues/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", \"GET /repos/{owner}/{repo}/keys\", \"GET /repos/{owner}/{repo}/labels\", \"GET /repos/{owner}/{repo}/milestones\", \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\", \"GET /repos/{owner}/{repo}/notifications\", \"GET /repos/{owner}/{repo}/pages/builds\", \"GET /repos/{owner}/{repo}/projects\", \"GET /repos/{owner}/{repo}/pulls\", \"GET /repos/{owner}/{repo}/pulls/comments\", \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", \"GET /repos/{owner}/{repo}/releases\", \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\", \"GET /repos/{owner}/{repo}/stargazers\", \"GET /repos/{owner}/{repo}/subscribers\", \"GET /repos/{owner}/{repo}/tags\", \"GET /repos/{owner}/{repo}/teams\", \"GET /repos/{owner}/{repo}/topics\", \"GET /repositories\", \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\", \"GET /search/code\", \"GET /search/commits\", \"GET /search/issues\", \"GET /search/labels\", \"GET /search/repositories\", \"GET /search/topics\", \"GET /search/users\", \"GET /teams/{team_id}/discussions\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\", \"GET /teams/{team_id}/invitations\", \"GET /teams/{team_id}/members\", \"GET /teams/{team_id}/projects\", \"GET /teams/{team_id}/repos\", \"GET /teams/{team_id}/teams\", \"GET /user/blocks\", \"GET /user/codespaces\", \"GET /user/codespaces/secrets\", \"GET /user/emails\", \"GET /user/followers\", \"GET /user/following\", \"GET /user/gpg_keys\", \"GET /user/installations\", \"GET /user/installations/{installation_id}/repositories\", \"GET /user/issues\", \"GET /user/keys\", \"GET /user/marketplace_purchases\", \"GET /user/marketplace_purchases/stubbed\", \"GET /user/memberships/orgs\", \"GET /user/migrations\", \"GET /user/migrations/{migration_id}/repositories\", \"GET /user/orgs\", \"GET /user/packages\", \"GET /user/packages/{package_type}/{package_name}/versions\", \"GET /user/public_emails\", \"GET /user/repos\", \"GET /user/repository_invitations\", \"GET /user/starred\", \"GET /user/subscriptions\", \"GET /user/teams\", \"GET /users\", \"GET /users/{username}/events\", \"GET /users/{username}/events/orgs/{org}\", \"GET /users/{username}/events/public\", \"GET /users/{username}/followers\", \"GET /users/{username}/following\", \"GET /users/{username}/gists\", \"GET /users/{username}/gpg_keys\", \"GET /users/{username}/keys\", \"GET /users/{username}/orgs\", \"GET /users/{username}/packages\", \"GET /users/{username}/projects\", \"GET /users/{username}/received_events\", \"GET /users/{username}/received_events/public\", \"GET /users/{username}/repos\", \"GET /users/{username}/starred\", \"GET /users/{username}/subscriptions\"];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n\nexports.composePaginateRest = composePaginateRest;\nexports.isPaginatingEndpoint = isPaginatingEndpoint;\nexports.paginateRest = paginateRest;\nexports.paginatingEndpoints = paginatingEndpoints;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nconst Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateEnvironmentSecret: [\"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n createWorkflowDispatch: [\"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteEnvironmentSecret: [\"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n disableSelectedRepositoryGithubActionsOrganization: [\"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n disableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n enableSelectedRepositoryGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n enableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"],\n getAllowedActionsOrganization: [\"GET /orgs/{org}/actions/permissions/selected-actions\"],\n getAllowedActionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"],\n getEnvironmentSecret: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n getGithubActionsPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions\"],\n getGithubActionsPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions\"],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n getRepoPermissions: [\"GET /repos/{owner}/{repo}/actions/permissions\", {}, {\n renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\"GET /orgs/{org}/actions/permissions/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n reviewPendingDeploymentsForRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n setAllowedActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/selected-actions\"],\n setAllowedActionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n setGithubActionsPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions\"],\n setGithubActionsPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\"],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\"POST /content_references/{content_reference_id}/attachments\", {\n mediaType: {\n previews: [\"corsair\"]\n }\n }],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\"],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\"],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\"GET /users/{username}/settings/billing/actions\"],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\"GET /users/{username}/settings/billing/packages\"],\n getSharedStorageBillingOrg: [\"GET /orgs/{org}/settings/billing/shared-storage\"],\n getSharedStorageBillingUser: [\"GET /users/{username}/settings/billing/shared-storage\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\"],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"],\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\", {}, {\n renamedParameters: {\n alert_id: \"alert_number\"\n }\n }],\n getAnalysis: [\"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n getConductCode: [\"GET /codes_of_conduct/{key}\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n getForRepo: [\"GET /repos/{owner}/{repo}/community/code_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }]\n },\n emojis: {\n get: [\"GET /emojis\"]\n },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n enableSelectedOrganizationGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n getAllowedActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n getGithubActionsPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions\"],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/organizations\"],\n setAllowedActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n setGithubActionsPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions\"],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations\"]\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\"GET /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"]\n }],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\"],\n removeRestrictionsForYourPublicRepos: [\"DELETE /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"]\n }],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\"PUT /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"]\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", {\n mediaType: {\n previews: [\"mockingbird\"]\n }\n }],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listForAuthenticatedUser: [\"GET /user/migrations\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listForOrg: [\"GET /orgs/{org}/migrations\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listReposForUser: [\"GET /user/migrations/{migration_id}/repositories\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}\"],\n deletePackageForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"],\n deletePackageVersionForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"]\n }],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"]\n }],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions\"],\n getPackageForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}\"],\n getPackageForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}\"],\n getPackageForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}\"],\n getPackageVersionForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n restorePackageForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageVersionForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createCard: [\"POST /projects/columns/{column_id}/cards\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createColumn: [\"POST /projects/{project_id}/columns\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForAuthenticatedUser: [\"POST /user/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForOrg: [\"POST /orgs/{org}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n delete: [\"DELETE /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n get: [\"GET /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getCard: [\"GET /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getColumn: [\"GET /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listCards: [\"GET /projects/columns/{column_id}/cards\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listColumns: [\"GET /projects/{project_id}/columns\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForOrg: [\"GET /orgs/{org}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForUser: [\"GET /users/{username}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n update: [\"PATCH /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n updateColumn: [\"PATCH /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\", {\n mediaType: {\n previews: [\"lydian\"]\n }\n }],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteLegacy: [\"DELETE /reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }, {\n deprecated: \"octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy\"\n }],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\"PUT /repos/{owner}/{repo}/environments/{environment_name}\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\", {\n mediaType: {\n previews: [\"baptiste\"]\n }\n }],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteAnEnvironment: [\"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\", {\n mediaType: {\n previews: [\"london\"]\n }\n }],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n downloadArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\", {}, {\n renamed: [\"repos\", \"downloadZipballArchive\"]\n }],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\", {\n mediaType: {\n previews: [\"london\"]\n }\n }],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getEnvironment: [\"GET /repos/{owner}/{repo}/environments/{environment_name}\"],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\", {\n mediaType: {\n previews: [\"groot\"]\n }\n }],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", {\n mediaType: {\n previews: [\"groot\"]\n }\n }],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusCheckProtection\"]\n }],\n updateStatusCheckProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n uploadReleaseAsset: [\"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\", {\n baseUrl: \"https://uploads.github.com\"\n }]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\", {\n mediaType: {\n previews: [\"cloak\"]\n }\n }],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"4.15.1\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n }\n\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return _objectSpread2(_objectSpread2({}, api), {}, {\n rest: api\n });\n}\nrestEndpointMethods.VERSION = VERSION;\n\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnceCode = once(deprecation => console.warn(deprecation));\nconst logOnceHeaders = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n } // redact request credentials without mutating original request options\n\n\n const requestCopy = Object.assign({}, options.request);\n\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n\n requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\") // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy; // deprecations\n\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new deprecation.Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n }\n\n });\n }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = require('is-plain-object');\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.6.3\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n\n if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n\n let headers = {};\n let status;\n let url;\n const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request)).then(async response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined\n },\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new requestError.RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n\n return getResponseData(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) throw error;\n throw new requestError.RequestError(error.message, 500, {\n request: requestOptions\n });\n });\n}\n\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n}\n\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") return data; // istanbul ignore else - just in case\n\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n\n return data.message;\n } // istanbul ignore next - just in case\n\n\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","var concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n\n","module.exports = function (xs, fn) {\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = fn(xs[i], i);\n if (isArray(x)) res.push.apply(res, x);\n else res.push(x);\n }\n return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexports.Deprecation = Deprecation;\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n val += this.processTextOrObjNode(item, key, level)\n } else {\n val += this.buildTextValNode(item, key, '', level);\n }\n }\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n ' 0 && this.options.processEntities){\n for (let i=0; i 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, entity = false, comment = false;\n let exp = \"\";\n for(;i') {\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n if(entity) {\n parseEntityExp(exp, entities);\n entity = false;\n }\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nconst entityRegex = RegExp(\"^\\\\s([a-zA-z0-0]+)[ \\t](['\\\"])([^&]+)\\\\2\");\nfunction parseEntityExp(exp, entities){\n const match = entityRegex.exec(exp);\n if(match){\n entities[ match[1] ] = {\n regx : RegExp( `&${match[1]};`,\"g\"),\n val: match[3]\n };\n }\n}\nmodule.exports = readDocType;","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath) {\n if (!this.options.ignoreAttributes && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n \n currentNode = this.tagsNodeStack.pop();//avoid recurssion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath);\n }\n currentNode.addChild(childNode);\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n }\n\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //boolean tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n currentNode.addChild(childNode);\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n currentNode.addChild(childNode);\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-dobule quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const propCount = Object.keys(obj).length;\n if( propCount === 0 || (propCount === 1 && obj[options.textNodeName]) ) return true;\n return false;\n}\nexports.prettify = prettify;\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = (function () { try { return require('path') } catch (e) {}}()) || {\n sep: '/'\n}\nminimatch.sep = path.sep\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n b = b || {}\n var t = {}\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n m.Minimatch.defaults = function defaults (options) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n\n m.filter = function filter (pattern, options) {\n return orig.filter(pattern, ext(def, options))\n }\n\n m.defaults = function defaults (options) {\n return orig.defaults(ext(def, options))\n }\n\n m.makeRe = function makeRe (pattern, options) {\n return orig.makeRe(pattern, ext(def, options))\n }\n\n m.braceExpand = function braceExpand (pattern, options) {\n return orig.braceExpand(pattern, ext(def, options))\n }\n\n m.match = function (list, pattern, options) {\n return orig.match(list, pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (!options.allowWindowsEscape && path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\nvar MAX_PATTERN_LENGTH = 1024 * 64\nvar assertValidPattern = function (pattern) {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n assertValidPattern(pattern)\n\n var options = this.options\n\n // shortcuts\n if (pattern === '**') {\n if (!options.noglobstar)\n return GLOBSTAR\n else\n pattern = '*'\n }\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n /* istanbul ignore next */\n case '/': {\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n }\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '[': case '.': case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) /* istanbul ignore next - should be impossible */ {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) /* istanbul ignore next - should be impossible */ {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = function match (f, partial) {\n if (typeof partial === 'undefined') partial = this.partial\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* istanbul ignore if */\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n /* istanbul ignore if */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else /* istanbul ignore else */ if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return (fi === fl - 1) && (file[fi] === '')\n }\n\n // should be unreachable.\n /* istanbul ignore next */\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n crypto.randomFillSync(rnds8Pool);\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || stringify(b);\n}\n\nexport default v1;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import crypto from 'crypto';\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return crypto.createHash('md5').update(bytes).digest();\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nconst v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import crypto from 'crypto';\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return crypto.createHash('sha1').update(bytes).digest();\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nconst v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n",null,"module.exports = require(\"assert\");;","module.exports = require(\"buffer\");;","module.exports = require(\"child_process\");;","module.exports = require(\"crypto\");;","module.exports = require(\"events\");;","module.exports = require(\"fs\");;","module.exports = require(\"http\");;","module.exports = require(\"http2\");;","module.exports = require(\"https\");;","module.exports = require(\"net\");;","module.exports = require(\"os\");;","module.exports = require(\"path\");;","module.exports = require(\"process\");;","module.exports = require(\"punycode\");;","module.exports = require(\"stream\");;","module.exports = require(\"tls\");;","module.exports = require(\"url\");;","module.exports = require(\"util\");;","module.exports = require(\"zlib\");;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\n__webpack_require__.ab = __dirname + \"/\";","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(94822);\n"],"mappings":";;;;;;;;;;A;;;;;;;;A;;;;;;;;A;;;;;;;;A;;;;;;;;A;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1hBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC33CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACliDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3PA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACv3TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3gBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzGA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5jCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5CA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClOA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;A;;;;;;ACJA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1CA;;;;;AAKA;;;;;;;;;;;;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9sCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC1PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACtjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACp7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC5vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACtSA;AACA;AACA;A;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;;ACHA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AClCA;AACA;AACA;A;;;;;AAFA;AACA;AACA;A;;;;;AAFA;AACA;AACA;A;;;;;;;;A;;;;;;;;A;;;;;;ACFA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACNA;AACA;ACDA;AACA;AACA;AACA;;A","sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../webpack://@ably/sdk-upload-action/./lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/command.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/core.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/file-command.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/oidc-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/path-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/summary.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/core/lib/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/lib/context.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/lib/github.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/lib/internal/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/lib/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/node_modules/@actions/http-client/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/github/node_modules/@actions/http-client/proxy.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/glob.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-glob-options-helper.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-globber.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-match-kind.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-path-helper.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-path.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-pattern-helper.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-pattern.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/glob/lib/internal-search-state.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/http-client/lib/auth.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/http-client/lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@actions/http-client/lib/proxy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32/build/aws_crc32.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32/build/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32c/build/aws_crc32c.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32c/build/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/crc32c/node_modules/tslib/tslib.es6.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/convertToBuffer.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/isEmptyData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/numToUint8.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/S3.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/S3Client.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/AbortMultipartUploadCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/CompleteMultipartUploadCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/CopyObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/CreateBucketCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/CreateMultipartUploadCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketAnalyticsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketCorsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketEncryptionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketIntelligentTieringConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketInventoryConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketLifecycleCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketMetricsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketOwnershipControlsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketPolicyCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketReplicationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteBucketWebsiteCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteObjectTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeleteObjectsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/DeletePublicAccessBlockCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketAccelerateConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketAclCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketAnalyticsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketCorsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketEncryptionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketIntelligentTieringConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketInventoryConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketLifecycleConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketLocationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketLoggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketMetricsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketNotificationConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketOwnershipControlsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketPolicyCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketPolicyStatusCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketReplicationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketRequestPaymentCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketVersioningCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetBucketWebsiteCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectAclCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectAttributesCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectLegalHoldCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectLockConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectRetentionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetObjectTorrentCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/GetPublicAccessBlockCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/HeadBucketCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/HeadObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketAnalyticsConfigurationsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketIntelligentTieringConfigurationsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketInventoryConfigurationsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketMetricsConfigurationsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListBucketsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListMultipartUploadsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListObjectVersionsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListObjectsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListObjectsV2Command.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/ListPartsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketAccelerateConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketAclCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketAnalyticsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketCorsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketEncryptionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketIntelligentTieringConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketInventoryConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketLifecycleConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketLoggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketMetricsConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketNotificationConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketOwnershipControlsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketPolicyCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketReplicationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketRequestPaymentCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketVersioningCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutBucketWebsiteCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectAclCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectLegalHoldCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectLockConfigurationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectRetentionCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutObjectTaggingCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/PutPublicAccessBlockCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/RestoreObjectCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/SelectObjectContentCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/UploadPartCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/UploadPartCopyCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/WriteGetObjectResponseCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/commands/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/EndpointParameters.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/endpointResolver.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/ruleset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/models/S3ServiceException.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/models/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/models/models_0.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/models/models_1.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/pagination/Interfaces.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/pagination/ListObjectsV2Paginator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/pagination/ListPartsPaginator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/pagination/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/protocols/Aws_restXml.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/runtimeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/runtimeConfig.shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/waitForBucketExists.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/waitForBucketNotExists.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/waitForObjectExists.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-s3/dist-cjs/waiters/waitForObjectNotExists.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/STS.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/NodeUseFipsEndpointConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/resolveCustomEndpointsConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/utils/getEndpointFromRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/config.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/getRealRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/isFipsRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/PartitionHash.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/RegionHash.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getHostnameFromVariants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getRegionInfo.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getResolvedHostname.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getResolvedPartition.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/getResolvedSigningRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/config-resolver/dist-cjs/regionInfo/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/config/Endpoint.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/config/EndpointConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/config/EndpointMode.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/config/EndpointModeConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/fromContainerMetadata.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/fromInstanceMetadata.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/remoteProvider/ImdsCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/remoteProvider/RemoteProviderInit.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/remoteProvider/httpRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/remoteProvider/retry.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/utils/getExtendedInstanceMetadataCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/utils/getInstanceMetadataEndpoint.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-imds/dist-cjs/utils/staticStabilityProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/EventStreamCodec.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/HeaderMarshaller.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/Int64.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/Message.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-codec/dist-cjs/splitMessage.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-config-resolver/dist-cjs/EventStreamSerdeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-config-resolver/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-node/dist-cjs/EventStreamMarshaller.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-node/dist-cjs/provider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-node/dist-cjs/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/EventStreamMarshaller.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/getChunkedStream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/getUnmarshalledStream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/eventstream-serde-universal/dist-cjs/provider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-stream-node/dist-cjs/HashCalculator.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-stream-node/dist-cjs/fileStreamHasher.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-stream-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/hash-stream-node/dist-cjs/readableStreamHasher.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/is-array-buffer/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/NodeDisableMultiregionAccessPointConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/NodeUseArnRegionConfigOptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/bucketEndpointMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/bucketHostname.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/bucketHostnameUtils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/configurations.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-content-length/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/createConfigValueProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/endpointMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/getEndpointPlugin.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/resolveEndpointConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/service-customizations/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/service-customizations/s3.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-endpoint/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-expect-continue/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/flexibleChecksumsMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getChecksum.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getChecksumAlgorithmForRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getChecksumAlgorithmListForResponse.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getChecksumLocationName.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getFlexibleChecksumsPlugin.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/hasHeader.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/isStreaming.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/selectChecksumAlgorithmFunction.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/stringHasher.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/validateChecksumFromResponse.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-location-constraint/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/AdaptiveRetryStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/StandardRetryStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/configurations.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/defaultRetryQuota.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/delayDecider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/omitRetryHeadersMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/retryDecider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/retryMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-retry/dist-cjs/util.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/check-content-length-header.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/configuration.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/throw-200-exceptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/validate-bucket-name.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-serde/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-serde/dist-cjs/serdePlugin.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-serde/dist-cjs/serializerMiddleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/configurations.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/middleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-ssec/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-stack/dist-cjs/MiddlewareStack.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-stack/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/configLoader.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/fromEnv.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/fromSharedConfigFiles.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/fromStatic.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-config-provider/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/get-transformed-headers.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/node-http-handler.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/node-http2-handler.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/set-connection-timeout.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/set-socket-timeout.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/stream-collector/collector.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/stream-collector/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/node-http-handler/dist-cjs/write-request-body.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/CredentialsProviderError.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/ProviderError.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/TokenProviderError.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/chain.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/fromStatic.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/property-provider/dist-cjs/memoize.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/Field.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/FieldPosition.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/Fields.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/httpHandler.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/httpRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/httpResponse.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/protocol-http/dist-cjs/isValidHostname.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/querystring-builder/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/querystring-parser/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/service-error-classification/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/service-error-classification/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getConfigFilepath.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getCredentialsFilepath.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getHomeDir.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getProfileData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getProfileName.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/getSsoSessionData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/loadSharedConfigFiles.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/loadSsoSessionData.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/parseIni.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/parseKnownFiles.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/slurpFile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/shared-ini-file-loader/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/SignatureV4MultiRegion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/SignatureV4.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/cloneRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/credentialDerivation.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/getCanonicalHeaders.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/getCanonicalQuery.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/getPayloadHash.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/headerUtil.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/moveHeadersToQuery.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/prepareRequest.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/signature-v4/dist-cjs/utilDate.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/NoOpLogger.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/client.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/command.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/date-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/defaults-mode.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/emitWarningIfUnsupportedVersion.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/exceptions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/extended-encode-uri-component.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/get-array-if-single-item.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/get-value-from-text-node.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/lazy-json.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/object-mapping.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/parse-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/resolve-path.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/ser-utils.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/smithy-client/dist-cjs/split-every.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/abort.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/auth.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/checksum.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/client.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/command.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/credentials.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/crypto.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/dns.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/endpoint.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/eventStream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/http.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/identity/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/logger.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/middleware.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/pagination.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/profile.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/request.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/response.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/retry.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/serde.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/shapes.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/signature.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/stream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/token.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/transfer.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/util.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/types/dist-cjs/waiter.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/url-parser/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-arn-parser/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-base64/dist-cjs/fromBase64.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-base64/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-base64/dist-cjs/toBase64.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-body-length-node/dist-cjs/calculateBodyLength.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-body-length-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-buffer-from/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-config-provider/dist-cjs/booleanSelector.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-config-provider/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-defaults-mode-node/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-defaults-mode-node/dist-cjs/defaultsModeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-defaults-mode-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-defaults-mode-node/dist-cjs/resolveDefaultsModeConfig.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-hex-encoding/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-middleware/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-middleware/dist-cjs/normalizeProvider.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/AdaptiveRetryStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/DefaultRateLimiter.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/StandardRetryStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/config.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/constants.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/defaultRetryBackoffStrategy.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/defaultRetryToken.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-retry/dist-cjs/types.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-stream-node/dist-cjs/getAwsChunkedEncodingStream.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-stream-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-stream-node/dist-cjs/sdk-stream-mixin.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-uri-escape/dist-cjs/escape-uri-path.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-uri-escape/dist-cjs/escape-uri.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-uri-escape/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8-browser/dist-cjs/pureJs.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8-browser/dist-cjs/whatwgEncodingApi.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8/dist-cjs/fromUtf8.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8/dist-cjs/toUint8Array.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-utf8/dist-cjs/toUtf8.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/createWaiter.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/poller.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/utils/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/utils/sleep.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/utils/validate.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/util-waiter/dist-cjs/waiter.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/XmlNode.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/XmlText.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/escape-attribute.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/escape-element.js","../webpack://@ably/sdk-upload-action/./node_modules/@aws-sdk/xml-builder/dist-cjs/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/auth-token/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/core/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/endpoint/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/graphql/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/request-error/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/@octokit/request/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/balanced-match/index.js","../webpack://@ably/sdk-upload-action/./node_modules/before-after-hook/index.js","../webpack://@ably/sdk-upload-action/./node_modules/before-after-hook/lib/add.js","../webpack://@ably/sdk-upload-action/./node_modules/before-after-hook/lib/register.js","../webpack://@ably/sdk-upload-action/./node_modules/before-after-hook/lib/remove.js","../webpack://@ably/sdk-upload-action/./node_modules/brace-expansion/index.js","../webpack://@ably/sdk-upload-action/./node_modules/concat-map/index.js","../webpack://@ably/sdk-upload-action/./node_modules/deprecation/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/fxp.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/util.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/validator.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/node2json.js","../webpack://@ably/sdk-upload-action/./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","../webpack://@ably/sdk-upload-action/./node_modules/is-plain-object/dist/is-plain-object.js","../webpack://@ably/sdk-upload-action/./node_modules/mime-db/index.js","../webpack://@ably/sdk-upload-action/./node_modules/mime-types/index.js","../webpack://@ably/sdk-upload-action/./node_modules/minimatch/minimatch.js","../webpack://@ably/sdk-upload-action/./node_modules/node-fetch/lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/once/once.js","../webpack://@ably/sdk-upload-action/./node_modules/strnum/strnum.js","../webpack://@ably/sdk-upload-action/./node_modules/tr46/index.js","../webpack://@ably/sdk-upload-action/./node_modules/tslib/tslib.es6.js","../webpack://@ably/sdk-upload-action/./node_modules/tunnel/index.js","../webpack://@ably/sdk-upload-action/./node_modules/tunnel/lib/tunnel.js","../webpack://@ably/sdk-upload-action/./node_modules/universal-user-agent/dist-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/rng.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/regex.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/validate.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/stringify.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v1.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/parse.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v35.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/md5.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v3.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v4.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/sha1.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/v5.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/nil.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/version.js","../webpack://@ably/sdk-upload-action/./node_modules/uuid/dist/esm-node/index.js","../webpack://@ably/sdk-upload-action/./node_modules/webidl-conversions/lib/index.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/URL-impl.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/URL.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/public-api.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/url-state-machine.js","../webpack://@ably/sdk-upload-action/./node_modules/whatwg-url/lib/utils.js","../webpack://@ably/sdk-upload-action/./node_modules/wrappy/wrappy.js","../webpack://@ably/sdk-upload-action/./node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../webpack://@ably/sdk-upload-action/external \"assert\"","../webpack://@ably/sdk-upload-action/external \"buffer\"","../webpack://@ably/sdk-upload-action/external \"child_process\"","../webpack://@ably/sdk-upload-action/external \"crypto\"","../webpack://@ably/sdk-upload-action/external \"events\"","../webpack://@ably/sdk-upload-action/external \"fs\"","../webpack://@ably/sdk-upload-action/external \"http\"","../webpack://@ably/sdk-upload-action/external \"http2\"","../webpack://@ably/sdk-upload-action/external \"https\"","../webpack://@ably/sdk-upload-action/external \"net\"","../webpack://@ably/sdk-upload-action/external \"os\"","../webpack://@ably/sdk-upload-action/external \"path\"","../webpack://@ably/sdk-upload-action/external \"process\"","../webpack://@ably/sdk-upload-action/external \"punycode\"","../webpack://@ably/sdk-upload-action/external \"stream\"","../webpack://@ably/sdk-upload-action/external \"tls\"","../webpack://@ably/sdk-upload-action/external \"url\"","../webpack://@ably/sdk-upload-action/external \"util\"","../webpack://@ably/sdk-upload-action/external \"zlib\"","../webpack://@ably/sdk-upload-action/webpack/bootstrap","../webpack://@ably/sdk-upload-action/webpack/runtime/compat get default export","../webpack://@ably/sdk-upload-action/webpack/runtime/define property getters","../webpack://@ably/sdk-upload-action/webpack/runtime/hasOwnProperty shorthand","../webpack://@ably/sdk-upload-action/webpack/runtime/make namespace object","../webpack://@ably/sdk-upload-action/webpack/runtime/compat","../webpack://@ably/sdk-upload-action/webpack/startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core = __importStar(require(\"@actions/core\"));\nconst github_1 = require(\"@actions/github\");\nconst client_s3_1 = require(\"@aws-sdk/client-s3\");\nconst path_1 = __importDefault(require(\"path\"));\nconst fs_1 = __importDefault(require(\"fs\"));\nconst mime_types_1 = require(\"mime-types\");\nconst glob = __importStar(require(\"@actions/glob\"));\nconst githubEventPath = process.env.GITHUB_EVENT_PATH;\nconst githubRef = process.env.GITHUB_REF;\nif (typeof githubEventPath !== 'string') {\n core.setFailed('GITHUB_EVENT_PATH environment variable not set');\n process.exit(1);\n}\nif (typeof githubRef !== 'string') {\n core.setFailed('GITHUB_REF environment variable not set');\n process.exit(1);\n}\nconst githubToken = core.getInput('githubToken', { required: true });\nconst octokit = (0, github_1.getOctokit)(githubToken);\nconst githubEvent = JSON.parse(fs_1.default.readFileSync(githubEventPath, 'utf8'));\nconst createRef = (githubRef) => {\n // githubRef is in the form 'refs/heads/branch_name' or 'refs/tags/tag_name'\n const components = githubRef.split('/');\n const refTypePlural = components[1];\n let refType;\n switch (refTypePlural) {\n case 'heads': {\n refType = 'head';\n break;\n }\n case 'tags': {\n refType = 'tag';\n break;\n }\n default: {\n return null;\n }\n }\n return {\n type: refType,\n name: components.slice(2).join('/')\n };\n};\nconst ref = createRef(githubRef);\nconst s3BucketName = 'sdk.ably.com';\nconst sourcePath = path_1.default.resolve(core.getInput('sourcePath', { required: true }));\n// Optional artifactName:\n// - The getInput() method calls trim() for us by default (trimWhitespace: true)\n// - Empty string indicates no value, i.e. artifact name not specified\nconst artifactName = core.getInput('artifactName');\n// Optional landingPagePath:\n// - The getInput() method calls trim() for us by default (trimWhitespace: true)\n// - Empty string indicates no value, i.e. landingPagePath not specified\nconst landingPagePath = core.getInput('landingPagePath');\nlet githubDeploymentRef;\nlet s3KeyPrefix = `builds/${github_1.context.repo.owner}/${github_1.context.repo.repo}/`;\nlet githubEnvironmentName = 'staging/';\nif (github_1.context.eventName === 'pull_request') {\n githubDeploymentRef = githubEvent.pull_request.head.sha;\n s3KeyPrefix += `pull/${githubEvent.pull_request.number}`;\n githubEnvironmentName += `pull/${githubEvent.pull_request.number}`;\n}\nelse if (github_1.context.eventName === 'push' && ref !== null && ref.type === 'head' && ref.name === 'main') {\n githubDeploymentRef = github_1.context.sha;\n s3KeyPrefix += 'main';\n githubEnvironmentName += 'main';\n}\nelse if (github_1.context.eventName === 'push' && ref !== null && ref.type === 'tag') {\n githubDeploymentRef = github_1.context.sha;\n s3KeyPrefix += `tag/${ref.name}`;\n githubEnvironmentName += `tag/${ref.name}`;\n}\nelse {\n core.setFailed(\"Error: this action can only be ran on a pull_request, a push to the 'main' branch, or a push of a tag\");\n process.exit(1);\n}\nif (artifactName.length > 0) {\n s3KeyPrefix += ('/' + artifactName);\n githubEnvironmentName += ('/' + artifactName);\n}\ncore.debug(`S3 Key Prefix: ${s3KeyPrefix}`);\ncore.debug(`GitHub Environment Name: ${githubEnvironmentName}`);\nconst urlBase = `https://${s3BucketName}/${s3KeyPrefix}/`;\ncore.setOutput('url-base', urlBase);\ncore.setOutput('base-path', s3KeyPrefix);\nconst runMode = core.getInput('mode');\nif (runMode === 'preempt') {\n process.exit(0);\n}\nconst s3ClientConfig = {\n // RegionInputConfig\n region: 'eu-west-2',\n};\nconst s3Client = new client_s3_1.S3Client(s3ClientConfig);\nconst upload = (params) => __awaiter(void 0, void 0, void 0, function* () {\n const command = new client_s3_1.PutObjectCommand(params);\n yield s3Client.send(command);\n core.info(`uploaded: ${params.Key}`);\n});\nconst createDeployment = () => __awaiter(void 0, void 0, void 0, function* () {\n const response = yield octokit.repos.createDeployment(Object.assign(Object.assign({}, github_1.context.repo), { ref: githubDeploymentRef, task: artifactName || undefined, required_contexts: [], environment: githubEnvironmentName, auto_merge: false }));\n if (![201, 202].includes(response.status)) {\n core.setFailed(`Failed to create deployment, received ${response.status} response status`);\n process.exit(1);\n }\n // Typescript can't infer from the above that response.data.id will be a number now so we have to type cast\n return response.data.id;\n});\nconst setDeploymentStatus = (id, state, url) => __awaiter(void 0, void 0, void 0, function* () {\n // Set completeUrl if url exists; otherwise, it will remain undefined\n const completeUrl = url ? `${url}${landingPagePath}` : undefined;\n yield octokit.repos.createDeploymentStatus(Object.assign(Object.assign({}, github_1.context.repo), { deployment_id: id, state, log_url: completeUrl, target_url: completeUrl, environment_url: completeUrl, mediaType: {\n // 'flash' is needed to use the 'in_progress' state\n // 'ant-man' is needed to use the log_url property\n // see https://octokit.github.io/rest.js/v18#repos-create-deployment-status\n previews: ['flash', 'ant-man'],\n } }));\n});\nconst run = () => __awaiter(void 0, void 0, void 0, function* () {\n const globber = yield glob.create(`${sourcePath}/**`);\n const allFiles = yield globber.glob();\n if (allFiles.length === 0) {\n throw new Error(`No files found in sourcePath: ${sourcePath}`);\n }\n const deploymentId = yield createDeployment();\n yield setDeploymentStatus(deploymentId, 'in_progress');\n try {\n yield Promise.all(allFiles.filter(file => !fs_1.default.statSync(file).isDirectory()).map(file => {\n const body = fs_1.default.readFileSync(file);\n core.debug(`sourcePath: ${sourcePath}`);\n core.debug(`file: ${file}`);\n const key = path_1.default.join(s3KeyPrefix, path_1.default.relative(sourcePath, file));\n core.debug(`resulting key: ${key}`);\n return upload({\n Key: key,\n Bucket: s3BucketName,\n Body: body,\n ACL: 'public-read',\n ContentType: (0, mime_types_1.lookup)(file) || 'application/octet-stream',\n });\n }));\n yield setDeploymentStatus(deploymentId, 'success', urlBase);\n }\n catch (err) {\n yield setDeploymentStatus(deploymentId, 'failure');\n throw err;\n }\n});\nrun().catch(err => {\n core.setFailed(err.message);\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.issue = exports.issueCommand = void 0;\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst oidc_utils_1 = require(\"./oidc-utils\");\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));\n }\n command_1.issueCommand('set-env', { name }, convertedVal);\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueFileCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nfunction getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\nexports.getMultilineInput = getMultilineInput;\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nfunction getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\nexports.getBooleanInput = getBooleanInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction error(message, properties = {}) {\n command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction warning(message, properties = {}) {\n command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction notice(message, properties = {}) {\n command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.notice = notice;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));\n }\n command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\nfunction getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield oidc_utils_1.OidcClient.getIDToken(aud);\n });\n}\nexports.getIDToken = getIDToken;\n/**\n * Summary exports\n */\nvar summary_1 = require(\"./summary\");\nObject.defineProperty(exports, \"summary\", { enumerable: true, get: function () { return summary_1.summary; } });\n/**\n * @deprecated use core.summary\n */\nvar summary_2 = require(\"./summary\");\nObject.defineProperty(exports, \"markdownSummary\", { enumerable: true, get: function () { return summary_2.markdownSummary; } });\n/**\n * Path exports\n */\nvar path_utils_1 = require(\"./path-utils\");\nObject.defineProperty(exports, \"toPosixPath\", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });\nObject.defineProperty(exports, \"toWin32Path\", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });\nObject.defineProperty(exports, \"toPlatformPath\", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });\n//# sourceMappingURL=core.js.map","\"use strict\";\n// For internal use, subject to change.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareKeyValueMessage = exports.issueFileCommand = void 0;\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst uuid_1 = require(\"uuid\");\nconst utils_1 = require(\"./utils\");\nfunction issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueFileCommand = issueFileCommand;\nfunction prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${uuid_1.v4()}`;\n const convertedValue = utils_1.toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\nexports.prepareKeyValueMessage = prepareKeyValueMessage;\n//# sourceMappingURL=file-command.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcClient = void 0;\nconst http_client_1 = require(\"@actions/http-client\");\nconst auth_1 = require(\"@actions/http-client/lib/auth\");\nconst core_1 = require(\"./core\");\nclass OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.result.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n core_1.debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n core_1.setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\nexports.OidcClient = OidcClient;\n//# sourceMappingURL=oidc-utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;\nconst path = __importStar(require(\"path\"));\n/**\n * toPosixPath converts the given path to the posix form. On Windows, \\\\ will be\n * replaced with /.\n *\n * @param pth. Path to transform.\n * @return string Posix path.\n */\nfunction toPosixPath(pth) {\n return pth.replace(/[\\\\]/g, '/');\n}\nexports.toPosixPath = toPosixPath;\n/**\n * toWin32Path converts the given path to the win32 form. On Linux, / will be\n * replaced with \\\\.\n *\n * @param pth. Path to transform.\n * @return string Win32 path.\n */\nfunction toWin32Path(pth) {\n return pth.replace(/[/]/g, '\\\\');\n}\nexports.toWin32Path = toWin32Path;\n/**\n * toPlatformPath converts the given path to a platform-specific path. It does\n * this by replacing instances of / and \\ with the platform-specific path\n * separator.\n *\n * @param pth The path to platformize.\n * @return string The platform-specific path.\n */\nfunction toPlatformPath(pth) {\n return pth.replace(/[/\\\\]/g, path.sep);\n}\nexports.toPlatformPath = toPlatformPath;\n//# sourceMappingURL=path-utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;\nconst os_1 = require(\"os\");\nconst fs_1 = require(\"fs\");\nconst { access, appendFile, writeFile } = fs_1.promises;\nexports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(os_1.EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexports.markdownSummary = _summary;\nexports.summary = _summary;\n//# sourceMappingURL=summary.js.map","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCommandProperties = exports.toCommandValue = void 0;\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nfunction toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\nexports.toCommandProperties = toCommandProperties;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Context = void 0;\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nclass Context {\n /**\n * Hydrate the context from the environment\n */\n constructor() {\n this.payload = {};\n if (process.env.GITHUB_EVENT_PATH) {\n if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {\n this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));\n }\n else {\n const path = process.env.GITHUB_EVENT_PATH;\n process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);\n }\n }\n this.eventName = process.env.GITHUB_EVENT_NAME;\n this.sha = process.env.GITHUB_SHA;\n this.ref = process.env.GITHUB_REF;\n this.workflow = process.env.GITHUB_WORKFLOW;\n this.action = process.env.GITHUB_ACTION;\n this.actor = process.env.GITHUB_ACTOR;\n this.job = process.env.GITHUB_JOB;\n this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);\n this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);\n }\n get issue() {\n const payload = this.payload;\n return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });\n }\n get repo() {\n if (process.env.GITHUB_REPOSITORY) {\n const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');\n return { owner, repo };\n }\n if (this.payload.repository) {\n return {\n owner: this.payload.repository.owner.login,\n repo: this.payload.repository.name\n };\n }\n throw new Error(\"context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'\");\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst utils_1 = require(\"./utils\");\nexports.context = new Context.Context();\n/**\n * Returns a hydrated octokit ready to use for GitHub Actions\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokit(token, options) {\n return new utils_1.GitHub(utils_1.getOctokitOptions(token, options));\n}\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;\nconst httpClient = __importStar(require(\"@actions/http-client\"));\nfunction getAuthString(token, options) {\n if (!token && !options.auth) {\n throw new Error('Parameter token or opts.auth is required');\n }\n else if (token && options.auth) {\n throw new Error('Parameters token and opts.auth may not both be specified');\n }\n return typeof options.auth === 'string' ? options.auth : `token ${token}`;\n}\nexports.getAuthString = getAuthString;\nfunction getProxyAgent(destinationUrl) {\n const hc = new httpClient.HttpClient();\n return hc.getAgent(destinationUrl);\n}\nexports.getProxyAgent = getProxyAgent;\nfunction getApiBaseUrl() {\n return process.env['GITHUB_API_URL'] || 'https://api.github.com';\n}\nexports.getApiBaseUrl = getApiBaseUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokitOptions = exports.GitHub = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst Utils = __importStar(require(\"./internal/utils\"));\n// octokit + plugins\nconst core_1 = require(\"@octokit/core\");\nconst plugin_rest_endpoint_methods_1 = require(\"@octokit/plugin-rest-endpoint-methods\");\nconst plugin_paginate_rest_1 = require(\"@octokit/plugin-paginate-rest\");\nexports.context = new Context.Context();\nconst baseUrl = Utils.getApiBaseUrl();\nconst defaults = {\n baseUrl,\n request: {\n agent: Utils.getProxyAgent(baseUrl)\n }\n};\nexports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(defaults);\n/**\n * Convience function to correctly format Octokit Options to pass into the constructor.\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokitOptions(token, options) {\n const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller\n // Auth\n const auth = Utils.getAuthString(token, opts);\n if (auth) {\n opts.auth = auth;\n }\n return opts;\n}\nexports.getOctokitOptions = getOctokitOptions;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst http = require(\"http\");\nconst https = require(\"https\");\nconst pm = require(\"./proxy\");\nlet tunnel;\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n let proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return new Promise(async (resolve, reject) => {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n let parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n }\n get(requestUrl, additionalHeaders) {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n }\n del(requestUrl, additionalHeaders) {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n }\n post(requestUrl, data, additionalHeaders) {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n }\n patch(requestUrl, data, additionalHeaders) {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n }\n put(requestUrl, data, additionalHeaders) {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n }\n head(requestUrl, additionalHeaders) {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n async getJson(requestUrl, additionalHeaders = {}) {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n let res = await this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n }\n async postJson(requestUrl, obj, additionalHeaders = {}) {\n let data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n let res = await this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n }\n async putJson(requestUrl, obj, additionalHeaders = {}) {\n let data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n let res = await this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n }\n async patchJson(requestUrl, obj, additionalHeaders = {}) {\n let data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n let res = await this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n async request(verb, requestUrl, data, headers) {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n let parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n while (numTries < maxTries) {\n response = await this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (let i = 0; i < this.handlers.length; i++) {\n if (this.handlers[i].canHandleAuthentication(response)) {\n authenticationHandler = this.handlers[i];\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n let parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol == 'https:' &&\n parsedUrl.protocol != parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n await response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (let header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = await this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n await response.readBody();\n await this._performExponentialBackoff(numTries);\n }\n }\n return response;\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return new Promise((resolve, reject) => {\n let callbackForResult = function (err, res) {\n if (err) {\n reject(err);\n }\n resolve(res);\n };\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n let socket;\n if (typeof data === 'string') {\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n let handleResult = (err, res) => {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n };\n let req = info.httpModule.request(info.options, (msg) => {\n let res = new HttpClientResponse(msg);\n handleResult(null, res);\n });\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error('Request timeout: ' + info.options.path), null);\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err, null);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n let parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n this.handlers.forEach(handler => {\n handler.prepareRequest(info.options);\n });\n }\n return info;\n }\n _mergeHeaders(headers) {\n const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n let proxyUrl = pm.getProxyUrl(parsedUrl);\n let useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (!!agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (!!this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n if (useProxy) {\n // If using proxy, need tunnel\n if (!tunnel) {\n tunnel = require('tunnel');\n }\n const agentOptions = {\n maxSockets: maxSockets,\n keepAlive: this._keepAlive,\n proxy: {\n ...((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n }),\n host: proxyUrl.hostname,\n port: proxyUrl.port\n }\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets: maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n }\n static dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n let a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n async _processResponse(res, options) {\n return new Promise(async (resolve, reject) => {\n const statusCode = res.message.statusCode;\n const response = {\n statusCode: statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode == HttpCodes.NotFound) {\n resolve(response);\n }\n let obj;\n let contents;\n // get the result from the body\n try {\n contents = await res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, HttpClient.dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = 'Failed request: (' + statusCode + ')';\n }\n let err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n });\n }\n}\nexports.HttpClient = HttpClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getProxyUrl(reqUrl) {\n let usingSsl = reqUrl.protocol === 'https:';\n let proxyUrl;\n if (checkBypass(reqUrl)) {\n return proxyUrl;\n }\n let proxyVar;\n if (usingSsl) {\n proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n if (proxyVar) {\n proxyUrl = new URL(proxyVar);\n }\n return proxyUrl;\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n let upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (let upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperReqHosts.some(x => x === upperNoProxyItem)) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = void 0;\nconst internal_globber_1 = require(\"./internal-globber\");\n/**\n * Constructs a globber\n *\n * @param patterns Patterns separated by newlines\n * @param options Glob options\n */\nfunction create(patterns, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield internal_globber_1.DefaultGlobber.create(patterns, options);\n });\n}\nexports.create = create;\n//# sourceMappingURL=glob.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptions = void 0;\nconst core = __importStar(require(\"@actions/core\"));\n/**\n * Returns a copy with defaults filled in.\n */\nfunction getOptions(copy) {\n const result = {\n followSymbolicLinks: true,\n implicitDescendants: true,\n omitBrokenSymbolicLinks: true\n };\n if (copy) {\n if (typeof copy.followSymbolicLinks === 'boolean') {\n result.followSymbolicLinks = copy.followSymbolicLinks;\n core.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`);\n }\n if (typeof copy.implicitDescendants === 'boolean') {\n result.implicitDescendants = copy.implicitDescendants;\n core.debug(`implicitDescendants '${result.implicitDescendants}'`);\n }\n if (typeof copy.omitBrokenSymbolicLinks === 'boolean') {\n result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks;\n core.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`);\n }\n }\n return result;\n}\nexports.getOptions = getOptions;\n//# sourceMappingURL=internal-glob-options-helper.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultGlobber = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst fs = __importStar(require(\"fs\"));\nconst globOptionsHelper = __importStar(require(\"./internal-glob-options-helper\"));\nconst path = __importStar(require(\"path\"));\nconst patternHelper = __importStar(require(\"./internal-pattern-helper\"));\nconst internal_match_kind_1 = require(\"./internal-match-kind\");\nconst internal_pattern_1 = require(\"./internal-pattern\");\nconst internal_search_state_1 = require(\"./internal-search-state\");\nconst IS_WINDOWS = process.platform === 'win32';\nclass DefaultGlobber {\n constructor(options) {\n this.patterns = [];\n this.searchPaths = [];\n this.options = globOptionsHelper.getOptions(options);\n }\n getSearchPaths() {\n // Return a copy\n return this.searchPaths.slice();\n }\n glob() {\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n const result = [];\n try {\n for (var _b = __asyncValues(this.globGenerator()), _c; _c = yield _b.next(), !_c.done;) {\n const itemPath = _c.value;\n result.push(itemPath);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n });\n }\n globGenerator() {\n return __asyncGenerator(this, arguments, function* globGenerator_1() {\n // Fill in defaults options\n const options = globOptionsHelper.getOptions(this.options);\n // Implicit descendants?\n const patterns = [];\n for (const pattern of this.patterns) {\n patterns.push(pattern);\n if (options.implicitDescendants &&\n (pattern.trailingSeparator ||\n pattern.segments[pattern.segments.length - 1] !== '**')) {\n patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat('**')));\n }\n }\n // Push the search paths\n const stack = [];\n for (const searchPath of patternHelper.getSearchPaths(patterns)) {\n core.debug(`Search path '${searchPath}'`);\n // Exists?\n try {\n // Intentionally using lstat. Detection for broken symlink\n // will be performed later (if following symlinks).\n yield __await(fs.promises.lstat(searchPath));\n }\n catch (err) {\n if (err.code === 'ENOENT') {\n continue;\n }\n throw err;\n }\n stack.unshift(new internal_search_state_1.SearchState(searchPath, 1));\n }\n // Search\n const traversalChain = []; // used to detect cycles\n while (stack.length) {\n // Pop\n const item = stack.pop();\n // Match?\n const match = patternHelper.match(patterns, item.path);\n const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path);\n if (!match && !partialMatch) {\n continue;\n }\n // Stat\n const stats = yield __await(DefaultGlobber.stat(item, options, traversalChain)\n // Broken symlink, or symlink cycle detected, or no longer exists\n );\n // Broken symlink, or symlink cycle detected, or no longer exists\n if (!stats) {\n continue;\n }\n // Directory\n if (stats.isDirectory()) {\n // Matched\n if (match & internal_match_kind_1.MatchKind.Directory) {\n yield yield __await(item.path);\n }\n // Descend?\n else if (!partialMatch) {\n continue;\n }\n // Push the child items in reverse\n const childLevel = item.level + 1;\n const childItems = (yield __await(fs.promises.readdir(item.path))).map(x => new internal_search_state_1.SearchState(path.join(item.path, x), childLevel));\n stack.push(...childItems.reverse());\n }\n // File\n else if (match & internal_match_kind_1.MatchKind.File) {\n yield yield __await(item.path);\n }\n }\n });\n }\n /**\n * Constructs a DefaultGlobber\n */\n static create(patterns, options) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = new DefaultGlobber(options);\n if (IS_WINDOWS) {\n patterns = patterns.replace(/\\r\\n/g, '\\n');\n patterns = patterns.replace(/\\r/g, '\\n');\n }\n const lines = patterns.split('\\n').map(x => x.trim());\n for (const line of lines) {\n // Empty or comment\n if (!line || line.startsWith('#')) {\n continue;\n }\n // Pattern\n else {\n result.patterns.push(new internal_pattern_1.Pattern(line));\n }\n }\n result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns));\n return result;\n });\n }\n static stat(item, options, traversalChain) {\n return __awaiter(this, void 0, void 0, function* () {\n // Note:\n // `stat` returns info about the target of a symlink (or symlink chain)\n // `lstat` returns info about a symlink itself\n let stats;\n if (options.followSymbolicLinks) {\n try {\n // Use `stat` (following symlinks)\n stats = yield fs.promises.stat(item.path);\n }\n catch (err) {\n if (err.code === 'ENOENT') {\n if (options.omitBrokenSymbolicLinks) {\n core.debug(`Broken symlink '${item.path}'`);\n return undefined;\n }\n throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`);\n }\n throw err;\n }\n }\n else {\n // Use `lstat` (not following symlinks)\n stats = yield fs.promises.lstat(item.path);\n }\n // Note, isDirectory() returns false for the lstat of a symlink\n if (stats.isDirectory() && options.followSymbolicLinks) {\n // Get the realpath\n const realPath = yield fs.promises.realpath(item.path);\n // Fixup the traversal chain to match the item level\n while (traversalChain.length >= item.level) {\n traversalChain.pop();\n }\n // Test for a cycle\n if (traversalChain.some((x) => x === realPath)) {\n core.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`);\n return undefined;\n }\n // Update the traversal chain\n traversalChain.push(realPath);\n }\n return stats;\n });\n }\n}\nexports.DefaultGlobber = DefaultGlobber;\n//# sourceMappingURL=internal-globber.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MatchKind = void 0;\n/**\n * Indicates whether a pattern matches a path\n */\nvar MatchKind;\n(function (MatchKind) {\n /** Not matched */\n MatchKind[MatchKind[\"None\"] = 0] = \"None\";\n /** Matched if the path is a directory */\n MatchKind[MatchKind[\"Directory\"] = 1] = \"Directory\";\n /** Matched if the path is a regular file */\n MatchKind[MatchKind[\"File\"] = 2] = \"File\";\n /** Matched */\n MatchKind[MatchKind[\"All\"] = 3] = \"All\";\n})(MatchKind = exports.MatchKind || (exports.MatchKind = {}));\n//# sourceMappingURL=internal-match-kind.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.safeTrimTrailingSeparator = exports.normalizeSeparators = exports.hasRoot = exports.hasAbsoluteRoot = exports.ensureAbsoluteRoot = exports.dirname = void 0;\nconst path = __importStar(require(\"path\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst IS_WINDOWS = process.platform === 'win32';\n/**\n * Similar to path.dirname except normalizes the path separators and slightly better handling for Windows UNC paths.\n *\n * For example, on Linux/macOS:\n * - `/ => /`\n * - `/hello => /`\n *\n * For example, on Windows:\n * - `C:\\ => C:\\`\n * - `C:\\hello => C:\\`\n * - `C: => C:`\n * - `C:hello => C:`\n * - `\\ => \\`\n * - `\\hello => \\`\n * - `\\\\hello => \\\\hello`\n * - `\\\\hello\\world => \\\\hello\\world`\n */\nfunction dirname(p) {\n // Normalize slashes and trim unnecessary trailing slash\n p = safeTrimTrailingSeparator(p);\n // Windows UNC root, e.g. \\\\hello or \\\\hello\\world\n if (IS_WINDOWS && /^\\\\\\\\[^\\\\]+(\\\\[^\\\\]+)?$/.test(p)) {\n return p;\n }\n // Get dirname\n let result = path.dirname(p);\n // Trim trailing slash for Windows UNC root, e.g. \\\\hello\\world\\\n if (IS_WINDOWS && /^\\\\\\\\[^\\\\]+\\\\[^\\\\]+\\\\$/.test(result)) {\n result = safeTrimTrailingSeparator(result);\n }\n return result;\n}\nexports.dirname = dirname;\n/**\n * Roots the path if not already rooted. On Windows, relative roots like `\\`\n * or `C:` are expanded based on the current working directory.\n */\nfunction ensureAbsoluteRoot(root, itemPath) {\n assert_1.default(root, `ensureAbsoluteRoot parameter 'root' must not be empty`);\n assert_1.default(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`);\n // Already rooted\n if (hasAbsoluteRoot(itemPath)) {\n return itemPath;\n }\n // Windows\n if (IS_WINDOWS) {\n // Check for itemPath like C: or C:foo\n if (itemPath.match(/^[A-Z]:[^\\\\/]|^[A-Z]:$/i)) {\n let cwd = process.cwd();\n assert_1.default(cwd.match(/^[A-Z]:\\\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);\n // Drive letter matches cwd? Expand to cwd\n if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) {\n // Drive only, e.g. C:\n if (itemPath.length === 2) {\n // Preserve specified drive letter case (upper or lower)\n return `${itemPath[0]}:\\\\${cwd.substr(3)}`;\n }\n // Drive + path, e.g. C:foo\n else {\n if (!cwd.endsWith('\\\\')) {\n cwd += '\\\\';\n }\n // Preserve specified drive letter case (upper or lower)\n return `${itemPath[0]}:\\\\${cwd.substr(3)}${itemPath.substr(2)}`;\n }\n }\n // Different drive\n else {\n return `${itemPath[0]}:\\\\${itemPath.substr(2)}`;\n }\n }\n // Check for itemPath like \\ or \\foo\n else if (normalizeSeparators(itemPath).match(/^\\\\$|^\\\\[^\\\\]/)) {\n const cwd = process.cwd();\n assert_1.default(cwd.match(/^[A-Z]:\\\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);\n return `${cwd[0]}:\\\\${itemPath.substr(1)}`;\n }\n }\n assert_1.default(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`);\n // Otherwise ensure root ends with a separator\n if (root.endsWith('/') || (IS_WINDOWS && root.endsWith('\\\\'))) {\n // Intentionally empty\n }\n else {\n // Append separator\n root += path.sep;\n }\n return root + itemPath;\n}\nexports.ensureAbsoluteRoot = ensureAbsoluteRoot;\n/**\n * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like:\n * `\\\\hello\\share` and `C:\\hello` (and using alternate separator).\n */\nfunction hasAbsoluteRoot(itemPath) {\n assert_1.default(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`);\n // Normalize separators\n itemPath = normalizeSeparators(itemPath);\n // Windows\n if (IS_WINDOWS) {\n // E.g. \\\\hello\\share or C:\\hello\n return itemPath.startsWith('\\\\\\\\') || /^[A-Z]:\\\\/i.test(itemPath);\n }\n // E.g. /hello\n return itemPath.startsWith('/');\n}\nexports.hasAbsoluteRoot = hasAbsoluteRoot;\n/**\n * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like:\n * `\\`, `\\hello`, `\\\\hello\\share`, `C:`, and `C:\\hello` (and using alternate separator).\n */\nfunction hasRoot(itemPath) {\n assert_1.default(itemPath, `isRooted parameter 'itemPath' must not be empty`);\n // Normalize separators\n itemPath = normalizeSeparators(itemPath);\n // Windows\n if (IS_WINDOWS) {\n // E.g. \\ or \\hello or \\\\hello\n // E.g. C: or C:\\hello\n return itemPath.startsWith('\\\\') || /^[A-Z]:/i.test(itemPath);\n }\n // E.g. /hello\n return itemPath.startsWith('/');\n}\nexports.hasRoot = hasRoot;\n/**\n * Removes redundant slashes and converts `/` to `\\` on Windows\n */\nfunction normalizeSeparators(p) {\n p = p || '';\n // Windows\n if (IS_WINDOWS) {\n // Convert slashes on Windows\n p = p.replace(/\\//g, '\\\\');\n // Remove redundant slashes\n const isUnc = /^\\\\\\\\+[^\\\\]/.test(p); // e.g. \\\\hello\n return (isUnc ? '\\\\' : '') + p.replace(/\\\\\\\\+/g, '\\\\'); // preserve leading \\\\ for UNC\n }\n // Remove redundant slashes\n return p.replace(/\\/\\/+/g, '/');\n}\nexports.normalizeSeparators = normalizeSeparators;\n/**\n * Normalizes the path separators and trims the trailing separator (when safe).\n * For example, `/foo/ => /foo` but `/ => /`\n */\nfunction safeTrimTrailingSeparator(p) {\n // Short-circuit if empty\n if (!p) {\n return '';\n }\n // Normalize separators\n p = normalizeSeparators(p);\n // No trailing slash\n if (!p.endsWith(path.sep)) {\n return p;\n }\n // Check '/' on Linux/macOS and '\\' on Windows\n if (p === path.sep) {\n return p;\n }\n // On Windows check if drive root. E.g. C:\\\n if (IS_WINDOWS && /^[A-Z]:\\\\$/i.test(p)) {\n return p;\n }\n // Otherwise trim trailing slash\n return p.substr(0, p.length - 1);\n}\nexports.safeTrimTrailingSeparator = safeTrimTrailingSeparator;\n//# sourceMappingURL=internal-path-helper.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Path = void 0;\nconst path = __importStar(require(\"path\"));\nconst pathHelper = __importStar(require(\"./internal-path-helper\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst IS_WINDOWS = process.platform === 'win32';\n/**\n * Helper class for parsing paths into segments\n */\nclass Path {\n /**\n * Constructs a Path\n * @param itemPath Path or array of segments\n */\n constructor(itemPath) {\n this.segments = [];\n // String\n if (typeof itemPath === 'string') {\n assert_1.default(itemPath, `Parameter 'itemPath' must not be empty`);\n // Normalize slashes and trim unnecessary trailing slash\n itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);\n // Not rooted\n if (!pathHelper.hasRoot(itemPath)) {\n this.segments = itemPath.split(path.sep);\n }\n // Rooted\n else {\n // Add all segments, while not at the root\n let remaining = itemPath;\n let dir = pathHelper.dirname(remaining);\n while (dir !== remaining) {\n // Add the segment\n const basename = path.basename(remaining);\n this.segments.unshift(basename);\n // Truncate the last segment\n remaining = dir;\n dir = pathHelper.dirname(remaining);\n }\n // Remainder is the root\n this.segments.unshift(remaining);\n }\n }\n // Array\n else {\n // Must not be empty\n assert_1.default(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`);\n // Each segment\n for (let i = 0; i < itemPath.length; i++) {\n let segment = itemPath[i];\n // Must not be empty\n assert_1.default(segment, `Parameter 'itemPath' must not contain any empty segments`);\n // Normalize slashes\n segment = pathHelper.normalizeSeparators(itemPath[i]);\n // Root segment\n if (i === 0 && pathHelper.hasRoot(segment)) {\n segment = pathHelper.safeTrimTrailingSeparator(segment);\n assert_1.default(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`);\n this.segments.push(segment);\n }\n // All other segments\n else {\n // Must not contain slash\n assert_1.default(!segment.includes(path.sep), `Parameter 'itemPath' contains unexpected path separators`);\n this.segments.push(segment);\n }\n }\n }\n }\n /**\n * Converts the path to it's string representation\n */\n toString() {\n // First segment\n let result = this.segments[0];\n // All others\n let skipSlash = result.endsWith(path.sep) || (IS_WINDOWS && /^[A-Z]:$/i.test(result));\n for (let i = 1; i < this.segments.length; i++) {\n if (skipSlash) {\n skipSlash = false;\n }\n else {\n result += path.sep;\n }\n result += this.segments[i];\n }\n return result;\n }\n}\nexports.Path = Path;\n//# sourceMappingURL=internal-path.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partialMatch = exports.match = exports.getSearchPaths = void 0;\nconst pathHelper = __importStar(require(\"./internal-path-helper\"));\nconst internal_match_kind_1 = require(\"./internal-match-kind\");\nconst IS_WINDOWS = process.platform === 'win32';\n/**\n * Given an array of patterns, returns an array of paths to search.\n * Duplicates and paths under other included paths are filtered out.\n */\nfunction getSearchPaths(patterns) {\n // Ignore negate patterns\n patterns = patterns.filter(x => !x.negate);\n // Create a map of all search paths\n const searchPathMap = {};\n for (const pattern of patterns) {\n const key = IS_WINDOWS\n ? pattern.searchPath.toUpperCase()\n : pattern.searchPath;\n searchPathMap[key] = 'candidate';\n }\n const result = [];\n for (const pattern of patterns) {\n // Check if already included\n const key = IS_WINDOWS\n ? pattern.searchPath.toUpperCase()\n : pattern.searchPath;\n if (searchPathMap[key] === 'included') {\n continue;\n }\n // Check for an ancestor search path\n let foundAncestor = false;\n let tempKey = key;\n let parent = pathHelper.dirname(tempKey);\n while (parent !== tempKey) {\n if (searchPathMap[parent]) {\n foundAncestor = true;\n break;\n }\n tempKey = parent;\n parent = pathHelper.dirname(tempKey);\n }\n // Include the search pattern in the result\n if (!foundAncestor) {\n result.push(pattern.searchPath);\n searchPathMap[key] = 'included';\n }\n }\n return result;\n}\nexports.getSearchPaths = getSearchPaths;\n/**\n * Matches the patterns against the path\n */\nfunction match(patterns, itemPath) {\n let result = internal_match_kind_1.MatchKind.None;\n for (const pattern of patterns) {\n if (pattern.negate) {\n result &= ~pattern.match(itemPath);\n }\n else {\n result |= pattern.match(itemPath);\n }\n }\n return result;\n}\nexports.match = match;\n/**\n * Checks whether to descend further into the directory\n */\nfunction partialMatch(patterns, itemPath) {\n return patterns.some(x => !x.negate && x.partialMatch(itemPath));\n}\nexports.partialMatch = partialMatch;\n//# sourceMappingURL=internal-pattern-helper.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pattern = void 0;\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst pathHelper = __importStar(require(\"./internal-path-helper\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst minimatch_1 = require(\"minimatch\");\nconst internal_match_kind_1 = require(\"./internal-match-kind\");\nconst internal_path_1 = require(\"./internal-path\");\nconst IS_WINDOWS = process.platform === 'win32';\nclass Pattern {\n constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) {\n /**\n * Indicates whether matches should be excluded from the result set\n */\n this.negate = false;\n // Pattern overload\n let pattern;\n if (typeof patternOrNegate === 'string') {\n pattern = patternOrNegate.trim();\n }\n // Segments overload\n else {\n // Convert to pattern\n segments = segments || [];\n assert_1.default(segments.length, `Parameter 'segments' must not empty`);\n const root = Pattern.getLiteral(segments[0]);\n assert_1.default(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`);\n pattern = new internal_path_1.Path(segments).toString().trim();\n if (patternOrNegate) {\n pattern = `!${pattern}`;\n }\n }\n // Negate\n while (pattern.startsWith('!')) {\n this.negate = !this.negate;\n pattern = pattern.substr(1).trim();\n }\n // Normalize slashes and ensures absolute root\n pattern = Pattern.fixupPattern(pattern, homedir);\n // Segments\n this.segments = new internal_path_1.Path(pattern).segments;\n // Trailing slash indicates the pattern should only match directories, not regular files\n this.trailingSeparator = pathHelper\n .normalizeSeparators(pattern)\n .endsWith(path.sep);\n pattern = pathHelper.safeTrimTrailingSeparator(pattern);\n // Search path (literal path prior to the first glob segment)\n let foundGlob = false;\n const searchSegments = this.segments\n .map(x => Pattern.getLiteral(x))\n .filter(x => !foundGlob && !(foundGlob = x === ''));\n this.searchPath = new internal_path_1.Path(searchSegments).toString();\n // Root RegExp (required when determining partial match)\n this.rootRegExp = new RegExp(Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? 'i' : '');\n this.isImplicitPattern = isImplicitPattern;\n // Create minimatch\n const minimatchOptions = {\n dot: true,\n nobrace: true,\n nocase: IS_WINDOWS,\n nocomment: true,\n noext: true,\n nonegate: true\n };\n pattern = IS_WINDOWS ? pattern.replace(/\\\\/g, '/') : pattern;\n this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions);\n }\n /**\n * Matches the pattern against the specified path\n */\n match(itemPath) {\n // Last segment is globstar?\n if (this.segments[this.segments.length - 1] === '**') {\n // Normalize slashes\n itemPath = pathHelper.normalizeSeparators(itemPath);\n // Append a trailing slash. Otherwise Minimatch will not match the directory immediately\n // preceding the globstar. For example, given the pattern `/foo/**`, Minimatch returns\n // false for `/foo` but returns true for `/foo/`. Append a trailing slash to handle that quirk.\n if (!itemPath.endsWith(path.sep) && this.isImplicitPattern === false) {\n // Note, this is safe because the constructor ensures the pattern has an absolute root.\n // For example, formats like C: and C:foo on Windows are resolved to an absolute root.\n itemPath = `${itemPath}${path.sep}`;\n }\n }\n else {\n // Normalize slashes and trim unnecessary trailing slash\n itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);\n }\n // Match\n if (this.minimatch.match(itemPath)) {\n return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All;\n }\n return internal_match_kind_1.MatchKind.None;\n }\n /**\n * Indicates whether the pattern may match descendants of the specified path\n */\n partialMatch(itemPath) {\n // Normalize slashes and trim unnecessary trailing slash\n itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);\n // matchOne does not handle root path correctly\n if (pathHelper.dirname(itemPath) === itemPath) {\n return this.rootRegExp.test(itemPath);\n }\n return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\\\+/ : /\\/+/), this.minimatch.set[0], true);\n }\n /**\n * Escapes glob patterns within a path\n */\n static globEscape(s) {\n return (IS_WINDOWS ? s : s.replace(/\\\\/g, '\\\\\\\\')) // escape '\\' on Linux/macOS\n .replace(/(\\[)(?=[^/]+\\])/g, '[[]') // escape '[' when ']' follows within the path segment\n .replace(/\\?/g, '[?]') // escape '?'\n .replace(/\\*/g, '[*]'); // escape '*'\n }\n /**\n * Normalizes slashes and ensures absolute root\n */\n static fixupPattern(pattern, homedir) {\n // Empty\n assert_1.default(pattern, 'pattern cannot be empty');\n // Must not contain `.` segment, unless first segment\n // Must not contain `..` segment\n const literalSegments = new internal_path_1.Path(pattern).segments.map(x => Pattern.getLiteral(x));\n assert_1.default(literalSegments.every((x, i) => (x !== '.' || i === 0) && x !== '..'), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`);\n // Must not contain globs in root, e.g. Windows UNC path \\\\foo\\b*r\n assert_1.default(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`);\n // Normalize slashes\n pattern = pathHelper.normalizeSeparators(pattern);\n // Replace leading `.` segment\n if (pattern === '.' || pattern.startsWith(`.${path.sep}`)) {\n pattern = Pattern.globEscape(process.cwd()) + pattern.substr(1);\n }\n // Replace leading `~` segment\n else if (pattern === '~' || pattern.startsWith(`~${path.sep}`)) {\n homedir = homedir || os.homedir();\n assert_1.default(homedir, 'Unable to determine HOME directory');\n assert_1.default(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`);\n pattern = Pattern.globEscape(homedir) + pattern.substr(1);\n }\n // Replace relative drive root, e.g. pattern is C: or C:foo\n else if (IS_WINDOWS &&\n (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\\\]/i))) {\n let root = pathHelper.ensureAbsoluteRoot('C:\\\\dummy-root', pattern.substr(0, 2));\n if (pattern.length > 2 && !root.endsWith('\\\\')) {\n root += '\\\\';\n }\n pattern = Pattern.globEscape(root) + pattern.substr(2);\n }\n // Replace relative root, e.g. pattern is \\ or \\foo\n else if (IS_WINDOWS && (pattern === '\\\\' || pattern.match(/^\\\\[^\\\\]/))) {\n let root = pathHelper.ensureAbsoluteRoot('C:\\\\dummy-root', '\\\\');\n if (!root.endsWith('\\\\')) {\n root += '\\\\';\n }\n pattern = Pattern.globEscape(root) + pattern.substr(1);\n }\n // Otherwise ensure absolute root\n else {\n pattern = pathHelper.ensureAbsoluteRoot(Pattern.globEscape(process.cwd()), pattern);\n }\n return pathHelper.normalizeSeparators(pattern);\n }\n /**\n * Attempts to unescape a pattern segment to create a literal path segment.\n * Otherwise returns empty string.\n */\n static getLiteral(segment) {\n let literal = '';\n for (let i = 0; i < segment.length; i++) {\n const c = segment[i];\n // Escape\n if (c === '\\\\' && !IS_WINDOWS && i + 1 < segment.length) {\n literal += segment[++i];\n continue;\n }\n // Wildcard\n else if (c === '*' || c === '?') {\n return '';\n }\n // Character set\n else if (c === '[' && i + 1 < segment.length) {\n let set = '';\n let closed = -1;\n for (let i2 = i + 1; i2 < segment.length; i2++) {\n const c2 = segment[i2];\n // Escape\n if (c2 === '\\\\' && !IS_WINDOWS && i2 + 1 < segment.length) {\n set += segment[++i2];\n continue;\n }\n // Closed\n else if (c2 === ']') {\n closed = i2;\n break;\n }\n // Otherwise\n else {\n set += c2;\n }\n }\n // Closed?\n if (closed >= 0) {\n // Cannot convert\n if (set.length > 1) {\n return '';\n }\n // Convert to literal\n if (set) {\n literal += set;\n i = closed;\n continue;\n }\n }\n // Otherwise fall thru\n }\n // Append\n literal += c;\n }\n return literal;\n }\n /**\n * Escapes regexp special characters\n * https://javascript.info/regexp-escaping\n */\n static regExpEscape(s) {\n return s.replace(/[[\\\\^$.|?*+()]/g, '\\\\$&');\n }\n}\nexports.Pattern = Pattern;\n//# sourceMappingURL=internal-pattern.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchState = void 0;\nclass SearchState {\n constructor(path, level) {\n this.path = path;\n this.level = level;\n }\n}\nexports.SearchState = SearchState;\n//# sourceMappingURL=internal-search-state.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;\nclass BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BasicCredentialHandler = BasicCredentialHandler;\nclass BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BearerCredentialHandler = BearerCredentialHandler;\nclass PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;\n//# sourceMappingURL=auth.js.map","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkBypass = exports.getProxyUrl = void 0;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n return new URL(proxyVar);\n }\n else {\n return undefined;\n }\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperReqHosts.some(x => x === upperNoProxyItem)) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\n//# sourceMappingURL=proxy.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar index_1 = require(\"./index\");\nvar AwsCrc32 = /** @class */ (function () {\n function AwsCrc32() {\n this.crc32 = new index_1.Crc32();\n }\n AwsCrc32.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash))\n return;\n this.crc32.update((0, util_1.convertToBuffer)(toHash));\n };\n AwsCrc32.prototype.digest = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, (0, util_1.numToUint8)(this.crc32.digest())];\n });\n });\n };\n AwsCrc32.prototype.reset = function () {\n this.crc32 = new index_1.Crc32();\n };\n return AwsCrc32;\n}());\nexports.AwsCrc32 = AwsCrc32;\n//# sourceMappingURL=aws_crc32.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nfunction crc32(data) {\n return new Crc32().update(data).digest();\n}\nexports.crc32 = crc32;\nvar Crc32 = /** @class */ (function () {\n function Crc32() {\n this.checksum = 0xffffffff;\n }\n Crc32.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32;\n}());\nexports.Crc32 = Crc32;\n// prettier-ignore\nvar a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nvar lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);\nvar aws_crc32_1 = require(\"./aws_crc32\");\nObject.defineProperty(exports, \"AwsCrc32\", { enumerable: true, get: function () { return aws_crc32_1.AwsCrc32; } });\n//# sourceMappingURL=index.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32c = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar index_1 = require(\"./index\");\nvar AwsCrc32c = /** @class */ (function () {\n function AwsCrc32c() {\n this.crc32c = new index_1.Crc32c();\n }\n AwsCrc32c.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash))\n return;\n this.crc32c.update((0, util_1.convertToBuffer)(toHash));\n };\n AwsCrc32c.prototype.digest = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, (0, util_1.numToUint8)(this.crc32c.digest())];\n });\n });\n };\n AwsCrc32c.prototype.reset = function () {\n this.crc32c = new index_1.Crc32c();\n };\n return AwsCrc32c;\n}());\nexports.AwsCrc32c = AwsCrc32c;\n//# sourceMappingURL=aws_crc32c.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32c = exports.Crc32c = exports.crc32c = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nfunction crc32c(data) {\n return new Crc32c().update(data).digest();\n}\nexports.crc32c = crc32c;\nvar Crc32c = /** @class */ (function () {\n function Crc32c() {\n this.checksum = 0xffffffff;\n }\n Crc32c.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32c.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32c;\n}());\nexports.Crc32c = Crc32c;\n// prettier-ignore\nvar a_lookupTable = [\n 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,\n 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,\n 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,\n 0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,\n 0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,\n 0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,\n 0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,\n 0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,\n 0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,\n 0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,\n 0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,\n 0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,\n 0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,\n 0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,\n 0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,\n 0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,\n 0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,\n 0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,\n 0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,\n 0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,\n 0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,\n 0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,\n 0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,\n 0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,\n 0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,\n 0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,\n 0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,\n 0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,\n 0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,\n 0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,\n 0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,\n 0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,\n];\nvar lookupTable = (0, util_1.uint32ArrayFrom)(a_lookupTable);\nvar aws_crc32c_1 = require(\"./aws_crc32c\");\nObject.defineProperty(exports, \"AwsCrc32c\", { enumerable: true, get: function () { return aws_crc32c_1.AwsCrc32c; } });\n//# sourceMappingURL=index.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertToBuffer = void 0;\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : util_utf8_browser_1.fromUtf8;\nfunction convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return data;\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\nexports.convertToBuffer = convertToBuffer;\n//# sourceMappingURL=convertToBuffer.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\nvar convertToBuffer_1 = require(\"./convertToBuffer\");\nObject.defineProperty(exports, \"convertToBuffer\", { enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } });\nvar isEmptyData_1 = require(\"./isEmptyData\");\nObject.defineProperty(exports, \"isEmptyData\", { enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } });\nvar numToUint8_1 = require(\"./numToUint8\");\nObject.defineProperty(exports, \"numToUint8\", { enumerable: true, get: function () { return numToUint8_1.numToUint8; } });\nvar uint32ArrayFrom_1 = require(\"./uint32ArrayFrom\");\nObject.defineProperty(exports, \"uint32ArrayFrom\", { enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmptyData = void 0;\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=isEmptyData.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numToUint8 = void 0;\nfunction numToUint8(num) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\nexports.numToUint8 = numToUint8;\n//# sourceMappingURL=numToUint8.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = void 0;\n// IE 11 does not support Array.from, so we do it manually\nfunction uint32ArrayFrom(a_lookUpTable) {\n if (!Uint32Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n a_index += 1;\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\nexports.uint32ArrayFrom = uint32ArrayFrom;\n//# sourceMappingURL=uint32ArrayFrom.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3 = void 0;\nconst AbortMultipartUploadCommand_1 = require(\"./commands/AbortMultipartUploadCommand\");\nconst CompleteMultipartUploadCommand_1 = require(\"./commands/CompleteMultipartUploadCommand\");\nconst CopyObjectCommand_1 = require(\"./commands/CopyObjectCommand\");\nconst CreateBucketCommand_1 = require(\"./commands/CreateBucketCommand\");\nconst CreateMultipartUploadCommand_1 = require(\"./commands/CreateMultipartUploadCommand\");\nconst DeleteBucketAnalyticsConfigurationCommand_1 = require(\"./commands/DeleteBucketAnalyticsConfigurationCommand\");\nconst DeleteBucketCommand_1 = require(\"./commands/DeleteBucketCommand\");\nconst DeleteBucketCorsCommand_1 = require(\"./commands/DeleteBucketCorsCommand\");\nconst DeleteBucketEncryptionCommand_1 = require(\"./commands/DeleteBucketEncryptionCommand\");\nconst DeleteBucketIntelligentTieringConfigurationCommand_1 = require(\"./commands/DeleteBucketIntelligentTieringConfigurationCommand\");\nconst DeleteBucketInventoryConfigurationCommand_1 = require(\"./commands/DeleteBucketInventoryConfigurationCommand\");\nconst DeleteBucketLifecycleCommand_1 = require(\"./commands/DeleteBucketLifecycleCommand\");\nconst DeleteBucketMetricsConfigurationCommand_1 = require(\"./commands/DeleteBucketMetricsConfigurationCommand\");\nconst DeleteBucketOwnershipControlsCommand_1 = require(\"./commands/DeleteBucketOwnershipControlsCommand\");\nconst DeleteBucketPolicyCommand_1 = require(\"./commands/DeleteBucketPolicyCommand\");\nconst DeleteBucketReplicationCommand_1 = require(\"./commands/DeleteBucketReplicationCommand\");\nconst DeleteBucketTaggingCommand_1 = require(\"./commands/DeleteBucketTaggingCommand\");\nconst DeleteBucketWebsiteCommand_1 = require(\"./commands/DeleteBucketWebsiteCommand\");\nconst DeleteObjectCommand_1 = require(\"./commands/DeleteObjectCommand\");\nconst DeleteObjectsCommand_1 = require(\"./commands/DeleteObjectsCommand\");\nconst DeleteObjectTaggingCommand_1 = require(\"./commands/DeleteObjectTaggingCommand\");\nconst DeletePublicAccessBlockCommand_1 = require(\"./commands/DeletePublicAccessBlockCommand\");\nconst GetBucketAccelerateConfigurationCommand_1 = require(\"./commands/GetBucketAccelerateConfigurationCommand\");\nconst GetBucketAclCommand_1 = require(\"./commands/GetBucketAclCommand\");\nconst GetBucketAnalyticsConfigurationCommand_1 = require(\"./commands/GetBucketAnalyticsConfigurationCommand\");\nconst GetBucketCorsCommand_1 = require(\"./commands/GetBucketCorsCommand\");\nconst GetBucketEncryptionCommand_1 = require(\"./commands/GetBucketEncryptionCommand\");\nconst GetBucketIntelligentTieringConfigurationCommand_1 = require(\"./commands/GetBucketIntelligentTieringConfigurationCommand\");\nconst GetBucketInventoryConfigurationCommand_1 = require(\"./commands/GetBucketInventoryConfigurationCommand\");\nconst GetBucketLifecycleConfigurationCommand_1 = require(\"./commands/GetBucketLifecycleConfigurationCommand\");\nconst GetBucketLocationCommand_1 = require(\"./commands/GetBucketLocationCommand\");\nconst GetBucketLoggingCommand_1 = require(\"./commands/GetBucketLoggingCommand\");\nconst GetBucketMetricsConfigurationCommand_1 = require(\"./commands/GetBucketMetricsConfigurationCommand\");\nconst GetBucketNotificationConfigurationCommand_1 = require(\"./commands/GetBucketNotificationConfigurationCommand\");\nconst GetBucketOwnershipControlsCommand_1 = require(\"./commands/GetBucketOwnershipControlsCommand\");\nconst GetBucketPolicyCommand_1 = require(\"./commands/GetBucketPolicyCommand\");\nconst GetBucketPolicyStatusCommand_1 = require(\"./commands/GetBucketPolicyStatusCommand\");\nconst GetBucketReplicationCommand_1 = require(\"./commands/GetBucketReplicationCommand\");\nconst GetBucketRequestPaymentCommand_1 = require(\"./commands/GetBucketRequestPaymentCommand\");\nconst GetBucketTaggingCommand_1 = require(\"./commands/GetBucketTaggingCommand\");\nconst GetBucketVersioningCommand_1 = require(\"./commands/GetBucketVersioningCommand\");\nconst GetBucketWebsiteCommand_1 = require(\"./commands/GetBucketWebsiteCommand\");\nconst GetObjectAclCommand_1 = require(\"./commands/GetObjectAclCommand\");\nconst GetObjectAttributesCommand_1 = require(\"./commands/GetObjectAttributesCommand\");\nconst GetObjectCommand_1 = require(\"./commands/GetObjectCommand\");\nconst GetObjectLegalHoldCommand_1 = require(\"./commands/GetObjectLegalHoldCommand\");\nconst GetObjectLockConfigurationCommand_1 = require(\"./commands/GetObjectLockConfigurationCommand\");\nconst GetObjectRetentionCommand_1 = require(\"./commands/GetObjectRetentionCommand\");\nconst GetObjectTaggingCommand_1 = require(\"./commands/GetObjectTaggingCommand\");\nconst GetObjectTorrentCommand_1 = require(\"./commands/GetObjectTorrentCommand\");\nconst GetPublicAccessBlockCommand_1 = require(\"./commands/GetPublicAccessBlockCommand\");\nconst HeadBucketCommand_1 = require(\"./commands/HeadBucketCommand\");\nconst HeadObjectCommand_1 = require(\"./commands/HeadObjectCommand\");\nconst ListBucketAnalyticsConfigurationsCommand_1 = require(\"./commands/ListBucketAnalyticsConfigurationsCommand\");\nconst ListBucketIntelligentTieringConfigurationsCommand_1 = require(\"./commands/ListBucketIntelligentTieringConfigurationsCommand\");\nconst ListBucketInventoryConfigurationsCommand_1 = require(\"./commands/ListBucketInventoryConfigurationsCommand\");\nconst ListBucketMetricsConfigurationsCommand_1 = require(\"./commands/ListBucketMetricsConfigurationsCommand\");\nconst ListBucketsCommand_1 = require(\"./commands/ListBucketsCommand\");\nconst ListMultipartUploadsCommand_1 = require(\"./commands/ListMultipartUploadsCommand\");\nconst ListObjectsCommand_1 = require(\"./commands/ListObjectsCommand\");\nconst ListObjectsV2Command_1 = require(\"./commands/ListObjectsV2Command\");\nconst ListObjectVersionsCommand_1 = require(\"./commands/ListObjectVersionsCommand\");\nconst ListPartsCommand_1 = require(\"./commands/ListPartsCommand\");\nconst PutBucketAccelerateConfigurationCommand_1 = require(\"./commands/PutBucketAccelerateConfigurationCommand\");\nconst PutBucketAclCommand_1 = require(\"./commands/PutBucketAclCommand\");\nconst PutBucketAnalyticsConfigurationCommand_1 = require(\"./commands/PutBucketAnalyticsConfigurationCommand\");\nconst PutBucketCorsCommand_1 = require(\"./commands/PutBucketCorsCommand\");\nconst PutBucketEncryptionCommand_1 = require(\"./commands/PutBucketEncryptionCommand\");\nconst PutBucketIntelligentTieringConfigurationCommand_1 = require(\"./commands/PutBucketIntelligentTieringConfigurationCommand\");\nconst PutBucketInventoryConfigurationCommand_1 = require(\"./commands/PutBucketInventoryConfigurationCommand\");\nconst PutBucketLifecycleConfigurationCommand_1 = require(\"./commands/PutBucketLifecycleConfigurationCommand\");\nconst PutBucketLoggingCommand_1 = require(\"./commands/PutBucketLoggingCommand\");\nconst PutBucketMetricsConfigurationCommand_1 = require(\"./commands/PutBucketMetricsConfigurationCommand\");\nconst PutBucketNotificationConfigurationCommand_1 = require(\"./commands/PutBucketNotificationConfigurationCommand\");\nconst PutBucketOwnershipControlsCommand_1 = require(\"./commands/PutBucketOwnershipControlsCommand\");\nconst PutBucketPolicyCommand_1 = require(\"./commands/PutBucketPolicyCommand\");\nconst PutBucketReplicationCommand_1 = require(\"./commands/PutBucketReplicationCommand\");\nconst PutBucketRequestPaymentCommand_1 = require(\"./commands/PutBucketRequestPaymentCommand\");\nconst PutBucketTaggingCommand_1 = require(\"./commands/PutBucketTaggingCommand\");\nconst PutBucketVersioningCommand_1 = require(\"./commands/PutBucketVersioningCommand\");\nconst PutBucketWebsiteCommand_1 = require(\"./commands/PutBucketWebsiteCommand\");\nconst PutObjectAclCommand_1 = require(\"./commands/PutObjectAclCommand\");\nconst PutObjectCommand_1 = require(\"./commands/PutObjectCommand\");\nconst PutObjectLegalHoldCommand_1 = require(\"./commands/PutObjectLegalHoldCommand\");\nconst PutObjectLockConfigurationCommand_1 = require(\"./commands/PutObjectLockConfigurationCommand\");\nconst PutObjectRetentionCommand_1 = require(\"./commands/PutObjectRetentionCommand\");\nconst PutObjectTaggingCommand_1 = require(\"./commands/PutObjectTaggingCommand\");\nconst PutPublicAccessBlockCommand_1 = require(\"./commands/PutPublicAccessBlockCommand\");\nconst RestoreObjectCommand_1 = require(\"./commands/RestoreObjectCommand\");\nconst SelectObjectContentCommand_1 = require(\"./commands/SelectObjectContentCommand\");\nconst UploadPartCommand_1 = require(\"./commands/UploadPartCommand\");\nconst UploadPartCopyCommand_1 = require(\"./commands/UploadPartCopyCommand\");\nconst WriteGetObjectResponseCommand_1 = require(\"./commands/WriteGetObjectResponseCommand\");\nconst S3Client_1 = require(\"./S3Client\");\nclass S3 extends S3Client_1.S3Client {\n abortMultipartUpload(args, optionsOrCb, cb) {\n const command = new AbortMultipartUploadCommand_1.AbortMultipartUploadCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n completeMultipartUpload(args, optionsOrCb, cb) {\n const command = new CompleteMultipartUploadCommand_1.CompleteMultipartUploadCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n copyObject(args, optionsOrCb, cb) {\n const command = new CopyObjectCommand_1.CopyObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n createBucket(args, optionsOrCb, cb) {\n const command = new CreateBucketCommand_1.CreateBucketCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n createMultipartUpload(args, optionsOrCb, cb) {\n const command = new CreateMultipartUploadCommand_1.CreateMultipartUploadCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucket(args, optionsOrCb, cb) {\n const command = new DeleteBucketCommand_1.DeleteBucketCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketAnalyticsConfiguration(args, optionsOrCb, cb) {\n const command = new DeleteBucketAnalyticsConfigurationCommand_1.DeleteBucketAnalyticsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketCors(args, optionsOrCb, cb) {\n const command = new DeleteBucketCorsCommand_1.DeleteBucketCorsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketEncryption(args, optionsOrCb, cb) {\n const command = new DeleteBucketEncryptionCommand_1.DeleteBucketEncryptionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketIntelligentTieringConfiguration(args, optionsOrCb, cb) {\n const command = new DeleteBucketIntelligentTieringConfigurationCommand_1.DeleteBucketIntelligentTieringConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketInventoryConfiguration(args, optionsOrCb, cb) {\n const command = new DeleteBucketInventoryConfigurationCommand_1.DeleteBucketInventoryConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketLifecycle(args, optionsOrCb, cb) {\n const command = new DeleteBucketLifecycleCommand_1.DeleteBucketLifecycleCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketMetricsConfiguration(args, optionsOrCb, cb) {\n const command = new DeleteBucketMetricsConfigurationCommand_1.DeleteBucketMetricsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketOwnershipControls(args, optionsOrCb, cb) {\n const command = new DeleteBucketOwnershipControlsCommand_1.DeleteBucketOwnershipControlsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketPolicy(args, optionsOrCb, cb) {\n const command = new DeleteBucketPolicyCommand_1.DeleteBucketPolicyCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketReplication(args, optionsOrCb, cb) {\n const command = new DeleteBucketReplicationCommand_1.DeleteBucketReplicationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketTagging(args, optionsOrCb, cb) {\n const command = new DeleteBucketTaggingCommand_1.DeleteBucketTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteBucketWebsite(args, optionsOrCb, cb) {\n const command = new DeleteBucketWebsiteCommand_1.DeleteBucketWebsiteCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteObject(args, optionsOrCb, cb) {\n const command = new DeleteObjectCommand_1.DeleteObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteObjects(args, optionsOrCb, cb) {\n const command = new DeleteObjectsCommand_1.DeleteObjectsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deleteObjectTagging(args, optionsOrCb, cb) {\n const command = new DeleteObjectTaggingCommand_1.DeleteObjectTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n deletePublicAccessBlock(args, optionsOrCb, cb) {\n const command = new DeletePublicAccessBlockCommand_1.DeletePublicAccessBlockCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketAccelerateConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketAccelerateConfigurationCommand_1.GetBucketAccelerateConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketAcl(args, optionsOrCb, cb) {\n const command = new GetBucketAclCommand_1.GetBucketAclCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketAnalyticsConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketAnalyticsConfigurationCommand_1.GetBucketAnalyticsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketCors(args, optionsOrCb, cb) {\n const command = new GetBucketCorsCommand_1.GetBucketCorsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketEncryption(args, optionsOrCb, cb) {\n const command = new GetBucketEncryptionCommand_1.GetBucketEncryptionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketIntelligentTieringConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketIntelligentTieringConfigurationCommand_1.GetBucketIntelligentTieringConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketInventoryConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketInventoryConfigurationCommand_1.GetBucketInventoryConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketLifecycleConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketLifecycleConfigurationCommand_1.GetBucketLifecycleConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketLocation(args, optionsOrCb, cb) {\n const command = new GetBucketLocationCommand_1.GetBucketLocationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketLogging(args, optionsOrCb, cb) {\n const command = new GetBucketLoggingCommand_1.GetBucketLoggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketMetricsConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketMetricsConfigurationCommand_1.GetBucketMetricsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketNotificationConfiguration(args, optionsOrCb, cb) {\n const command = new GetBucketNotificationConfigurationCommand_1.GetBucketNotificationConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketOwnershipControls(args, optionsOrCb, cb) {\n const command = new GetBucketOwnershipControlsCommand_1.GetBucketOwnershipControlsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketPolicy(args, optionsOrCb, cb) {\n const command = new GetBucketPolicyCommand_1.GetBucketPolicyCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketPolicyStatus(args, optionsOrCb, cb) {\n const command = new GetBucketPolicyStatusCommand_1.GetBucketPolicyStatusCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketReplication(args, optionsOrCb, cb) {\n const command = new GetBucketReplicationCommand_1.GetBucketReplicationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketRequestPayment(args, optionsOrCb, cb) {\n const command = new GetBucketRequestPaymentCommand_1.GetBucketRequestPaymentCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketTagging(args, optionsOrCb, cb) {\n const command = new GetBucketTaggingCommand_1.GetBucketTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketVersioning(args, optionsOrCb, cb) {\n const command = new GetBucketVersioningCommand_1.GetBucketVersioningCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getBucketWebsite(args, optionsOrCb, cb) {\n const command = new GetBucketWebsiteCommand_1.GetBucketWebsiteCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObject(args, optionsOrCb, cb) {\n const command = new GetObjectCommand_1.GetObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectAcl(args, optionsOrCb, cb) {\n const command = new GetObjectAclCommand_1.GetObjectAclCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectAttributes(args, optionsOrCb, cb) {\n const command = new GetObjectAttributesCommand_1.GetObjectAttributesCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectLegalHold(args, optionsOrCb, cb) {\n const command = new GetObjectLegalHoldCommand_1.GetObjectLegalHoldCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectLockConfiguration(args, optionsOrCb, cb) {\n const command = new GetObjectLockConfigurationCommand_1.GetObjectLockConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectRetention(args, optionsOrCb, cb) {\n const command = new GetObjectRetentionCommand_1.GetObjectRetentionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectTagging(args, optionsOrCb, cb) {\n const command = new GetObjectTaggingCommand_1.GetObjectTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getObjectTorrent(args, optionsOrCb, cb) {\n const command = new GetObjectTorrentCommand_1.GetObjectTorrentCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getPublicAccessBlock(args, optionsOrCb, cb) {\n const command = new GetPublicAccessBlockCommand_1.GetPublicAccessBlockCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n headBucket(args, optionsOrCb, cb) {\n const command = new HeadBucketCommand_1.HeadBucketCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n headObject(args, optionsOrCb, cb) {\n const command = new HeadObjectCommand_1.HeadObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBucketAnalyticsConfigurations(args, optionsOrCb, cb) {\n const command = new ListBucketAnalyticsConfigurationsCommand_1.ListBucketAnalyticsConfigurationsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBucketIntelligentTieringConfigurations(args, optionsOrCb, cb) {\n const command = new ListBucketIntelligentTieringConfigurationsCommand_1.ListBucketIntelligentTieringConfigurationsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBucketInventoryConfigurations(args, optionsOrCb, cb) {\n const command = new ListBucketInventoryConfigurationsCommand_1.ListBucketInventoryConfigurationsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBucketMetricsConfigurations(args, optionsOrCb, cb) {\n const command = new ListBucketMetricsConfigurationsCommand_1.ListBucketMetricsConfigurationsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listBuckets(args, optionsOrCb, cb) {\n const command = new ListBucketsCommand_1.ListBucketsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listMultipartUploads(args, optionsOrCb, cb) {\n const command = new ListMultipartUploadsCommand_1.ListMultipartUploadsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listObjects(args, optionsOrCb, cb) {\n const command = new ListObjectsCommand_1.ListObjectsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listObjectsV2(args, optionsOrCb, cb) {\n const command = new ListObjectsV2Command_1.ListObjectsV2Command(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listObjectVersions(args, optionsOrCb, cb) {\n const command = new ListObjectVersionsCommand_1.ListObjectVersionsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listParts(args, optionsOrCb, cb) {\n const command = new ListPartsCommand_1.ListPartsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketAccelerateConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketAccelerateConfigurationCommand_1.PutBucketAccelerateConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketAcl(args, optionsOrCb, cb) {\n const command = new PutBucketAclCommand_1.PutBucketAclCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketAnalyticsConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketAnalyticsConfigurationCommand_1.PutBucketAnalyticsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketCors(args, optionsOrCb, cb) {\n const command = new PutBucketCorsCommand_1.PutBucketCorsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketEncryption(args, optionsOrCb, cb) {\n const command = new PutBucketEncryptionCommand_1.PutBucketEncryptionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketIntelligentTieringConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketIntelligentTieringConfigurationCommand_1.PutBucketIntelligentTieringConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketInventoryConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketInventoryConfigurationCommand_1.PutBucketInventoryConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketLifecycleConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketLifecycleConfigurationCommand_1.PutBucketLifecycleConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketLogging(args, optionsOrCb, cb) {\n const command = new PutBucketLoggingCommand_1.PutBucketLoggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketMetricsConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketMetricsConfigurationCommand_1.PutBucketMetricsConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketNotificationConfiguration(args, optionsOrCb, cb) {\n const command = new PutBucketNotificationConfigurationCommand_1.PutBucketNotificationConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketOwnershipControls(args, optionsOrCb, cb) {\n const command = new PutBucketOwnershipControlsCommand_1.PutBucketOwnershipControlsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketPolicy(args, optionsOrCb, cb) {\n const command = new PutBucketPolicyCommand_1.PutBucketPolicyCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketReplication(args, optionsOrCb, cb) {\n const command = new PutBucketReplicationCommand_1.PutBucketReplicationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketRequestPayment(args, optionsOrCb, cb) {\n const command = new PutBucketRequestPaymentCommand_1.PutBucketRequestPaymentCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketTagging(args, optionsOrCb, cb) {\n const command = new PutBucketTaggingCommand_1.PutBucketTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketVersioning(args, optionsOrCb, cb) {\n const command = new PutBucketVersioningCommand_1.PutBucketVersioningCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putBucketWebsite(args, optionsOrCb, cb) {\n const command = new PutBucketWebsiteCommand_1.PutBucketWebsiteCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObject(args, optionsOrCb, cb) {\n const command = new PutObjectCommand_1.PutObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectAcl(args, optionsOrCb, cb) {\n const command = new PutObjectAclCommand_1.PutObjectAclCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectLegalHold(args, optionsOrCb, cb) {\n const command = new PutObjectLegalHoldCommand_1.PutObjectLegalHoldCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectLockConfiguration(args, optionsOrCb, cb) {\n const command = new PutObjectLockConfigurationCommand_1.PutObjectLockConfigurationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectRetention(args, optionsOrCb, cb) {\n const command = new PutObjectRetentionCommand_1.PutObjectRetentionCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putObjectTagging(args, optionsOrCb, cb) {\n const command = new PutObjectTaggingCommand_1.PutObjectTaggingCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n putPublicAccessBlock(args, optionsOrCb, cb) {\n const command = new PutPublicAccessBlockCommand_1.PutPublicAccessBlockCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n restoreObject(args, optionsOrCb, cb) {\n const command = new RestoreObjectCommand_1.RestoreObjectCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n selectObjectContent(args, optionsOrCb, cb) {\n const command = new SelectObjectContentCommand_1.SelectObjectContentCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n uploadPart(args, optionsOrCb, cb) {\n const command = new UploadPartCommand_1.UploadPartCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n uploadPartCopy(args, optionsOrCb, cb) {\n const command = new UploadPartCopyCommand_1.UploadPartCopyCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n writeGetObjectResponse(args, optionsOrCb, cb) {\n const command = new WriteGetObjectResponseCommand_1.WriteGetObjectResponseCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n}\nexports.S3 = S3;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3Client = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst eventstream_serde_config_resolver_1 = require(\"@aws-sdk/eventstream-serde-config-resolver\");\nconst middleware_content_length_1 = require(\"@aws-sdk/middleware-content-length\");\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_expect_continue_1 = require(\"@aws-sdk/middleware-expect-continue\");\nconst middleware_host_header_1 = require(\"@aws-sdk/middleware-host-header\");\nconst middleware_logger_1 = require(\"@aws-sdk/middleware-logger\");\nconst middleware_recursion_detection_1 = require(\"@aws-sdk/middleware-recursion-detection\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst middleware_user_agent_1 = require(\"@aws-sdk/middleware-user-agent\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst EndpointParameters_1 = require(\"./endpoint/EndpointParameters\");\nconst runtimeConfig_1 = require(\"./runtimeConfig\");\nclass S3Client extends smithy_client_1.Client {\n constructor(configuration) {\n const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration);\n const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);\n const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1);\n const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);\n const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);\n const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);\n const _config_6 = (0, middleware_signing_1.resolveAwsAuthConfig)(_config_5);\n const _config_7 = (0, middleware_sdk_s3_1.resolveS3Config)(_config_6);\n const _config_8 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_7);\n const _config_9 = (0, eventstream_serde_config_resolver_1.resolveEventStreamSerdeConfig)(_config_8);\n super(_config_9);\n this.config = _config_9;\n this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));\n this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));\n this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));\n this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getValidateBucketNamePlugin)(this.config));\n this.middlewareStack.use((0, middleware_expect_continue_1.getAddExpectContinuePlugin)(this.config));\n this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\nexports.S3Client = S3Client;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbortMultipartUploadCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass AbortMultipartUploadCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, AbortMultipartUploadCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"AbortMultipartUploadCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.AbortMultipartUploadRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.AbortMultipartUploadOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlAbortMultipartUploadCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlAbortMultipartUploadCommand)(output, context);\n }\n}\nexports.AbortMultipartUploadCommand = AbortMultipartUploadCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CompleteMultipartUploadCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass CompleteMultipartUploadCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CompleteMultipartUploadCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getThrow200ExceptionsPlugin)(configuration));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CompleteMultipartUploadCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CompleteMultipartUploadRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CompleteMultipartUploadOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlCompleteMultipartUploadCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlCompleteMultipartUploadCommand)(output, context);\n }\n}\nexports.CompleteMultipartUploadCommand = CompleteMultipartUploadCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CopyObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass CopyObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CopyObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getThrow200ExceptionsPlugin)(configuration));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CopyObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CopyObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CopyObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlCopyObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlCopyObjectCommand)(output, context);\n }\n}\nexports.CopyObjectCommand = CopyObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateBucketCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_location_constraint_1 = require(\"@aws-sdk/middleware-location-constraint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass CreateBucketCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n DisableAccessPoints: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CreateBucketCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_location_constraint_1.getLocationConstraintPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CreateBucketCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CreateBucketRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CreateBucketOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlCreateBucketCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlCreateBucketCommand)(output, context);\n }\n}\nexports.CreateBucketCommand = CreateBucketCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateMultipartUploadCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass CreateMultipartUploadCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CreateMultipartUploadCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CreateMultipartUploadCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CreateMultipartUploadRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CreateMultipartUploadOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlCreateMultipartUploadCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlCreateMultipartUploadCommand)(output, context);\n }\n}\nexports.CreateMultipartUploadCommand = CreateMultipartUploadCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketAnalyticsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketAnalyticsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketAnalyticsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketAnalyticsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand)(output, context);\n }\n}\nexports.DeleteBucketAnalyticsConfigurationCommand = DeleteBucketAnalyticsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketCommand)(output, context);\n }\n}\nexports.DeleteBucketCommand = DeleteBucketCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketCorsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketCorsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketCorsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketCorsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketCorsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketCorsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketCorsCommand)(output, context);\n }\n}\nexports.DeleteBucketCorsCommand = DeleteBucketCorsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketEncryptionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketEncryptionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketEncryptionCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketEncryptionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketEncryptionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketEncryptionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketEncryptionCommand)(output, context);\n }\n}\nexports.DeleteBucketEncryptionCommand = DeleteBucketEncryptionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketIntelligentTieringConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketIntelligentTieringConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketIntelligentTieringConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketIntelligentTieringConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand)(output, context);\n }\n}\nexports.DeleteBucketIntelligentTieringConfigurationCommand = DeleteBucketIntelligentTieringConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketInventoryConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketInventoryConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketInventoryConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketInventoryConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketInventoryConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketInventoryConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand)(output, context);\n }\n}\nexports.DeleteBucketInventoryConfigurationCommand = DeleteBucketInventoryConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketLifecycleCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketLifecycleCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketLifecycleCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketLifecycleCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketLifecycleRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketLifecycleCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketLifecycleCommand)(output, context);\n }\n}\nexports.DeleteBucketLifecycleCommand = DeleteBucketLifecycleCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketMetricsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketMetricsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketMetricsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketMetricsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketMetricsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketMetricsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand)(output, context);\n }\n}\nexports.DeleteBucketMetricsConfigurationCommand = DeleteBucketMetricsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketOwnershipControlsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketOwnershipControlsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketOwnershipControlsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketOwnershipControlsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketOwnershipControlsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketOwnershipControlsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketOwnershipControlsCommand)(output, context);\n }\n}\nexports.DeleteBucketOwnershipControlsCommand = DeleteBucketOwnershipControlsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketPolicyCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketPolicyCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketPolicyCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketPolicyCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketPolicyRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketPolicyCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketPolicyCommand)(output, context);\n }\n}\nexports.DeleteBucketPolicyCommand = DeleteBucketPolicyCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketReplicationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketReplicationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketReplicationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketReplicationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketReplicationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketReplicationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketReplicationCommand)(output, context);\n }\n}\nexports.DeleteBucketReplicationCommand = DeleteBucketReplicationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketTaggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketTaggingCommand)(output, context);\n }\n}\nexports.DeleteBucketTaggingCommand = DeleteBucketTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteBucketWebsiteCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteBucketWebsiteCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteBucketWebsiteCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteBucketWebsiteCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteBucketWebsiteRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteBucketWebsiteCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteBucketWebsiteCommand)(output, context);\n }\n}\nexports.DeleteBucketWebsiteCommand = DeleteBucketWebsiteCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteObjectCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.DeleteObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteObjectCommand)(output, context);\n }\n}\nexports.DeleteObjectCommand = DeleteObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteObjectTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteObjectTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteObjectTaggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteObjectTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteObjectTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.DeleteObjectTaggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteObjectTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteObjectTaggingCommand)(output, context);\n }\n}\nexports.DeleteObjectTaggingCommand = DeleteObjectTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteObjectsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeleteObjectsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeleteObjectsCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteObjectsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeleteObjectsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.DeleteObjectsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeleteObjectsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeleteObjectsCommand)(output, context);\n }\n}\nexports.DeleteObjectsCommand = DeleteObjectsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeletePublicAccessBlockCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass DeletePublicAccessBlockCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DeletePublicAccessBlockCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeletePublicAccessBlockCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DeletePublicAccessBlockRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlDeletePublicAccessBlockCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlDeletePublicAccessBlockCommand)(output, context);\n }\n}\nexports.DeletePublicAccessBlockCommand = DeletePublicAccessBlockCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketAccelerateConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketAccelerateConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketAccelerateConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketAccelerateConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketAccelerateConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketAccelerateConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketAccelerateConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketAccelerateConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketAccelerateConfigurationCommand = GetBucketAccelerateConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketAclCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketAclCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketAclCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketAclCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketAclRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketAclOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketAclCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketAclCommand)(output, context);\n }\n}\nexports.GetBucketAclCommand = GetBucketAclCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketAnalyticsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketAnalyticsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketAnalyticsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketAnalyticsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketAnalyticsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketAnalyticsConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketAnalyticsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketAnalyticsConfigurationCommand = GetBucketAnalyticsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketCorsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketCorsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketCorsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketCorsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketCorsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketCorsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketCorsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketCorsCommand)(output, context);\n }\n}\nexports.GetBucketCorsCommand = GetBucketCorsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketEncryptionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketEncryptionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketEncryptionCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketEncryptionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketEncryptionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketEncryptionOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketEncryptionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketEncryptionCommand)(output, context);\n }\n}\nexports.GetBucketEncryptionCommand = GetBucketEncryptionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketIntelligentTieringConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketIntelligentTieringConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketIntelligentTieringConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketIntelligentTieringConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketIntelligentTieringConfigurationCommand = GetBucketIntelligentTieringConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketInventoryConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketInventoryConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketInventoryConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketInventoryConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketInventoryConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketInventoryConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketInventoryConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketInventoryConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketInventoryConfigurationCommand = GetBucketInventoryConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketLifecycleConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketLifecycleConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketLifecycleConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketLifecycleConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketLifecycleConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketLifecycleConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketLifecycleConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketLifecycleConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketLifecycleConfigurationCommand = GetBucketLifecycleConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketLocationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketLocationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketLocationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketLocationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketLocationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketLocationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketLocationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketLocationCommand)(output, context);\n }\n}\nexports.GetBucketLocationCommand = GetBucketLocationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketLoggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketLoggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketLoggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketLoggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketLoggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketLoggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketLoggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketLoggingCommand)(output, context);\n }\n}\nexports.GetBucketLoggingCommand = GetBucketLoggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketMetricsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketMetricsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketMetricsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketMetricsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketMetricsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketMetricsConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketMetricsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketMetricsConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketMetricsConfigurationCommand = GetBucketMetricsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketNotificationConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketNotificationConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketNotificationConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketNotificationConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketNotificationConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.NotificationConfigurationFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketNotificationConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketNotificationConfigurationCommand)(output, context);\n }\n}\nexports.GetBucketNotificationConfigurationCommand = GetBucketNotificationConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketOwnershipControlsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketOwnershipControlsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketOwnershipControlsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketOwnershipControlsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketOwnershipControlsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketOwnershipControlsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketOwnershipControlsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketOwnershipControlsCommand)(output, context);\n }\n}\nexports.GetBucketOwnershipControlsCommand = GetBucketOwnershipControlsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketPolicyCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketPolicyCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketPolicyCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketPolicyCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketPolicyRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketPolicyOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketPolicyCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketPolicyCommand)(output, context);\n }\n}\nexports.GetBucketPolicyCommand = GetBucketPolicyCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketPolicyStatusCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketPolicyStatusCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketPolicyStatusCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketPolicyStatusCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketPolicyStatusRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketPolicyStatusOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketPolicyStatusCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketPolicyStatusCommand)(output, context);\n }\n}\nexports.GetBucketPolicyStatusCommand = GetBucketPolicyStatusCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketReplicationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketReplicationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketReplicationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketReplicationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketReplicationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketReplicationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketReplicationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketReplicationCommand)(output, context);\n }\n}\nexports.GetBucketReplicationCommand = GetBucketReplicationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketRequestPaymentCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketRequestPaymentCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketRequestPaymentCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketRequestPaymentCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketRequestPaymentRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketRequestPaymentOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketRequestPaymentCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketRequestPaymentCommand)(output, context);\n }\n}\nexports.GetBucketRequestPaymentCommand = GetBucketRequestPaymentCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketTaggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketTaggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketTaggingCommand)(output, context);\n }\n}\nexports.GetBucketTaggingCommand = GetBucketTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketVersioningCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketVersioningCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketVersioningCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketVersioningCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketVersioningRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketVersioningOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketVersioningCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketVersioningCommand)(output, context);\n }\n}\nexports.GetBucketVersioningCommand = GetBucketVersioningCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetBucketWebsiteCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetBucketWebsiteCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetBucketWebsiteCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetBucketWebsiteCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetBucketWebsiteRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetBucketWebsiteOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetBucketWebsiteCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetBucketWebsiteCommand)(output, context);\n }\n}\nexports.GetBucketWebsiteCommand = GetBucketWebsiteCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectAclCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectAclCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectAclCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectAclCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectAclRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectAclOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectAclCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectAclCommand)(output, context);\n }\n}\nexports.GetObjectAclCommand = GetObjectAclCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectAttributesCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectAttributesCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectAttributesCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectAttributesCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectAttributesRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectAttributesOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectAttributesCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectAttributesCommand)(output, context);\n }\n}\nexports.GetObjectAttributesCommand = GetObjectAttributesCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestChecksumRequired: false,\n requestValidationModeMember: \"ChecksumMode\",\n responseAlgorithms: [\"CRC32\", \"CRC32C\", \"SHA256\", \"SHA1\"],\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectCommand)(output, context);\n }\n}\nexports.GetObjectCommand = GetObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectLegalHoldCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectLegalHoldCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectLegalHoldCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectLegalHoldCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectLegalHoldRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectLegalHoldOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectLegalHoldCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectLegalHoldCommand)(output, context);\n }\n}\nexports.GetObjectLegalHoldCommand = GetObjectLegalHoldCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectLockConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectLockConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectLockConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectLockConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectLockConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectLockConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectLockConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectLockConfigurationCommand)(output, context);\n }\n}\nexports.GetObjectLockConfigurationCommand = GetObjectLockConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectRetentionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectRetentionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectRetentionCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectRetentionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectRetentionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectRetentionOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectRetentionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectRetentionCommand)(output, context);\n }\n}\nexports.GetObjectRetentionCommand = GetObjectRetentionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectTaggingCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectTaggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectTaggingCommand)(output, context);\n }\n}\nexports.GetObjectTaggingCommand = GetObjectTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetObjectTorrentCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetObjectTorrentCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetObjectTorrentCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectTorrentCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetObjectTorrentRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetObjectTorrentOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetObjectTorrentCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetObjectTorrentCommand)(output, context);\n }\n}\nexports.GetObjectTorrentCommand = GetObjectTorrentCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetPublicAccessBlockCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass GetPublicAccessBlockCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetPublicAccessBlockCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetPublicAccessBlockCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetPublicAccessBlockRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetPublicAccessBlockOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlGetPublicAccessBlockCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlGetPublicAccessBlockCommand)(output, context);\n }\n}\nexports.GetPublicAccessBlockCommand = GetPublicAccessBlockCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeadBucketCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass HeadBucketCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, HeadBucketCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"HeadBucketCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.HeadBucketRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlHeadBucketCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlHeadBucketCommand)(output, context);\n }\n}\nexports.HeadBucketCommand = HeadBucketCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeadObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass HeadObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, HeadObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"HeadObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.HeadObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.HeadObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlHeadObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlHeadObjectCommand)(output, context);\n }\n}\nexports.HeadObjectCommand = HeadObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketAnalyticsConfigurationsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketAnalyticsConfigurationsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketAnalyticsConfigurationsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketAnalyticsConfigurationsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketAnalyticsConfigurationsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand)(output, context);\n }\n}\nexports.ListBucketAnalyticsConfigurationsCommand = ListBucketAnalyticsConfigurationsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketIntelligentTieringConfigurationsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketIntelligentTieringConfigurationsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketIntelligentTieringConfigurationsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketIntelligentTieringConfigurationsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand)(output, context);\n }\n}\nexports.ListBucketIntelligentTieringConfigurationsCommand = ListBucketIntelligentTieringConfigurationsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketInventoryConfigurationsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketInventoryConfigurationsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketInventoryConfigurationsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketInventoryConfigurationsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListBucketInventoryConfigurationsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListBucketInventoryConfigurationsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketInventoryConfigurationsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketInventoryConfigurationsCommand)(output, context);\n }\n}\nexports.ListBucketInventoryConfigurationsCommand = ListBucketInventoryConfigurationsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketMetricsConfigurationsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketMetricsConfigurationsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketMetricsConfigurationsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketMetricsConfigurationsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListBucketMetricsConfigurationsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListBucketMetricsConfigurationsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketMetricsConfigurationsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketMetricsConfigurationsCommand)(output, context);\n }\n}\nexports.ListBucketMetricsConfigurationsCommand = ListBucketMetricsConfigurationsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListBucketsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListBucketsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListBucketsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListBucketsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: (input) => input,\n outputFilterSensitiveLog: models_0_1.ListBucketsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListBucketsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListBucketsCommand)(output, context);\n }\n}\nexports.ListBucketsCommand = ListBucketsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListMultipartUploadsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListMultipartUploadsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListMultipartUploadsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListMultipartUploadsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListMultipartUploadsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListMultipartUploadsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListMultipartUploadsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListMultipartUploadsCommand)(output, context);\n }\n}\nexports.ListMultipartUploadsCommand = ListMultipartUploadsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListObjectVersionsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListObjectVersionsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListObjectVersionsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListObjectVersionsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListObjectVersionsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListObjectVersionsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListObjectVersionsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListObjectVersionsCommand)(output, context);\n }\n}\nexports.ListObjectVersionsCommand = ListObjectVersionsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListObjectsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListObjectsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListObjectsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListObjectsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListObjectsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListObjectsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListObjectsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListObjectsCommand)(output, context);\n }\n}\nexports.ListObjectsCommand = ListObjectsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListObjectsV2Command = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListObjectsV2Command extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListObjectsV2Command.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListObjectsV2Command\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListObjectsV2RequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListObjectsV2OutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListObjectsV2Command)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListObjectsV2Command)(output, context);\n }\n}\nexports.ListObjectsV2Command = ListObjectsV2Command;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListPartsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass ListPartsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListPartsCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListPartsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListPartsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListPartsOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlListPartsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlListPartsCommand)(output, context);\n }\n}\nexports.ListPartsCommand = ListPartsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketAccelerateConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketAccelerateConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketAccelerateConfigurationCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: false,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketAccelerateConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketAccelerateConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketAccelerateConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketAccelerateConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketAccelerateConfigurationCommand = PutBucketAccelerateConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketAclCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketAclCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketAclCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketAclCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketAclRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketAclCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketAclCommand)(output, context);\n }\n}\nexports.PutBucketAclCommand = PutBucketAclCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketAnalyticsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketAnalyticsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketAnalyticsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketAnalyticsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketAnalyticsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketAnalyticsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketAnalyticsConfigurationCommand = PutBucketAnalyticsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketCorsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketCorsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketCorsCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketCorsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketCorsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketCorsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketCorsCommand)(output, context);\n }\n}\nexports.PutBucketCorsCommand = PutBucketCorsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketEncryptionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketEncryptionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketEncryptionCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketEncryptionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketEncryptionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketEncryptionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketEncryptionCommand)(output, context);\n }\n}\nexports.PutBucketEncryptionCommand = PutBucketEncryptionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketIntelligentTieringConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketIntelligentTieringConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketIntelligentTieringConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketIntelligentTieringConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketIntelligentTieringConfigurationCommand = PutBucketIntelligentTieringConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketInventoryConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketInventoryConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketInventoryConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketInventoryConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketInventoryConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketInventoryConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketInventoryConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketInventoryConfigurationCommand = PutBucketInventoryConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketLifecycleConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketLifecycleConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketLifecycleConfigurationCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketLifecycleConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketLifecycleConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketLifecycleConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketLifecycleConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketLifecycleConfigurationCommand = PutBucketLifecycleConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketLoggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketLoggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketLoggingCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketLoggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketLoggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketLoggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketLoggingCommand)(output, context);\n }\n}\nexports.PutBucketLoggingCommand = PutBucketLoggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketMetricsConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketMetricsConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketMetricsConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketMetricsConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketMetricsConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketMetricsConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketMetricsConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketMetricsConfigurationCommand = PutBucketMetricsConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketNotificationConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketNotificationConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketNotificationConfigurationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketNotificationConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketNotificationConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketNotificationConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketNotificationConfigurationCommand)(output, context);\n }\n}\nexports.PutBucketNotificationConfigurationCommand = PutBucketNotificationConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketOwnershipControlsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketOwnershipControlsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketOwnershipControlsCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, { input: this.input, requestChecksumRequired: true }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketOwnershipControlsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketOwnershipControlsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketOwnershipControlsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketOwnershipControlsCommand)(output, context);\n }\n}\nexports.PutBucketOwnershipControlsCommand = PutBucketOwnershipControlsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketPolicyCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketPolicyCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketPolicyCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketPolicyCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketPolicyRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketPolicyCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketPolicyCommand)(output, context);\n }\n}\nexports.PutBucketPolicyCommand = PutBucketPolicyCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketReplicationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketReplicationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketReplicationCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketReplicationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketReplicationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketReplicationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketReplicationCommand)(output, context);\n }\n}\nexports.PutBucketReplicationCommand = PutBucketReplicationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketRequestPaymentCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketRequestPaymentCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketRequestPaymentCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketRequestPaymentCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketRequestPaymentRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketRequestPaymentCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketRequestPaymentCommand)(output, context);\n }\n}\nexports.PutBucketRequestPaymentCommand = PutBucketRequestPaymentCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketTaggingCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketTaggingCommand)(output, context);\n }\n}\nexports.PutBucketTaggingCommand = PutBucketTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketVersioningCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketVersioningCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketVersioningCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketVersioningCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketVersioningRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketVersioningCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketVersioningCommand)(output, context);\n }\n}\nexports.PutBucketVersioningCommand = PutBucketVersioningCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutBucketWebsiteCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutBucketWebsiteCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutBucketWebsiteCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutBucketWebsiteCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutBucketWebsiteRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutBucketWebsiteCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutBucketWebsiteCommand)(output, context);\n }\n}\nexports.PutBucketWebsiteCommand = PutBucketWebsiteCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectAclCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectAclCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectAclCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectAclCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutObjectAclRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.PutObjectAclOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectAclCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectAclCommand)(output, context);\n }\n}\nexports.PutObjectAclCommand = PutObjectAclCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getCheckContentLengthHeaderPlugin)(configuration));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: false,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.PutObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectCommand)(output, context);\n }\n}\nexports.PutObjectCommand = PutObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectLegalHoldCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectLegalHoldCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectLegalHoldCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectLegalHoldCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutObjectLegalHoldRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.PutObjectLegalHoldOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectLegalHoldCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectLegalHoldCommand)(output, context);\n }\n}\nexports.PutObjectLegalHoldCommand = PutObjectLegalHoldCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectLockConfigurationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectLockConfigurationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectLockConfigurationCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectLockConfigurationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.PutObjectLockConfigurationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.PutObjectLockConfigurationOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectLockConfigurationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectLockConfigurationCommand)(output, context);\n }\n}\nexports.PutObjectLockConfigurationCommand = PutObjectLockConfigurationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectRetentionCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectRetentionCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectRetentionCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectRetentionCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.PutObjectRetentionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.PutObjectRetentionOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectRetentionCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectRetentionCommand)(output, context);\n }\n}\nexports.PutObjectRetentionCommand = PutObjectRetentionCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutObjectTaggingCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutObjectTaggingCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutObjectTaggingCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectTaggingCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.PutObjectTaggingRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.PutObjectTaggingOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutObjectTaggingCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutObjectTaggingCommand)(output, context);\n }\n}\nexports.PutObjectTaggingCommand = PutObjectTaggingCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PutPublicAccessBlockCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass PutPublicAccessBlockCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, PutPublicAccessBlockCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: true,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutPublicAccessBlockCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.PutPublicAccessBlockRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlPutPublicAccessBlockCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlPutPublicAccessBlockCommand)(output, context);\n }\n}\nexports.PutPublicAccessBlockCommand = PutPublicAccessBlockCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestoreObjectCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass RestoreObjectCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, RestoreObjectCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: false,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"RestoreObjectCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.RestoreObjectRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.RestoreObjectOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlRestoreObjectCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlRestoreObjectCommand)(output, context);\n }\n}\nexports.RestoreObjectCommand = RestoreObjectCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SelectObjectContentCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass SelectObjectContentCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, SelectObjectContentCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"SelectObjectContentCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.SelectObjectContentRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.SelectObjectContentOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlSelectObjectContentCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlSelectObjectContentCommand)(output, context);\n }\n}\nexports.SelectObjectContentCommand = SelectObjectContentCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UploadPartCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_flexible_checksums_1 = require(\"@aws-sdk/middleware-flexible-checksums\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass UploadPartCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, UploadPartCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n this.middlewareStack.use((0, middleware_flexible_checksums_1.getFlexibleChecksumsPlugin)(configuration, {\n input: this.input,\n requestAlgorithmMember: \"ChecksumAlgorithm\",\n requestChecksumRequired: false,\n }));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"UploadPartCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.UploadPartRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.UploadPartOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlUploadPartCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlUploadPartCommand)(output, context);\n }\n}\nexports.UploadPartCommand = UploadPartCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UploadPartCopyCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_sdk_s3_1 = require(\"@aws-sdk/middleware-sdk-s3\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_ssec_1 = require(\"@aws-sdk/middleware-ssec\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass UploadPartCopyCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, UploadPartCopyCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_sdk_s3_1.getThrow200ExceptionsPlugin)(configuration));\n this.middlewareStack.use((0, middleware_ssec_1.getSsecPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"UploadPartCopyCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.UploadPartCopyRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_1_1.UploadPartCopyOutputFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlUploadPartCopyCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlUploadPartCopyCommand)(output, context);\n }\n}\nexports.UploadPartCopyCommand = UploadPartCopyCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WriteGetObjectResponseCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_1_1 = require(\"../models/models_1\");\nconst Aws_restXml_1 = require(\"../protocols/Aws_restXml\");\nclass WriteGetObjectResponseCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseObjectLambdaEndpoint: { type: \"staticContextParams\", value: true },\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, WriteGetObjectResponseCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"WriteGetObjectResponseCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_1_1.WriteGetObjectResponseRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restXml_1.serializeAws_restXmlWriteGetObjectResponseCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restXml_1.deserializeAws_restXmlWriteGetObjectResponseCommand)(output, context);\n }\n}\nexports.WriteGetObjectResponseCommand = WriteGetObjectResponseCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AbortMultipartUploadCommand\"), exports);\ntslib_1.__exportStar(require(\"./CompleteMultipartUploadCommand\"), exports);\ntslib_1.__exportStar(require(\"./CopyObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./CreateBucketCommand\"), exports);\ntslib_1.__exportStar(require(\"./CreateMultipartUploadCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketAnalyticsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketCorsCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketEncryptionCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketIntelligentTieringConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketInventoryConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketLifecycleCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketMetricsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketOwnershipControlsCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketPolicyCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketReplicationCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteBucketWebsiteCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteObjectTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeleteObjectsCommand\"), exports);\ntslib_1.__exportStar(require(\"./DeletePublicAccessBlockCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketAccelerateConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketAclCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketAnalyticsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketCorsCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketEncryptionCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketIntelligentTieringConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketInventoryConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketLifecycleConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketLocationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketLoggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketMetricsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketNotificationConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketOwnershipControlsCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketPolicyCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketPolicyStatusCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketReplicationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketRequestPaymentCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketVersioningCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetBucketWebsiteCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectAclCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectAttributesCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectLegalHoldCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectLockConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectRetentionCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetObjectTorrentCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetPublicAccessBlockCommand\"), exports);\ntslib_1.__exportStar(require(\"./HeadBucketCommand\"), exports);\ntslib_1.__exportStar(require(\"./HeadObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketAnalyticsConfigurationsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketIntelligentTieringConfigurationsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketInventoryConfigurationsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketMetricsConfigurationsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListBucketsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListMultipartUploadsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListObjectVersionsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListObjectsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListObjectsV2Command\"), exports);\ntslib_1.__exportStar(require(\"./ListPartsCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketAccelerateConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketAclCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketAnalyticsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketCorsCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketEncryptionCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketIntelligentTieringConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketInventoryConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketLifecycleConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketLoggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketMetricsConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketNotificationConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketOwnershipControlsCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketPolicyCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketReplicationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketRequestPaymentCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketVersioningCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutBucketWebsiteCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectAclCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectLegalHoldCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectLockConfigurationCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectRetentionCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutObjectTaggingCommand\"), exports);\ntslib_1.__exportStar(require(\"./PutPublicAccessBlockCommand\"), exports);\ntslib_1.__exportStar(require(\"./RestoreObjectCommand\"), exports);\ntslib_1.__exportStar(require(\"./SelectObjectContentCommand\"), exports);\ntslib_1.__exportStar(require(\"./UploadPartCommand\"), exports);\ntslib_1.__exportStar(require(\"./UploadPartCopyCommand\"), exports);\ntslib_1.__exportStar(require(\"./WriteGetObjectResponseCommand\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveClientEndpointParameters = void 0;\nconst resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useAccelerateEndpoint: options.useAccelerateEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n disableMultiregionAccessPoints: options.disableMultiregionAccessPoints ?? false,\n defaultSigningName: \"s3\",\n };\n};\nexports.resolveClientEndpointParameters = resolveClientEndpointParameters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst bV = \"required\", bW = \"type\", bX = \"rules\", bY = \"conditions\", bZ = \"fn\", ca = \"argv\", cb = \"ref\", cc = \"assign\", cd = \"url\", ce = \"properties\", cf = \"authSchemes\", cg = \"signingRegion\", ch = \"signingName\", ci = \"disableDoubleEncoding\", cj = \"headers\";\nconst a = false, b = true, c = \"tree\", d = \"isSet\", e = \"substring\", f = \"hardwareType\", g = \"regionPrefix\", h = \"abbaSuffix\", i = \"outpostId\", j = \"aws.partition\", k = \"stringEquals\", l = \"isValidHostLabel\", m = \"not\", n = \"error\", o = \"parseURL\", p = \"s3-outposts\", q = \"endpoint\", r = \"booleanEquals\", s = \"aws.parseArn\", t = \"s3\", u = \"aws.isVirtualHostableS3Bucket\", v = \"getAttr\", w = \"name\", x = \"Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate\", y = \"https://{Bucket}.s3.{partitionResult#dnsSuffix}\", z = \"bucketArn\", A = \"arnType\", B = \"\", C = \"s3-object-lambda\", D = \"accesspoint\", E = \"accessPointName\", F = \"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}\", G = \"mrapPartition\", H = \"outpostType\", I = \"arnPrefix\", J = \"{url#scheme}://{url#authority}{url#path}\", K = \"https://s3.{partitionResult#dnsSuffix}\", L = { [bV]: false, [bW]: \"String\" }, M = { [bV]: true, \"default\": false, [bW]: \"Boolean\" }, N = { [bV]: false, [bW]: \"Boolean\" }, O = { [bZ]: d, [ca]: [{ [cb]: \"Bucket\" }] }, P = { [cb]: \"Bucket\" }, Q = { [cb]: f }, R = { [bY]: [{ [bZ]: m, [ca]: [{ [bZ]: d, [ca]: [{ [cb]: \"Endpoint\" }] }] }], [n]: \"Expected a endpoint to be specified but no endpoint was found\", [bW]: n }, S = { [bZ]: m, [ca]: [{ [bZ]: d, [ca]: [{ [cb]: \"Endpoint\" }] }] }, T = { [bZ]: d, [ca]: [{ [cb]: \"Endpoint\" }] }, U = { [bZ]: o, [ca]: [{ [cb]: \"Endpoint\" }], [cc]: \"url\" }, V = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: p, [ci]: true }] }, W = {}, X = { [cb]: \"ForcePathStyle\" }, Y = { [bY]: [{ [bZ]: \"uriEncode\", [ca]: [P], [cc]: \"uri_encoded_bucket\" }], [bW]: c, [bX]: [{ [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, T], [n]: \"Cannot set dual-stack in combination with a custom endpoint.\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: j, [ca]: [{ [cb]: \"Region\" }], [cc]: \"partitionResult\" }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"Accelerate\" }, false] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [q]: { [cd]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [q]: { [cd]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [q]: { [cd]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"us-east-1\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, T, U, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }], [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"us-east-1\"] }], [q]: { [cd]: \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, { [q]: { [cd]: \"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }, { [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, S, { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }], [q]: { [cd]: \"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }] }] }, { [n]: \"Path-style addressing cannot be used with S3 Accelerate\", [bW]: n }] }] }, { [n]: \"A valid partition could not be determined\", [bW]: n }] }] }, Z = { [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, true] }, aa = { [bZ]: r, [ca]: [{ [cb]: \"Accelerate\" }, false] }, ab = { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, true] }, ac = { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }] }, ad = { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, true] }, ae = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: t, [ci]: true }] }, af = { [bZ]: r, [ca]: [{ [cb]: \"UseGlobalEndpoint\" }, false] }, ag = { [bZ]: r, [ca]: [{ [cb]: \"UseDualStack\" }, false] }, ah = { [bZ]: r, [ca]: [{ [cb]: \"UseFIPS\" }, false] }, ai = { [n]: \"A valid partition could not be determined\", [bW]: n }, aj = { [bY]: [ab, { [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: \"partitionResult\" }, w] }, \"aws-cn\"] }], [n]: \"Partition does not support FIPS\", [bW]: n }, ak = { [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: \"partitionResult\" }, w] }, \"aws-cn\"] }, al = { [bZ]: r, [ca]: [{ [cb]: \"Accelerate\" }, true] }, am = { [bY]: [Z, ab, aa, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, an = { [cd]: \"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, ao = { [bY]: [ag, ab, aa, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, ap = { [cd]: \"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, aq = { [bY]: [Z, ah, al, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, ar = { [cd]: \"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, as = { [bY]: [Z, ah, aa, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, at = { [cd]: \"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, au = { [bY]: [ag, ah, aa, T, U, { [bZ]: r, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: \"url\" }, \"isIp\"] }, true] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, av = { [bZ]: r, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: \"url\" }, \"isIp\"] }, true] }, aw = { [cb]: \"url\" }, ax = { [bY]: [ag, ah, aa, T, U, { [bZ]: r, [ca]: [{ [bZ]: v, [ca]: [aw, \"isIp\"] }, false] }, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"{url#scheme}://{Bucket}.{url#authority}{url#path}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, ay = { [bZ]: r, [ca]: [{ [bZ]: v, [ca]: [aw, \"isIp\"] }, false] }, az = { [cd]: \"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}\", [ce]: ae, [cj]: {} }, aA = { [cd]: \"{url#scheme}://{Bucket}.{url#authority}{url#path}\", [ce]: ae, [cj]: {} }, aB = { [q]: aA, [bW]: q }, aC = { [bY]: [ag, ah, al, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, aD = { [cd]: \"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, aE = { [bY]: [ag, ah, aa, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: y, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, aF = { [cd]: \"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, aG = { [n]: \"Invalid region: region was not a valid DNS name.\", [bW]: n }, aH = { [cb]: z }, aI = { [cb]: A }, aJ = { [bZ]: v, [ca]: [aH, \"service\"] }, aK = { [cb]: E }, aL = { [bY]: [Z], [n]: \"S3 Object Lambda does not support Dual-stack\", [bW]: n }, aM = { [bY]: [al], [n]: \"S3 Object Lambda does not support S3 Accelerate\", [bW]: n }, aN = { [bY]: [{ [bZ]: d, [ca]: [{ [cb]: \"DisableAccessPoints\" }] }, { [bZ]: r, [ca]: [{ [cb]: \"DisableAccessPoints\" }, true] }], [n]: \"Access points are not supported for this operation\", [bW]: n }, aO = { [bY]: [{ [bZ]: d, [ca]: [{ [cb]: \"UseArnRegion\" }] }, { [bZ]: r, [ca]: [{ [cb]: \"UseArnRegion\" }, false] }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [aH, \"region\"] }, \"{Region}\"] }] }], [n]: \"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`\", [bW]: n }, aP = { [bZ]: v, [ca]: [{ [cb]: \"bucketPartition\" }, w] }, aQ = { [bZ]: v, [ca]: [aH, \"accountId\"] }, aR = { [bY]: [ab, { [bZ]: k, [ca]: [aP, \"aws-cn\"] }], [n]: \"Partition does not support FIPS\", [bW]: n }, aS = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{bucketArn#region}\", [ch]: C, [ci]: true }] }, aT = { [n]: \"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`\", [bW]: n }, aU = { [n]: \"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`\", [bW]: n }, aV = { [n]: \"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)\", [bW]: n }, aW = { [n]: \"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`\", [bW]: n }, aX = { [n]: \"Could not load partition for ARN region `{bucketArn#region}`\", [bW]: n }, aY = { [n]: \"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.\", [bW]: n }, aZ = { [n]: \"Invalid ARN: bucket ARN is missing a region\", [bW]: n }, ba = { [n]: \"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided\", [bW]: n }, bb = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{bucketArn#region}\", [ch]: t, [ci]: true }] }, bc = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{bucketArn#region}\", [ch]: p, [ci]: true }] }, bd = { [cb]: \"UseObjectLambdaEndpoint\" }, be = { [cf]: [{ [w]: \"sigv4\", [cg]: \"{Region}\", [ch]: C, [ci]: true }] }, bf = { [bY]: [ab, Z, T, U, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: J, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bg = { [q]: { [cd]: J, [ce]: ae, [cj]: {} }, [bW]: q }, bh = { [cd]: J, [ce]: ae, [cj]: {} }, bi = { [bY]: [ab, Z, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bj = { [cd]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, bk = { [bY]: [ab, ag, T, U, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: J, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bl = { [bY]: [ab, ag, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bm = { [cd]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, bn = { [bY]: [ah, Z, T, U, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: J, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bo = { [bY]: [ah, Z, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bp = { [cd]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, bq = { [bY]: [ah, ag, T, U, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: J, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, br = { [bY]: [ah, ag, S, { [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"aws-global\"] }], [q]: { [cd]: K, [ce]: { [cf]: [{ [w]: \"sigv4\", [cg]: \"us-east-1\", [ch]: t, [ci]: true }] }, [cj]: {} }, [bW]: q }, bs = { [cd]: \"https://s3.{Region}.{partitionResult#dnsSuffix}\", [ce]: ae, [cj]: {} }, bt = [{ [cb]: \"Region\" }], bu = [P], bv = [{ [bZ]: l, [ca]: [{ [cb]: i }, false] }], bw = [{ [bZ]: k, [ca]: [{ [cb]: g }, \"beta\"] }], bx = [{ [cb]: \"Endpoint\" }], by = [T, U], bz = [O], bA = [{ [bZ]: s, [ca]: [P] }], bB = [Z, T], bC = [{ [bZ]: j, [ca]: bt, [cc]: \"partitionResult\" }], bD = [{ [bZ]: k, [ca]: [{ [cb]: \"Region\" }, \"us-east-1\"] }], bE = [{ [bZ]: l, [ca]: [{ [cb]: \"Region\" }, false] }], bF = [{ [bZ]: k, [ca]: [aI, D] }], bG = [{ [bZ]: v, [ca]: [aH, \"resourceId[1]\"], [cc]: E }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [aK, B] }] }], bH = [aH, \"resourceId[1]\"], bI = [Z], bJ = [al], bK = [{ [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [aH, \"region\"] }, B] }] }], bL = [{ [bZ]: m, [ca]: [{ [bZ]: d, [ca]: [{ [bZ]: v, [ca]: [aH, \"resourceId[2]\"] }] }] }], bM = [aH, \"resourceId[2]\"], bN = [{ [bZ]: j, [ca]: [{ [bZ]: v, [ca]: [aH, \"region\"] }], [cc]: \"bucketPartition\" }], bO = [{ [bZ]: k, [ca]: [aP, { [bZ]: v, [ca]: [{ [cb]: \"partitionResult\" }, w] }] }], bP = [{ [bZ]: l, [ca]: [{ [bZ]: v, [ca]: [aH, \"region\"] }, true] }], bQ = [{ [bZ]: l, [ca]: [aQ, false] }], bR = [{ [bZ]: l, [ca]: [aK, false] }], bS = [ab], bT = [{ [bZ]: l, [ca]: [{ [cb]: \"Region\" }, true] }], bU = [bg];\nconst _data = { version: \"1.0\", parameters: { Bucket: L, Region: L, UseFIPS: M, UseDualStack: M, Endpoint: L, ForcePathStyle: N, Accelerate: M, UseGlobalEndpoint: M, UseObjectLambdaEndpoint: N, DisableAccessPoints: N, DisableMultiRegionAccessPoints: M, UseArnRegion: N }, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: d, [ca]: bt }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [O, { [bZ]: e, [ca]: [P, 49, 50, b], [cc]: f }, { [bZ]: e, [ca]: [P, 8, 12, b], [cc]: g }, { [bZ]: e, [ca]: [P, 0, 7, b], [cc]: h }, { [bZ]: e, [ca]: [P, 32, 49, b], [cc]: i }, { [bZ]: j, [ca]: bt, [cc]: \"regionPartition\" }, { [bZ]: k, [ca]: [{ [cb]: h }, \"--op-s3\"] }], [bW]: c, [bX]: [{ [bY]: bv, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [Q, \"e\"] }], [bW]: c, [bX]: [{ [bY]: bw, [bW]: c, [bX]: [R, { [bY]: by, endpoint: { [cd]: \"https://{Bucket}.ec2.{url#authority}\", [ce]: V, [cj]: W }, [bW]: q }] }, { endpoint: { [cd]: \"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [ce]: V, [cj]: W }, [bW]: q }] }, { [bY]: [{ [bZ]: k, [ca]: [Q, \"o\"] }], [bW]: c, [bX]: [{ [bY]: bw, [bW]: c, [bX]: [R, { [bY]: by, endpoint: { [cd]: \"https://{Bucket}.op-{outpostId}.{url#authority}\", [ce]: V, [cj]: W }, [bW]: q }] }, { endpoint: { [cd]: \"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [ce]: V, [cj]: W }, [bW]: q }] }, { error: \"Unrecognized hardware type: \\\"Expected hardware type o or e but got {hardwareType}\\\"\", [bW]: n }] }] }, { error: \"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.\", [bW]: n }] }, { [bY]: bz, [bW]: c, [bX]: [{ [bY]: [T, { [bZ]: m, [ca]: [{ [bZ]: d, [ca]: [{ [bZ]: o, [ca]: bx }] }] }], error: \"Custom endpoint `{Endpoint}` was not a valid URI\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: d, [ca]: [X] }, { [bZ]: r, [ca]: [X, b] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bA, error: \"Path-style addressing cannot be used with ARN buckets\", [bW]: n }, Y] }] }, { [bY]: [{ [bZ]: u, [ca]: [P, a] }], [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bE, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aj, { [bW]: c, [bX]: [{ [bY]: [al, ab], error: \"Accelerate cannot be used with FIPS\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [al, ak], error: \"S3 Accelerate cannot be used in this region\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [T, Z], error: x, [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [T, ab], error: x, [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [T, al], error: x, [bW]: n }, { [bW]: c, [bX]: [am, am, { [bY]: [Z, ab, aa, S, ac, ad], [bW]: c, [bX]: [{ endpoint: an, [bW]: q }] }, { [bY]: [Z, ab, aa, S, ac, af], endpoint: an, [bW]: q }, ao, ao, { [bY]: [ag, ab, aa, S, ac, ad], [bW]: c, [bX]: [{ endpoint: ap, [bW]: q }] }, { [bY]: [ag, ab, aa, S, ac, af], endpoint: ap, [bW]: q }, aq, aq, { [bY]: [Z, ah, al, S, ac, ad], [bW]: c, [bX]: [{ endpoint: ar, [bW]: q }] }, { [bY]: [Z, ah, al, S, ac, af], endpoint: ar, [bW]: q }, as, as, { [bY]: [Z, ah, aa, S, ac, ad], [bW]: c, [bX]: [{ endpoint: at, [bW]: q }] }, { [bY]: [Z, ah, aa, S, ac, af], endpoint: at, [bW]: q }, au, ax, au, ax, { [bY]: [ag, ah, aa, T, U, av, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: az, [bW]: q }, { endpoint: az, [bW]: q }] }, { [bY]: [ag, ah, aa, T, U, ay, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: aA, [bW]: q }, aB] }, { [bY]: [ag, ah, aa, T, U, av, ac, af], endpoint: az, [bW]: q }, { [bY]: [ag, ah, aa, T, U, ay, ac, af], endpoint: aA, [bW]: q }, aC, aC, { [bY]: [ag, ah, al, S, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: aD, [bW]: q }, { endpoint: aD, [bW]: q }] }, { [bY]: [ag, ah, al, S, ac, af], endpoint: aD, [bW]: q }, aE, aE, { [bY]: [ag, ah, aa, S, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: { [cd]: y, [ce]: ae, [cj]: W }, [bW]: q }, { endpoint: aF, [bW]: q }] }, { [bY]: [ag, ah, aa, S, ac, af], endpoint: aF, [bW]: q }] }] }] }] }] }] }] }] }, aG] }] }, ai] }, { [bY]: [T, U, { [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [aw, \"scheme\"] }, \"http\"] }, { [bZ]: u, [ca]: [P, b] }, ah, ag, aa], [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bE, [bW]: c, [bX]: [aB] }, aG] }] }, ai] }, { [bY]: [{ [bZ]: s, [ca]: bu, [cc]: z }], [bW]: c, [bX]: [{ [bY]: [{ [bZ]: v, [ca]: [aH, \"resourceId[0]\"], [cc]: A }, { [bZ]: m, [ca]: [{ [bZ]: k, [ca]: [aI, B] }] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [aJ, C] }], [bW]: c, [bX]: [{ [bY]: bF, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bG, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aL, { [bW]: c, [bX]: [aM, { [bW]: c, [bX]: [{ [bY]: bK, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aN, { [bW]: c, [bX]: [{ [bY]: bL, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aO, { [bW]: c, [bX]: [{ [bY]: bN, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bO, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bP, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [aQ, B] }], error: \"Invalid ARN: Missing account id\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bQ, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bR, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aR, { [bW]: c, [bX]: [{ [bY]: by, endpoint: { [cd]: F, [ce]: aS, [cj]: W }, [bW]: q }, { [bY]: bS, endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: aS, [cj]: W }, [bW]: q }, { endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: aS, [cj]: W }, [bW]: q }] }] }] }, aT] }] }, aU] }] }] }, aV] }] }, aW] }] }, ai] }] }, aX] }] }] }, aY] }] }] }, aZ] }] }] }] }, ba] }] }, { error: \"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`\", [bW]: n }] }, { [bY]: bF, [bW]: c, [bX]: [{ [bY]: bG, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bK, [bW]: c, [bX]: [{ [bY]: bF, [bW]: c, [bX]: [{ [bY]: bK, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aN, { [bW]: c, [bX]: [{ [bY]: bL, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aO, { [bW]: c, [bX]: [{ [bY]: bN, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [aP, \"{partitionResult#name}\"] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bP, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [aJ, t] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bQ, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bR, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bJ, error: \"Access Points do not support S3 Accelerate\", [bW]: n }, { [bW]: c, [bX]: [aR, { [bW]: c, [bX]: [{ [bY]: bB, error: \"DualStack cannot be combined with a Host override (PrivateLink)\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [ab, Z], endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bb, [cj]: W }, [bW]: q }, { [bY]: [ab, ag], endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bb, [cj]: W }, [bW]: q }, { [bY]: [ah, Z], endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bb, [cj]: W }, [bW]: q }, { [bY]: [ah, ag, T, U], endpoint: { [cd]: F, [ce]: bb, [cj]: W }, [bW]: q }, { [bY]: [ah, ag], endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bb, [cj]: W }, [bW]: q }] }] }] }] }] }, aT] }] }, aU] }] }, { error: \"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}\", [bW]: n }] }] }, aV] }] }, aW] }] }, ai] }] }, aX] }] }] }, aY] }] }] }, aZ] }] }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: l, [ca]: [aK, b] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bI, error: \"S3 MRAP does not support dual-stack\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bS, error: \"S3 MRAP does not support FIPS\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bJ, error: \"S3 MRAP does not support S3 Accelerate\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: r, [ca]: [{ [cb]: \"DisableMultiRegionAccessPoints\" }, b] }], error: \"Invalid configuration: Multi-Region Access Point ARNs are disabled.\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: j, [ca]: bt, [cc]: G }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [{ [bZ]: v, [ca]: [{ [cb]: G }, w] }, { [bZ]: v, [ca]: [aH, \"partition\"] }] }], [bW]: c, [bX]: [{ endpoint: { [cd]: \"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}\", [ce]: { [cf]: [{ name: \"sigv4a\", signingRegionSet: [\"*\"], [ch]: t, [ci]: b }] }, [cj]: W }, [bW]: q }] }, { error: \"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`\", [bW]: n }] }] }, { error: \"{Region} was not a valid region\", [bW]: n }] }] }] }] }] }] }, { error: \"Invalid Access Point Name\", [bW]: n }] }] }] }, ba] }, { [bY]: [{ [bZ]: k, [ca]: [aJ, p] }], [bW]: c, [bX]: [{ [bY]: bI, error: \"S3 Outposts does not support Dual-stack\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bS, error: \"S3 Outposts does not support FIPS\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: bJ, error: \"S3 Outposts does not support S3 Accelerate\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: d, [ca]: [{ [bZ]: v, [ca]: [aH, \"resourceId[4]\"] }] }], error: \"Invalid Arn: Outpost Access Point ARN contains sub resources\", [bW]: n }, { [bW]: c, [bX]: [{ [bY]: [{ [bZ]: v, [ca]: bH, [cc]: i }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bv, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aO, { [bW]: c, [bX]: [{ [bY]: bN, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bO, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bP, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bQ, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: v, [ca]: bM, [cc]: H }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: v, [ca]: [aH, \"resourceId[3]\"], [cc]: E }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: [{ [bZ]: k, [ca]: [{ [cb]: H }, D] }], [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: by, endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}\", [ce]: bc, [cj]: W }, [bW]: q }, { endpoint: { [cd]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [ce]: bc, [cj]: W }, [bW]: q }] }] }, { error: \"Expected an outpost type `accesspoint`, found {outpostType}\", [bW]: n }] }] }, { error: \"Invalid ARN: expected an access point name\", [bW]: n }] }] }, { error: \"Invalid ARN: Expected a 4-component resource\", [bW]: n }] }] }, aU] }] }, aV] }] }, aW] }] }, ai] }] }, { error: \"Could not load partition for ARN region {bucketArn#region}\", [bW]: n }] }] }] }, { error: \"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`\", [bW]: n }] }] }, { error: \"Invalid ARN: The Outpost Id was not set\", [bW]: n }] }] }] }] }] }, { error: \"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})\", [bW]: n }] }] }, { error: \"Invalid ARN: No ARN type specified\", [bW]: n }] }, { [bY]: [{ [bZ]: e, [ca]: [P, 0, 4, a], [cc]: I }, { [bZ]: k, [ca]: [{ [cb]: I }, \"arn:\"] }, { [bZ]: m, [ca]: [{ [bZ]: d, [ca]: bA }] }], error: \"Invalid ARN: `{Bucket}` was not a valid ARN\", [bW]: n }, Y] }] }, { [bY]: [{ [bZ]: d, [ca]: [bd] }, { [bZ]: r, [ca]: [bd, b] }], [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bT, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aL, { [bW]: c, [bX]: [aM, { [bW]: c, [bX]: [aj, { [bW]: c, [bX]: [{ [bY]: by, endpoint: { [cd]: J, [ce]: be, [cj]: W }, [bW]: q }, { [bY]: bS, endpoint: { [cd]: \"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}\", [ce]: be, [cj]: W }, [bW]: q }, { endpoint: { [cd]: \"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}\", [ce]: be, [cj]: W }, [bW]: q }] }] }] }] }] }, aG] }] }, ai] }, { [bY]: [{ [bZ]: m, [ca]: bz }], [bW]: c, [bX]: [{ [bY]: bC, [bW]: c, [bX]: [{ [bW]: c, [bX]: [{ [bY]: bT, [bW]: c, [bX]: [{ [bW]: c, [bX]: [aj, { [bW]: c, [bX]: [bf, bf, { [bY]: [ab, Z, T, U, ac, ad], [bW]: c, [bX]: bU }, { [bY]: [ab, Z, T, U, ac, af], endpoint: bh, [bW]: q }, bi, bi, { [bY]: [ab, Z, S, ac, ad], [bW]: c, [bX]: [{ endpoint: bj, [bW]: q }] }, { [bY]: [ab, Z, S, ac, af], endpoint: bj, [bW]: q }, bk, bk, { [bY]: [ab, ag, T, U, ac, ad], [bW]: c, [bX]: bU }, { [bY]: [ab, ag, T, U, ac, af], endpoint: bh, [bW]: q }, bl, bl, { [bY]: [ab, ag, S, ac, ad], [bW]: c, [bX]: [{ endpoint: bm, [bW]: q }] }, { [bY]: [ab, ag, S, ac, af], endpoint: bm, [bW]: q }, bn, bn, { [bY]: [ah, Z, T, U, ac, ad], [bW]: c, [bX]: bU }, { [bY]: [ah, Z, T, U, ac, af], endpoint: bh, [bW]: q }, bo, bo, { [bY]: [ah, Z, S, ac, ad], [bW]: c, [bX]: [{ endpoint: bp, [bW]: q }] }, { [bY]: [ah, Z, S, ac, af], endpoint: bp, [bW]: q }, bq, bq, { [bY]: [ah, ag, T, U, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: bh, [bW]: q }, bg] }, { [bY]: [ah, ag, T, U, ac, af], endpoint: bh, [bW]: q }, br, br, { [bY]: [ah, ag, S, ac, ad], [bW]: c, [bX]: [{ [bY]: bD, endpoint: { [cd]: K, [ce]: ae, [cj]: W }, [bW]: q }, { endpoint: bs, [bW]: q }] }, { [bY]: [ah, ag, S, ac, af], endpoint: bs, [bW]: q }] }] }] }, aG] }] }, ai] }] }] }, { error: \"A region must be set when sending requests to S3.\", [bW]: n }] }] };\nexports.ruleSet = _data;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3ServiceException = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./S3\"), exports);\ntslib_1.__exportStar(require(\"./S3Client\"), exports);\ntslib_1.__exportStar(require(\"./commands\"), exports);\ntslib_1.__exportStar(require(\"./models\"), exports);\ntslib_1.__exportStar(require(\"./pagination\"), exports);\ntslib_1.__exportStar(require(\"./waiters\"), exports);\nvar S3ServiceException_1 = require(\"./models/S3ServiceException\");\nObject.defineProperty(exports, \"S3ServiceException\", { enumerable: true, get: function () { return S3ServiceException_1.S3ServiceException; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3ServiceException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nclass S3ServiceException extends smithy_client_1.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, S3ServiceException.prototype);\n }\n}\nexports.S3ServiceException = S3ServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./models_0\"), exports);\ntslib_1.__exportStar(require(\"./models_1\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumMode = exports.ReplicationStatus = exports.Protocol = exports.BucketVersioningStatus = exports.MFADeleteStatus = exports.Payer = exports.ReplicationRuleStatus = exports.SseKmsEncryptedObjectsStatus = exports.ReplicaModificationsStatus = exports.ReplicationRuleFilter = exports.ExistingObjectReplicationStatus = exports.ReplicationTimeStatus = exports.MetricsStatus = exports.DeleteMarkerReplicationStatus = exports.FilterRuleName = exports.MetricsFilter = exports.BucketLogsPermission = exports.ExpirationStatus = exports.TransitionStorageClass = exports.LifecycleRuleFilter = exports.InventoryFrequency = exports.InventoryOptionalField = exports.InventoryIncludedObjectVersions = exports.InventoryFormat = exports.IntelligentTieringAccessTier = exports.IntelligentTieringStatus = exports.StorageClassAnalysisSchemaVersion = exports.AnalyticsS3ExportFileFormat = exports.AnalyticsFilter = exports.ObjectOwnership = exports.BucketLocationConstraint = exports.BucketCannedACL = exports.BucketAlreadyOwnedByYou = exports.BucketAlreadyExists = exports.ObjectNotInActiveTierError = exports.TaggingDirective = exports.StorageClass = exports.ObjectLockMode = exports.ObjectLockLegalHoldStatus = exports.MetadataDirective = exports.ChecksumAlgorithm = exports.ObjectCannedACL = exports.ServerSideEncryption = exports.OwnerOverride = exports.Permission = exports.Type = exports.BucketAccelerateStatus = exports.NoSuchUpload = exports.RequestPayer = exports.RequestCharged = void 0;\nexports._ErrorFilterSensitiveLog = exports.DeletedObjectFilterSensitiveLog = exports.DeleteObjectRequestFilterSensitiveLog = exports.DeleteObjectOutputFilterSensitiveLog = exports.DeleteBucketWebsiteRequestFilterSensitiveLog = exports.DeleteBucketTaggingRequestFilterSensitiveLog = exports.DeleteBucketReplicationRequestFilterSensitiveLog = exports.DeleteBucketPolicyRequestFilterSensitiveLog = exports.DeleteBucketOwnershipControlsRequestFilterSensitiveLog = exports.DeleteBucketMetricsConfigurationRequestFilterSensitiveLog = exports.DeleteBucketLifecycleRequestFilterSensitiveLog = exports.DeleteBucketInventoryConfigurationRequestFilterSensitiveLog = exports.DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = exports.DeleteBucketEncryptionRequestFilterSensitiveLog = exports.DeleteBucketCorsRequestFilterSensitiveLog = exports.DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog = exports.DeleteBucketRequestFilterSensitiveLog = exports.CreateMultipartUploadRequestFilterSensitiveLog = exports.CreateMultipartUploadOutputFilterSensitiveLog = exports.CreateBucketRequestFilterSensitiveLog = exports.CreateBucketConfigurationFilterSensitiveLog = exports.CreateBucketOutputFilterSensitiveLog = exports.CopyObjectRequestFilterSensitiveLog = exports.CopyObjectOutputFilterSensitiveLog = exports.CopyObjectResultFilterSensitiveLog = exports.CompleteMultipartUploadRequestFilterSensitiveLog = exports.CompletedMultipartUploadFilterSensitiveLog = exports.CompletedPartFilterSensitiveLog = exports.CompleteMultipartUploadOutputFilterSensitiveLog = exports.AccessControlTranslationFilterSensitiveLog = exports.AccessControlPolicyFilterSensitiveLog = exports.OwnerFilterSensitiveLog = exports.GrantFilterSensitiveLog = exports.GranteeFilterSensitiveLog = exports.AccelerateConfigurationFilterSensitiveLog = exports.AbortMultipartUploadRequestFilterSensitiveLog = exports.AbortMultipartUploadOutputFilterSensitiveLog = exports.AbortIncompleteMultipartUploadFilterSensitiveLog = exports.MFADelete = exports.ObjectVersionStorageClass = exports.NoSuchBucket = exports.ObjectStorageClass = exports.EncodingType = exports.ArchiveStatus = exports.NotFound = exports.ObjectLockRetentionMode = exports.ObjectLockEnabled = exports.ObjectAttributes = exports.NoSuchKey = exports.InvalidObjectState = void 0;\nexports.NoncurrentVersionTransitionFilterSensitiveLog = exports.NoncurrentVersionExpirationFilterSensitiveLog = exports.LifecycleRuleFilterFilterSensitiveLog = exports.LifecycleRuleAndOperatorFilterSensitiveLog = exports.LifecycleExpirationFilterSensitiveLog = exports.GetBucketInventoryConfigurationRequestFilterSensitiveLog = exports.GetBucketInventoryConfigurationOutputFilterSensitiveLog = exports.InventoryConfigurationFilterSensitiveLog = exports.InventoryScheduleFilterSensitiveLog = exports.InventoryFilterFilterSensitiveLog = exports.InventoryDestinationFilterSensitiveLog = exports.InventoryS3BucketDestinationFilterSensitiveLog = exports.InventoryEncryptionFilterSensitiveLog = exports.SSES3FilterSensitiveLog = exports.SSEKMSFilterSensitiveLog = exports.GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = exports.GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog = exports.IntelligentTieringConfigurationFilterSensitiveLog = exports.TieringFilterSensitiveLog = exports.IntelligentTieringFilterFilterSensitiveLog = exports.IntelligentTieringAndOperatorFilterSensitiveLog = exports.GetBucketEncryptionRequestFilterSensitiveLog = exports.GetBucketEncryptionOutputFilterSensitiveLog = exports.ServerSideEncryptionConfigurationFilterSensitiveLog = exports.ServerSideEncryptionRuleFilterSensitiveLog = exports.ServerSideEncryptionByDefaultFilterSensitiveLog = exports.GetBucketCorsRequestFilterSensitiveLog = exports.GetBucketCorsOutputFilterSensitiveLog = exports.CORSRuleFilterSensitiveLog = exports.GetBucketAnalyticsConfigurationRequestFilterSensitiveLog = exports.GetBucketAnalyticsConfigurationOutputFilterSensitiveLog = exports.AnalyticsConfigurationFilterSensitiveLog = exports.StorageClassAnalysisFilterSensitiveLog = exports.StorageClassAnalysisDataExportFilterSensitiveLog = exports.AnalyticsExportDestinationFilterSensitiveLog = exports.AnalyticsS3BucketDestinationFilterSensitiveLog = exports.AnalyticsFilterFilterSensitiveLog = exports.AnalyticsAndOperatorFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.GetBucketAclRequestFilterSensitiveLog = exports.GetBucketAclOutputFilterSensitiveLog = exports.GetBucketAccelerateConfigurationRequestFilterSensitiveLog = exports.GetBucketAccelerateConfigurationOutputFilterSensitiveLog = exports.DeletePublicAccessBlockRequestFilterSensitiveLog = exports.DeleteObjectTaggingRequestFilterSensitiveLog = exports.DeleteObjectTaggingOutputFilterSensitiveLog = exports.DeleteObjectsRequestFilterSensitiveLog = exports.DeleteFilterSensitiveLog = exports.ObjectIdentifierFilterSensitiveLog = exports.DeleteObjectsOutputFilterSensitiveLog = void 0;\nexports.GetBucketRequestPaymentOutputFilterSensitiveLog = exports.GetBucketReplicationRequestFilterSensitiveLog = exports.GetBucketReplicationOutputFilterSensitiveLog = exports.ReplicationConfigurationFilterSensitiveLog = exports.ReplicationRuleFilterSensitiveLog = exports.SourceSelectionCriteriaFilterSensitiveLog = exports.SseKmsEncryptedObjectsFilterSensitiveLog = exports.ReplicaModificationsFilterSensitiveLog = exports.ReplicationRuleFilterFilterSensitiveLog = exports.ReplicationRuleAndOperatorFilterSensitiveLog = exports.ExistingObjectReplicationFilterSensitiveLog = exports.DestinationFilterSensitiveLog = exports.ReplicationTimeFilterSensitiveLog = exports.MetricsFilterSensitiveLog = exports.ReplicationTimeValueFilterSensitiveLog = exports.EncryptionConfigurationFilterSensitiveLog = exports.DeleteMarkerReplicationFilterSensitiveLog = exports.GetBucketPolicyStatusRequestFilterSensitiveLog = exports.GetBucketPolicyStatusOutputFilterSensitiveLog = exports.PolicyStatusFilterSensitiveLog = exports.GetBucketPolicyRequestFilterSensitiveLog = exports.GetBucketPolicyOutputFilterSensitiveLog = exports.GetBucketOwnershipControlsRequestFilterSensitiveLog = exports.GetBucketOwnershipControlsOutputFilterSensitiveLog = exports.OwnershipControlsFilterSensitiveLog = exports.OwnershipControlsRuleFilterSensitiveLog = exports.NotificationConfigurationFilterSensitiveLog = exports.TopicConfigurationFilterSensitiveLog = exports.QueueConfigurationFilterSensitiveLog = exports.LambdaFunctionConfigurationFilterSensitiveLog = exports.NotificationConfigurationFilterFilterSensitiveLog = exports.S3KeyFilterFilterSensitiveLog = exports.FilterRuleFilterSensitiveLog = exports.EventBridgeConfigurationFilterSensitiveLog = exports.GetBucketNotificationConfigurationRequestFilterSensitiveLog = exports.GetBucketMetricsConfigurationRequestFilterSensitiveLog = exports.GetBucketMetricsConfigurationOutputFilterSensitiveLog = exports.MetricsConfigurationFilterSensitiveLog = exports.MetricsFilterFilterSensitiveLog = exports.MetricsAndOperatorFilterSensitiveLog = exports.GetBucketLoggingRequestFilterSensitiveLog = exports.GetBucketLoggingOutputFilterSensitiveLog = exports.LoggingEnabledFilterSensitiveLog = exports.TargetGrantFilterSensitiveLog = exports.GetBucketLocationRequestFilterSensitiveLog = exports.GetBucketLocationOutputFilterSensitiveLog = exports.GetBucketLifecycleConfigurationRequestFilterSensitiveLog = exports.GetBucketLifecycleConfigurationOutputFilterSensitiveLog = exports.LifecycleRuleFilterSensitiveLog = exports.TransitionFilterSensitiveLog = void 0;\nexports.ListBucketMetricsConfigurationsOutputFilterSensitiveLog = exports.ListBucketInventoryConfigurationsRequestFilterSensitiveLog = exports.ListBucketInventoryConfigurationsOutputFilterSensitiveLog = exports.ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog = exports.ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog = exports.ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog = exports.ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog = exports.HeadObjectRequestFilterSensitiveLog = exports.HeadObjectOutputFilterSensitiveLog = exports.HeadBucketRequestFilterSensitiveLog = exports.GetPublicAccessBlockRequestFilterSensitiveLog = exports.GetPublicAccessBlockOutputFilterSensitiveLog = exports.PublicAccessBlockConfigurationFilterSensitiveLog = exports.GetObjectTorrentRequestFilterSensitiveLog = exports.GetObjectTorrentOutputFilterSensitiveLog = exports.GetObjectTaggingRequestFilterSensitiveLog = exports.GetObjectTaggingOutputFilterSensitiveLog = exports.GetObjectRetentionRequestFilterSensitiveLog = exports.GetObjectRetentionOutputFilterSensitiveLog = exports.ObjectLockRetentionFilterSensitiveLog = exports.GetObjectLockConfigurationRequestFilterSensitiveLog = exports.GetObjectLockConfigurationOutputFilterSensitiveLog = exports.ObjectLockConfigurationFilterSensitiveLog = exports.ObjectLockRuleFilterSensitiveLog = exports.DefaultRetentionFilterSensitiveLog = exports.GetObjectLegalHoldRequestFilterSensitiveLog = exports.GetObjectLegalHoldOutputFilterSensitiveLog = exports.ObjectLockLegalHoldFilterSensitiveLog = exports.GetObjectAttributesRequestFilterSensitiveLog = exports.GetObjectAttributesOutputFilterSensitiveLog = exports.GetObjectAttributesPartsFilterSensitiveLog = exports.ObjectPartFilterSensitiveLog = exports.ChecksumFilterSensitiveLog = exports.GetObjectAclRequestFilterSensitiveLog = exports.GetObjectAclOutputFilterSensitiveLog = exports.GetObjectRequestFilterSensitiveLog = exports.GetObjectOutputFilterSensitiveLog = exports.GetBucketWebsiteRequestFilterSensitiveLog = exports.GetBucketWebsiteOutputFilterSensitiveLog = exports.RoutingRuleFilterSensitiveLog = exports.RedirectFilterSensitiveLog = exports.ConditionFilterSensitiveLog = exports.RedirectAllRequestsToFilterSensitiveLog = exports.IndexDocumentFilterSensitiveLog = exports.ErrorDocumentFilterSensitiveLog = exports.GetBucketVersioningRequestFilterSensitiveLog = exports.GetBucketVersioningOutputFilterSensitiveLog = exports.GetBucketTaggingRequestFilterSensitiveLog = exports.GetBucketTaggingOutputFilterSensitiveLog = exports.GetBucketRequestPaymentRequestFilterSensitiveLog = void 0;\nexports.PutObjectLegalHoldOutputFilterSensitiveLog = exports.PutObjectAclRequestFilterSensitiveLog = exports.PutObjectAclOutputFilterSensitiveLog = exports.PutObjectRequestFilterSensitiveLog = exports.PutObjectOutputFilterSensitiveLog = exports.PutBucketWebsiteRequestFilterSensitiveLog = exports.WebsiteConfigurationFilterSensitiveLog = exports.PutBucketVersioningRequestFilterSensitiveLog = exports.VersioningConfigurationFilterSensitiveLog = exports.PutBucketTaggingRequestFilterSensitiveLog = exports.TaggingFilterSensitiveLog = exports.PutBucketRequestPaymentRequestFilterSensitiveLog = exports.RequestPaymentConfigurationFilterSensitiveLog = exports.PutBucketReplicationRequestFilterSensitiveLog = exports.PutBucketPolicyRequestFilterSensitiveLog = exports.PutBucketOwnershipControlsRequestFilterSensitiveLog = exports.PutBucketNotificationConfigurationRequestFilterSensitiveLog = exports.PutBucketMetricsConfigurationRequestFilterSensitiveLog = exports.PutBucketLoggingRequestFilterSensitiveLog = exports.BucketLoggingStatusFilterSensitiveLog = exports.PutBucketLifecycleConfigurationRequestFilterSensitiveLog = exports.BucketLifecycleConfigurationFilterSensitiveLog = exports.PutBucketInventoryConfigurationRequestFilterSensitiveLog = exports.PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = exports.PutBucketEncryptionRequestFilterSensitiveLog = exports.PutBucketCorsRequestFilterSensitiveLog = exports.CORSConfigurationFilterSensitiveLog = exports.PutBucketAnalyticsConfigurationRequestFilterSensitiveLog = exports.PutBucketAclRequestFilterSensitiveLog = exports.PutBucketAccelerateConfigurationRequestFilterSensitiveLog = exports.ListPartsRequestFilterSensitiveLog = exports.ListPartsOutputFilterSensitiveLog = exports.PartFilterSensitiveLog = exports.ListObjectVersionsRequestFilterSensitiveLog = exports.ListObjectVersionsOutputFilterSensitiveLog = exports.ObjectVersionFilterSensitiveLog = exports.DeleteMarkerEntryFilterSensitiveLog = exports.ListObjectsV2RequestFilterSensitiveLog = exports.ListObjectsV2OutputFilterSensitiveLog = exports.ListObjectsRequestFilterSensitiveLog = exports.ListObjectsOutputFilterSensitiveLog = exports._ObjectFilterSensitiveLog = exports.ListMultipartUploadsRequestFilterSensitiveLog = exports.ListMultipartUploadsOutputFilterSensitiveLog = exports.MultipartUploadFilterSensitiveLog = exports.InitiatorFilterSensitiveLog = exports.CommonPrefixFilterSensitiveLog = exports.ListBucketsOutputFilterSensitiveLog = exports.BucketFilterSensitiveLog = exports.ListBucketMetricsConfigurationsRequestFilterSensitiveLog = void 0;\nexports.PutObjectLockConfigurationRequestFilterSensitiveLog = exports.PutObjectLockConfigurationOutputFilterSensitiveLog = exports.PutObjectLegalHoldRequestFilterSensitiveLog = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst S3ServiceException_1 = require(\"./S3ServiceException\");\nvar RequestCharged;\n(function (RequestCharged) {\n RequestCharged[\"requester\"] = \"requester\";\n})(RequestCharged = exports.RequestCharged || (exports.RequestCharged = {}));\nvar RequestPayer;\n(function (RequestPayer) {\n RequestPayer[\"requester\"] = \"requester\";\n})(RequestPayer = exports.RequestPayer || (exports.RequestPayer = {}));\nclass NoSuchUpload extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"NoSuchUpload\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"NoSuchUpload\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, NoSuchUpload.prototype);\n }\n}\nexports.NoSuchUpload = NoSuchUpload;\nvar BucketAccelerateStatus;\n(function (BucketAccelerateStatus) {\n BucketAccelerateStatus[\"Enabled\"] = \"Enabled\";\n BucketAccelerateStatus[\"Suspended\"] = \"Suspended\";\n})(BucketAccelerateStatus = exports.BucketAccelerateStatus || (exports.BucketAccelerateStatus = {}));\nvar Type;\n(function (Type) {\n Type[\"AmazonCustomerByEmail\"] = \"AmazonCustomerByEmail\";\n Type[\"CanonicalUser\"] = \"CanonicalUser\";\n Type[\"Group\"] = \"Group\";\n})(Type = exports.Type || (exports.Type = {}));\nvar Permission;\n(function (Permission) {\n Permission[\"FULL_CONTROL\"] = \"FULL_CONTROL\";\n Permission[\"READ\"] = \"READ\";\n Permission[\"READ_ACP\"] = \"READ_ACP\";\n Permission[\"WRITE\"] = \"WRITE\";\n Permission[\"WRITE_ACP\"] = \"WRITE_ACP\";\n})(Permission = exports.Permission || (exports.Permission = {}));\nvar OwnerOverride;\n(function (OwnerOverride) {\n OwnerOverride[\"Destination\"] = \"Destination\";\n})(OwnerOverride = exports.OwnerOverride || (exports.OwnerOverride = {}));\nvar ServerSideEncryption;\n(function (ServerSideEncryption) {\n ServerSideEncryption[\"AES256\"] = \"AES256\";\n ServerSideEncryption[\"aws_kms\"] = \"aws:kms\";\n})(ServerSideEncryption = exports.ServerSideEncryption || (exports.ServerSideEncryption = {}));\nvar ObjectCannedACL;\n(function (ObjectCannedACL) {\n ObjectCannedACL[\"authenticated_read\"] = \"authenticated-read\";\n ObjectCannedACL[\"aws_exec_read\"] = \"aws-exec-read\";\n ObjectCannedACL[\"bucket_owner_full_control\"] = \"bucket-owner-full-control\";\n ObjectCannedACL[\"bucket_owner_read\"] = \"bucket-owner-read\";\n ObjectCannedACL[\"private\"] = \"private\";\n ObjectCannedACL[\"public_read\"] = \"public-read\";\n ObjectCannedACL[\"public_read_write\"] = \"public-read-write\";\n})(ObjectCannedACL = exports.ObjectCannedACL || (exports.ObjectCannedACL = {}));\nvar ChecksumAlgorithm;\n(function (ChecksumAlgorithm) {\n ChecksumAlgorithm[\"CRC32\"] = \"CRC32\";\n ChecksumAlgorithm[\"CRC32C\"] = \"CRC32C\";\n ChecksumAlgorithm[\"SHA1\"] = \"SHA1\";\n ChecksumAlgorithm[\"SHA256\"] = \"SHA256\";\n})(ChecksumAlgorithm = exports.ChecksumAlgorithm || (exports.ChecksumAlgorithm = {}));\nvar MetadataDirective;\n(function (MetadataDirective) {\n MetadataDirective[\"COPY\"] = \"COPY\";\n MetadataDirective[\"REPLACE\"] = \"REPLACE\";\n})(MetadataDirective = exports.MetadataDirective || (exports.MetadataDirective = {}));\nvar ObjectLockLegalHoldStatus;\n(function (ObjectLockLegalHoldStatus) {\n ObjectLockLegalHoldStatus[\"OFF\"] = \"OFF\";\n ObjectLockLegalHoldStatus[\"ON\"] = \"ON\";\n})(ObjectLockLegalHoldStatus = exports.ObjectLockLegalHoldStatus || (exports.ObjectLockLegalHoldStatus = {}));\nvar ObjectLockMode;\n(function (ObjectLockMode) {\n ObjectLockMode[\"COMPLIANCE\"] = \"COMPLIANCE\";\n ObjectLockMode[\"GOVERNANCE\"] = \"GOVERNANCE\";\n})(ObjectLockMode = exports.ObjectLockMode || (exports.ObjectLockMode = {}));\nvar StorageClass;\n(function (StorageClass) {\n StorageClass[\"DEEP_ARCHIVE\"] = \"DEEP_ARCHIVE\";\n StorageClass[\"GLACIER\"] = \"GLACIER\";\n StorageClass[\"GLACIER_IR\"] = \"GLACIER_IR\";\n StorageClass[\"INTELLIGENT_TIERING\"] = \"INTELLIGENT_TIERING\";\n StorageClass[\"ONEZONE_IA\"] = \"ONEZONE_IA\";\n StorageClass[\"OUTPOSTS\"] = \"OUTPOSTS\";\n StorageClass[\"REDUCED_REDUNDANCY\"] = \"REDUCED_REDUNDANCY\";\n StorageClass[\"STANDARD\"] = \"STANDARD\";\n StorageClass[\"STANDARD_IA\"] = \"STANDARD_IA\";\n})(StorageClass = exports.StorageClass || (exports.StorageClass = {}));\nvar TaggingDirective;\n(function (TaggingDirective) {\n TaggingDirective[\"COPY\"] = \"COPY\";\n TaggingDirective[\"REPLACE\"] = \"REPLACE\";\n})(TaggingDirective = exports.TaggingDirective || (exports.TaggingDirective = {}));\nclass ObjectNotInActiveTierError extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ObjectNotInActiveTierError\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ObjectNotInActiveTierError.prototype);\n }\n}\nexports.ObjectNotInActiveTierError = ObjectNotInActiveTierError;\nclass BucketAlreadyExists extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"BucketAlreadyExists\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, BucketAlreadyExists.prototype);\n }\n}\nexports.BucketAlreadyExists = BucketAlreadyExists;\nclass BucketAlreadyOwnedByYou extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"BucketAlreadyOwnedByYou\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, BucketAlreadyOwnedByYou.prototype);\n }\n}\nexports.BucketAlreadyOwnedByYou = BucketAlreadyOwnedByYou;\nvar BucketCannedACL;\n(function (BucketCannedACL) {\n BucketCannedACL[\"authenticated_read\"] = \"authenticated-read\";\n BucketCannedACL[\"private\"] = \"private\";\n BucketCannedACL[\"public_read\"] = \"public-read\";\n BucketCannedACL[\"public_read_write\"] = \"public-read-write\";\n})(BucketCannedACL = exports.BucketCannedACL || (exports.BucketCannedACL = {}));\nvar BucketLocationConstraint;\n(function (BucketLocationConstraint) {\n BucketLocationConstraint[\"EU\"] = \"EU\";\n BucketLocationConstraint[\"af_south_1\"] = \"af-south-1\";\n BucketLocationConstraint[\"ap_east_1\"] = \"ap-east-1\";\n BucketLocationConstraint[\"ap_northeast_1\"] = \"ap-northeast-1\";\n BucketLocationConstraint[\"ap_northeast_2\"] = \"ap-northeast-2\";\n BucketLocationConstraint[\"ap_northeast_3\"] = \"ap-northeast-3\";\n BucketLocationConstraint[\"ap_south_1\"] = \"ap-south-1\";\n BucketLocationConstraint[\"ap_southeast_1\"] = \"ap-southeast-1\";\n BucketLocationConstraint[\"ap_southeast_2\"] = \"ap-southeast-2\";\n BucketLocationConstraint[\"ap_southeast_3\"] = \"ap-southeast-3\";\n BucketLocationConstraint[\"ca_central_1\"] = \"ca-central-1\";\n BucketLocationConstraint[\"cn_north_1\"] = \"cn-north-1\";\n BucketLocationConstraint[\"cn_northwest_1\"] = \"cn-northwest-1\";\n BucketLocationConstraint[\"eu_central_1\"] = \"eu-central-1\";\n BucketLocationConstraint[\"eu_north_1\"] = \"eu-north-1\";\n BucketLocationConstraint[\"eu_south_1\"] = \"eu-south-1\";\n BucketLocationConstraint[\"eu_west_1\"] = \"eu-west-1\";\n BucketLocationConstraint[\"eu_west_2\"] = \"eu-west-2\";\n BucketLocationConstraint[\"eu_west_3\"] = \"eu-west-3\";\n BucketLocationConstraint[\"me_south_1\"] = \"me-south-1\";\n BucketLocationConstraint[\"sa_east_1\"] = \"sa-east-1\";\n BucketLocationConstraint[\"us_east_2\"] = \"us-east-2\";\n BucketLocationConstraint[\"us_gov_east_1\"] = \"us-gov-east-1\";\n BucketLocationConstraint[\"us_gov_west_1\"] = \"us-gov-west-1\";\n BucketLocationConstraint[\"us_west_1\"] = \"us-west-1\";\n BucketLocationConstraint[\"us_west_2\"] = \"us-west-2\";\n})(BucketLocationConstraint = exports.BucketLocationConstraint || (exports.BucketLocationConstraint = {}));\nvar ObjectOwnership;\n(function (ObjectOwnership) {\n ObjectOwnership[\"BucketOwnerEnforced\"] = \"BucketOwnerEnforced\";\n ObjectOwnership[\"BucketOwnerPreferred\"] = \"BucketOwnerPreferred\";\n ObjectOwnership[\"ObjectWriter\"] = \"ObjectWriter\";\n})(ObjectOwnership = exports.ObjectOwnership || (exports.ObjectOwnership = {}));\nvar AnalyticsFilter;\n(function (AnalyticsFilter) {\n AnalyticsFilter.visit = (value, visitor) => {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(AnalyticsFilter = exports.AnalyticsFilter || (exports.AnalyticsFilter = {}));\nvar AnalyticsS3ExportFileFormat;\n(function (AnalyticsS3ExportFileFormat) {\n AnalyticsS3ExportFileFormat[\"CSV\"] = \"CSV\";\n})(AnalyticsS3ExportFileFormat = exports.AnalyticsS3ExportFileFormat || (exports.AnalyticsS3ExportFileFormat = {}));\nvar StorageClassAnalysisSchemaVersion;\n(function (StorageClassAnalysisSchemaVersion) {\n StorageClassAnalysisSchemaVersion[\"V_1\"] = \"V_1\";\n})(StorageClassAnalysisSchemaVersion = exports.StorageClassAnalysisSchemaVersion || (exports.StorageClassAnalysisSchemaVersion = {}));\nvar IntelligentTieringStatus;\n(function (IntelligentTieringStatus) {\n IntelligentTieringStatus[\"Disabled\"] = \"Disabled\";\n IntelligentTieringStatus[\"Enabled\"] = \"Enabled\";\n})(IntelligentTieringStatus = exports.IntelligentTieringStatus || (exports.IntelligentTieringStatus = {}));\nvar IntelligentTieringAccessTier;\n(function (IntelligentTieringAccessTier) {\n IntelligentTieringAccessTier[\"ARCHIVE_ACCESS\"] = \"ARCHIVE_ACCESS\";\n IntelligentTieringAccessTier[\"DEEP_ARCHIVE_ACCESS\"] = \"DEEP_ARCHIVE_ACCESS\";\n})(IntelligentTieringAccessTier = exports.IntelligentTieringAccessTier || (exports.IntelligentTieringAccessTier = {}));\nvar InventoryFormat;\n(function (InventoryFormat) {\n InventoryFormat[\"CSV\"] = \"CSV\";\n InventoryFormat[\"ORC\"] = \"ORC\";\n InventoryFormat[\"Parquet\"] = \"Parquet\";\n})(InventoryFormat = exports.InventoryFormat || (exports.InventoryFormat = {}));\nvar InventoryIncludedObjectVersions;\n(function (InventoryIncludedObjectVersions) {\n InventoryIncludedObjectVersions[\"All\"] = \"All\";\n InventoryIncludedObjectVersions[\"Current\"] = \"Current\";\n})(InventoryIncludedObjectVersions = exports.InventoryIncludedObjectVersions || (exports.InventoryIncludedObjectVersions = {}));\nvar InventoryOptionalField;\n(function (InventoryOptionalField) {\n InventoryOptionalField[\"BucketKeyStatus\"] = \"BucketKeyStatus\";\n InventoryOptionalField[\"ChecksumAlgorithm\"] = \"ChecksumAlgorithm\";\n InventoryOptionalField[\"ETag\"] = \"ETag\";\n InventoryOptionalField[\"EncryptionStatus\"] = \"EncryptionStatus\";\n InventoryOptionalField[\"IntelligentTieringAccessTier\"] = \"IntelligentTieringAccessTier\";\n InventoryOptionalField[\"IsMultipartUploaded\"] = \"IsMultipartUploaded\";\n InventoryOptionalField[\"LastModifiedDate\"] = \"LastModifiedDate\";\n InventoryOptionalField[\"ObjectLockLegalHoldStatus\"] = \"ObjectLockLegalHoldStatus\";\n InventoryOptionalField[\"ObjectLockMode\"] = \"ObjectLockMode\";\n InventoryOptionalField[\"ObjectLockRetainUntilDate\"] = \"ObjectLockRetainUntilDate\";\n InventoryOptionalField[\"ReplicationStatus\"] = \"ReplicationStatus\";\n InventoryOptionalField[\"Size\"] = \"Size\";\n InventoryOptionalField[\"StorageClass\"] = \"StorageClass\";\n})(InventoryOptionalField = exports.InventoryOptionalField || (exports.InventoryOptionalField = {}));\nvar InventoryFrequency;\n(function (InventoryFrequency) {\n InventoryFrequency[\"Daily\"] = \"Daily\";\n InventoryFrequency[\"Weekly\"] = \"Weekly\";\n})(InventoryFrequency = exports.InventoryFrequency || (exports.InventoryFrequency = {}));\nvar LifecycleRuleFilter;\n(function (LifecycleRuleFilter) {\n LifecycleRuleFilter.visit = (value, visitor) => {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.ObjectSizeGreaterThan !== undefined)\n return visitor.ObjectSizeGreaterThan(value.ObjectSizeGreaterThan);\n if (value.ObjectSizeLessThan !== undefined)\n return visitor.ObjectSizeLessThan(value.ObjectSizeLessThan);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(LifecycleRuleFilter = exports.LifecycleRuleFilter || (exports.LifecycleRuleFilter = {}));\nvar TransitionStorageClass;\n(function (TransitionStorageClass) {\n TransitionStorageClass[\"DEEP_ARCHIVE\"] = \"DEEP_ARCHIVE\";\n TransitionStorageClass[\"GLACIER\"] = \"GLACIER\";\n TransitionStorageClass[\"GLACIER_IR\"] = \"GLACIER_IR\";\n TransitionStorageClass[\"INTELLIGENT_TIERING\"] = \"INTELLIGENT_TIERING\";\n TransitionStorageClass[\"ONEZONE_IA\"] = \"ONEZONE_IA\";\n TransitionStorageClass[\"STANDARD_IA\"] = \"STANDARD_IA\";\n})(TransitionStorageClass = exports.TransitionStorageClass || (exports.TransitionStorageClass = {}));\nvar ExpirationStatus;\n(function (ExpirationStatus) {\n ExpirationStatus[\"Disabled\"] = \"Disabled\";\n ExpirationStatus[\"Enabled\"] = \"Enabled\";\n})(ExpirationStatus = exports.ExpirationStatus || (exports.ExpirationStatus = {}));\nvar BucketLogsPermission;\n(function (BucketLogsPermission) {\n BucketLogsPermission[\"FULL_CONTROL\"] = \"FULL_CONTROL\";\n BucketLogsPermission[\"READ\"] = \"READ\";\n BucketLogsPermission[\"WRITE\"] = \"WRITE\";\n})(BucketLogsPermission = exports.BucketLogsPermission || (exports.BucketLogsPermission = {}));\nvar MetricsFilter;\n(function (MetricsFilter) {\n MetricsFilter.visit = (value, visitor) => {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.AccessPointArn !== undefined)\n return visitor.AccessPointArn(value.AccessPointArn);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(MetricsFilter = exports.MetricsFilter || (exports.MetricsFilter = {}));\nvar FilterRuleName;\n(function (FilterRuleName) {\n FilterRuleName[\"prefix\"] = \"prefix\";\n FilterRuleName[\"suffix\"] = \"suffix\";\n})(FilterRuleName = exports.FilterRuleName || (exports.FilterRuleName = {}));\nvar DeleteMarkerReplicationStatus;\n(function (DeleteMarkerReplicationStatus) {\n DeleteMarkerReplicationStatus[\"Disabled\"] = \"Disabled\";\n DeleteMarkerReplicationStatus[\"Enabled\"] = \"Enabled\";\n})(DeleteMarkerReplicationStatus = exports.DeleteMarkerReplicationStatus || (exports.DeleteMarkerReplicationStatus = {}));\nvar MetricsStatus;\n(function (MetricsStatus) {\n MetricsStatus[\"Disabled\"] = \"Disabled\";\n MetricsStatus[\"Enabled\"] = \"Enabled\";\n})(MetricsStatus = exports.MetricsStatus || (exports.MetricsStatus = {}));\nvar ReplicationTimeStatus;\n(function (ReplicationTimeStatus) {\n ReplicationTimeStatus[\"Disabled\"] = \"Disabled\";\n ReplicationTimeStatus[\"Enabled\"] = \"Enabled\";\n})(ReplicationTimeStatus = exports.ReplicationTimeStatus || (exports.ReplicationTimeStatus = {}));\nvar ExistingObjectReplicationStatus;\n(function (ExistingObjectReplicationStatus) {\n ExistingObjectReplicationStatus[\"Disabled\"] = \"Disabled\";\n ExistingObjectReplicationStatus[\"Enabled\"] = \"Enabled\";\n})(ExistingObjectReplicationStatus = exports.ExistingObjectReplicationStatus || (exports.ExistingObjectReplicationStatus = {}));\nvar ReplicationRuleFilter;\n(function (ReplicationRuleFilter) {\n ReplicationRuleFilter.visit = (value, visitor) => {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ReplicationRuleFilter = exports.ReplicationRuleFilter || (exports.ReplicationRuleFilter = {}));\nvar ReplicaModificationsStatus;\n(function (ReplicaModificationsStatus) {\n ReplicaModificationsStatus[\"Disabled\"] = \"Disabled\";\n ReplicaModificationsStatus[\"Enabled\"] = \"Enabled\";\n})(ReplicaModificationsStatus = exports.ReplicaModificationsStatus || (exports.ReplicaModificationsStatus = {}));\nvar SseKmsEncryptedObjectsStatus;\n(function (SseKmsEncryptedObjectsStatus) {\n SseKmsEncryptedObjectsStatus[\"Disabled\"] = \"Disabled\";\n SseKmsEncryptedObjectsStatus[\"Enabled\"] = \"Enabled\";\n})(SseKmsEncryptedObjectsStatus = exports.SseKmsEncryptedObjectsStatus || (exports.SseKmsEncryptedObjectsStatus = {}));\nvar ReplicationRuleStatus;\n(function (ReplicationRuleStatus) {\n ReplicationRuleStatus[\"Disabled\"] = \"Disabled\";\n ReplicationRuleStatus[\"Enabled\"] = \"Enabled\";\n})(ReplicationRuleStatus = exports.ReplicationRuleStatus || (exports.ReplicationRuleStatus = {}));\nvar Payer;\n(function (Payer) {\n Payer[\"BucketOwner\"] = \"BucketOwner\";\n Payer[\"Requester\"] = \"Requester\";\n})(Payer = exports.Payer || (exports.Payer = {}));\nvar MFADeleteStatus;\n(function (MFADeleteStatus) {\n MFADeleteStatus[\"Disabled\"] = \"Disabled\";\n MFADeleteStatus[\"Enabled\"] = \"Enabled\";\n})(MFADeleteStatus = exports.MFADeleteStatus || (exports.MFADeleteStatus = {}));\nvar BucketVersioningStatus;\n(function (BucketVersioningStatus) {\n BucketVersioningStatus[\"Enabled\"] = \"Enabled\";\n BucketVersioningStatus[\"Suspended\"] = \"Suspended\";\n})(BucketVersioningStatus = exports.BucketVersioningStatus || (exports.BucketVersioningStatus = {}));\nvar Protocol;\n(function (Protocol) {\n Protocol[\"http\"] = \"http\";\n Protocol[\"https\"] = \"https\";\n})(Protocol = exports.Protocol || (exports.Protocol = {}));\nvar ReplicationStatus;\n(function (ReplicationStatus) {\n ReplicationStatus[\"COMPLETE\"] = \"COMPLETE\";\n ReplicationStatus[\"FAILED\"] = \"FAILED\";\n ReplicationStatus[\"PENDING\"] = \"PENDING\";\n ReplicationStatus[\"REPLICA\"] = \"REPLICA\";\n})(ReplicationStatus = exports.ReplicationStatus || (exports.ReplicationStatus = {}));\nvar ChecksumMode;\n(function (ChecksumMode) {\n ChecksumMode[\"ENABLED\"] = \"ENABLED\";\n})(ChecksumMode = exports.ChecksumMode || (exports.ChecksumMode = {}));\nclass InvalidObjectState extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"InvalidObjectState\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidObjectState\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidObjectState.prototype);\n this.StorageClass = opts.StorageClass;\n this.AccessTier = opts.AccessTier;\n }\n}\nexports.InvalidObjectState = InvalidObjectState;\nclass NoSuchKey extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"NoSuchKey\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"NoSuchKey\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, NoSuchKey.prototype);\n }\n}\nexports.NoSuchKey = NoSuchKey;\nvar ObjectAttributes;\n(function (ObjectAttributes) {\n ObjectAttributes[\"CHECKSUM\"] = \"Checksum\";\n ObjectAttributes[\"ETAG\"] = \"ETag\";\n ObjectAttributes[\"OBJECT_PARTS\"] = \"ObjectParts\";\n ObjectAttributes[\"OBJECT_SIZE\"] = \"ObjectSize\";\n ObjectAttributes[\"STORAGE_CLASS\"] = \"StorageClass\";\n})(ObjectAttributes = exports.ObjectAttributes || (exports.ObjectAttributes = {}));\nvar ObjectLockEnabled;\n(function (ObjectLockEnabled) {\n ObjectLockEnabled[\"Enabled\"] = \"Enabled\";\n})(ObjectLockEnabled = exports.ObjectLockEnabled || (exports.ObjectLockEnabled = {}));\nvar ObjectLockRetentionMode;\n(function (ObjectLockRetentionMode) {\n ObjectLockRetentionMode[\"COMPLIANCE\"] = \"COMPLIANCE\";\n ObjectLockRetentionMode[\"GOVERNANCE\"] = \"GOVERNANCE\";\n})(ObjectLockRetentionMode = exports.ObjectLockRetentionMode || (exports.ObjectLockRetentionMode = {}));\nclass NotFound extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"NotFound\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"NotFound\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, NotFound.prototype);\n }\n}\nexports.NotFound = NotFound;\nvar ArchiveStatus;\n(function (ArchiveStatus) {\n ArchiveStatus[\"ARCHIVE_ACCESS\"] = \"ARCHIVE_ACCESS\";\n ArchiveStatus[\"DEEP_ARCHIVE_ACCESS\"] = \"DEEP_ARCHIVE_ACCESS\";\n})(ArchiveStatus = exports.ArchiveStatus || (exports.ArchiveStatus = {}));\nvar EncodingType;\n(function (EncodingType) {\n EncodingType[\"url\"] = \"url\";\n})(EncodingType = exports.EncodingType || (exports.EncodingType = {}));\nvar ObjectStorageClass;\n(function (ObjectStorageClass) {\n ObjectStorageClass[\"DEEP_ARCHIVE\"] = \"DEEP_ARCHIVE\";\n ObjectStorageClass[\"GLACIER\"] = \"GLACIER\";\n ObjectStorageClass[\"GLACIER_IR\"] = \"GLACIER_IR\";\n ObjectStorageClass[\"INTELLIGENT_TIERING\"] = \"INTELLIGENT_TIERING\";\n ObjectStorageClass[\"ONEZONE_IA\"] = \"ONEZONE_IA\";\n ObjectStorageClass[\"OUTPOSTS\"] = \"OUTPOSTS\";\n ObjectStorageClass[\"REDUCED_REDUNDANCY\"] = \"REDUCED_REDUNDANCY\";\n ObjectStorageClass[\"STANDARD\"] = \"STANDARD\";\n ObjectStorageClass[\"STANDARD_IA\"] = \"STANDARD_IA\";\n})(ObjectStorageClass = exports.ObjectStorageClass || (exports.ObjectStorageClass = {}));\nclass NoSuchBucket extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"NoSuchBucket\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"NoSuchBucket\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, NoSuchBucket.prototype);\n }\n}\nexports.NoSuchBucket = NoSuchBucket;\nvar ObjectVersionStorageClass;\n(function (ObjectVersionStorageClass) {\n ObjectVersionStorageClass[\"STANDARD\"] = \"STANDARD\";\n})(ObjectVersionStorageClass = exports.ObjectVersionStorageClass || (exports.ObjectVersionStorageClass = {}));\nvar MFADelete;\n(function (MFADelete) {\n MFADelete[\"Disabled\"] = \"Disabled\";\n MFADelete[\"Enabled\"] = \"Enabled\";\n})(MFADelete = exports.MFADelete || (exports.MFADelete = {}));\nconst AbortIncompleteMultipartUploadFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AbortIncompleteMultipartUploadFilterSensitiveLog = AbortIncompleteMultipartUploadFilterSensitiveLog;\nconst AbortMultipartUploadOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AbortMultipartUploadOutputFilterSensitiveLog = AbortMultipartUploadOutputFilterSensitiveLog;\nconst AbortMultipartUploadRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AbortMultipartUploadRequestFilterSensitiveLog = AbortMultipartUploadRequestFilterSensitiveLog;\nconst AccelerateConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AccelerateConfigurationFilterSensitiveLog = AccelerateConfigurationFilterSensitiveLog;\nconst GranteeFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GranteeFilterSensitiveLog = GranteeFilterSensitiveLog;\nconst GrantFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GrantFilterSensitiveLog = GrantFilterSensitiveLog;\nconst OwnerFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.OwnerFilterSensitiveLog = OwnerFilterSensitiveLog;\nconst AccessControlPolicyFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AccessControlPolicyFilterSensitiveLog = AccessControlPolicyFilterSensitiveLog;\nconst AccessControlTranslationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AccessControlTranslationFilterSensitiveLog = AccessControlTranslationFilterSensitiveLog;\nconst CompleteMultipartUploadOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CompleteMultipartUploadOutputFilterSensitiveLog = CompleteMultipartUploadOutputFilterSensitiveLog;\nconst CompletedPartFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CompletedPartFilterSensitiveLog = CompletedPartFilterSensitiveLog;\nconst CompletedMultipartUploadFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CompletedMultipartUploadFilterSensitiveLog = CompletedMultipartUploadFilterSensitiveLog;\nconst CompleteMultipartUploadRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CompleteMultipartUploadRequestFilterSensitiveLog = CompleteMultipartUploadRequestFilterSensitiveLog;\nconst CopyObjectResultFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CopyObjectResultFilterSensitiveLog = CopyObjectResultFilterSensitiveLog;\nconst CopyObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CopyObjectOutputFilterSensitiveLog = CopyObjectOutputFilterSensitiveLog;\nconst CopyObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CopyObjectRequestFilterSensitiveLog = CopyObjectRequestFilterSensitiveLog;\nconst CreateBucketOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateBucketOutputFilterSensitiveLog = CreateBucketOutputFilterSensitiveLog;\nconst CreateBucketConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateBucketConfigurationFilterSensitiveLog = CreateBucketConfigurationFilterSensitiveLog;\nconst CreateBucketRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateBucketRequestFilterSensitiveLog = CreateBucketRequestFilterSensitiveLog;\nconst CreateMultipartUploadOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CreateMultipartUploadOutputFilterSensitiveLog = CreateMultipartUploadOutputFilterSensitiveLog;\nconst CreateMultipartUploadRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.CreateMultipartUploadRequestFilterSensitiveLog = CreateMultipartUploadRequestFilterSensitiveLog;\nconst DeleteBucketRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketRequestFilterSensitiveLog = DeleteBucketRequestFilterSensitiveLog;\nconst DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog = DeleteBucketAnalyticsConfigurationRequestFilterSensitiveLog;\nconst DeleteBucketCorsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketCorsRequestFilterSensitiveLog = DeleteBucketCorsRequestFilterSensitiveLog;\nconst DeleteBucketEncryptionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketEncryptionRequestFilterSensitiveLog = DeleteBucketEncryptionRequestFilterSensitiveLog;\nconst DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = DeleteBucketIntelligentTieringConfigurationRequestFilterSensitiveLog;\nconst DeleteBucketInventoryConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketInventoryConfigurationRequestFilterSensitiveLog = DeleteBucketInventoryConfigurationRequestFilterSensitiveLog;\nconst DeleteBucketLifecycleRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketLifecycleRequestFilterSensitiveLog = DeleteBucketLifecycleRequestFilterSensitiveLog;\nconst DeleteBucketMetricsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketMetricsConfigurationRequestFilterSensitiveLog = DeleteBucketMetricsConfigurationRequestFilterSensitiveLog;\nconst DeleteBucketOwnershipControlsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketOwnershipControlsRequestFilterSensitiveLog = DeleteBucketOwnershipControlsRequestFilterSensitiveLog;\nconst DeleteBucketPolicyRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketPolicyRequestFilterSensitiveLog = DeleteBucketPolicyRequestFilterSensitiveLog;\nconst DeleteBucketReplicationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketReplicationRequestFilterSensitiveLog = DeleteBucketReplicationRequestFilterSensitiveLog;\nconst DeleteBucketTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketTaggingRequestFilterSensitiveLog = DeleteBucketTaggingRequestFilterSensitiveLog;\nconst DeleteBucketWebsiteRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteBucketWebsiteRequestFilterSensitiveLog = DeleteBucketWebsiteRequestFilterSensitiveLog;\nconst DeleteObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectOutputFilterSensitiveLog = DeleteObjectOutputFilterSensitiveLog;\nconst DeleteObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectRequestFilterSensitiveLog = DeleteObjectRequestFilterSensitiveLog;\nconst DeletedObjectFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeletedObjectFilterSensitiveLog = DeletedObjectFilterSensitiveLog;\nconst _ErrorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports._ErrorFilterSensitiveLog = _ErrorFilterSensitiveLog;\nconst DeleteObjectsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectsOutputFilterSensitiveLog = DeleteObjectsOutputFilterSensitiveLog;\nconst ObjectIdentifierFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectIdentifierFilterSensitiveLog = ObjectIdentifierFilterSensitiveLog;\nconst DeleteFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteFilterSensitiveLog = DeleteFilterSensitiveLog;\nconst DeleteObjectsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectsRequestFilterSensitiveLog = DeleteObjectsRequestFilterSensitiveLog;\nconst DeleteObjectTaggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectTaggingOutputFilterSensitiveLog = DeleteObjectTaggingOutputFilterSensitiveLog;\nconst DeleteObjectTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteObjectTaggingRequestFilterSensitiveLog = DeleteObjectTaggingRequestFilterSensitiveLog;\nconst DeletePublicAccessBlockRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeletePublicAccessBlockRequestFilterSensitiveLog = DeletePublicAccessBlockRequestFilterSensitiveLog;\nconst GetBucketAccelerateConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAccelerateConfigurationOutputFilterSensitiveLog = GetBucketAccelerateConfigurationOutputFilterSensitiveLog;\nconst GetBucketAccelerateConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAccelerateConfigurationRequestFilterSensitiveLog = GetBucketAccelerateConfigurationRequestFilterSensitiveLog;\nconst GetBucketAclOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAclOutputFilterSensitiveLog = GetBucketAclOutputFilterSensitiveLog;\nconst GetBucketAclRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAclRequestFilterSensitiveLog = GetBucketAclRequestFilterSensitiveLog;\nconst TagFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TagFilterSensitiveLog = TagFilterSensitiveLog;\nconst AnalyticsAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AnalyticsAndOperatorFilterSensitiveLog = AnalyticsAndOperatorFilterSensitiveLog;\nconst AnalyticsFilterFilterSensitiveLog = (obj) => {\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: (0, exports.TagFilterSensitiveLog)(obj.Tag) };\n if (obj.And !== undefined)\n return { And: (0, exports.AnalyticsAndOperatorFilterSensitiveLog)(obj.And) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.AnalyticsFilterFilterSensitiveLog = AnalyticsFilterFilterSensitiveLog;\nconst AnalyticsS3BucketDestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AnalyticsS3BucketDestinationFilterSensitiveLog = AnalyticsS3BucketDestinationFilterSensitiveLog;\nconst AnalyticsExportDestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AnalyticsExportDestinationFilterSensitiveLog = AnalyticsExportDestinationFilterSensitiveLog;\nconst StorageClassAnalysisDataExportFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StorageClassAnalysisDataExportFilterSensitiveLog = StorageClassAnalysisDataExportFilterSensitiveLog;\nconst StorageClassAnalysisFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StorageClassAnalysisFilterSensitiveLog = StorageClassAnalysisFilterSensitiveLog;\nconst AnalyticsConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Filter && { Filter: (0, exports.AnalyticsFilterFilterSensitiveLog)(obj.Filter) }),\n});\nexports.AnalyticsConfigurationFilterSensitiveLog = AnalyticsConfigurationFilterSensitiveLog;\nconst GetBucketAnalyticsConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.AnalyticsConfiguration && {\n AnalyticsConfiguration: (0, exports.AnalyticsConfigurationFilterSensitiveLog)(obj.AnalyticsConfiguration),\n }),\n});\nexports.GetBucketAnalyticsConfigurationOutputFilterSensitiveLog = GetBucketAnalyticsConfigurationOutputFilterSensitiveLog;\nconst GetBucketAnalyticsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketAnalyticsConfigurationRequestFilterSensitiveLog = GetBucketAnalyticsConfigurationRequestFilterSensitiveLog;\nconst CORSRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CORSRuleFilterSensitiveLog = CORSRuleFilterSensitiveLog;\nconst GetBucketCorsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketCorsOutputFilterSensitiveLog = GetBucketCorsOutputFilterSensitiveLog;\nconst GetBucketCorsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketCorsRequestFilterSensitiveLog = GetBucketCorsRequestFilterSensitiveLog;\nconst ServerSideEncryptionByDefaultFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.KMSMasterKeyID && { KMSMasterKeyID: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.ServerSideEncryptionByDefaultFilterSensitiveLog = ServerSideEncryptionByDefaultFilterSensitiveLog;\nconst ServerSideEncryptionRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ApplyServerSideEncryptionByDefault && {\n ApplyServerSideEncryptionByDefault: (0, exports.ServerSideEncryptionByDefaultFilterSensitiveLog)(obj.ApplyServerSideEncryptionByDefault),\n }),\n});\nexports.ServerSideEncryptionRuleFilterSensitiveLog = ServerSideEncryptionRuleFilterSensitiveLog;\nconst ServerSideEncryptionConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => (0, exports.ServerSideEncryptionRuleFilterSensitiveLog)(item)) }),\n});\nexports.ServerSideEncryptionConfigurationFilterSensitiveLog = ServerSideEncryptionConfigurationFilterSensitiveLog;\nconst GetBucketEncryptionOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ServerSideEncryptionConfiguration && {\n ServerSideEncryptionConfiguration: (0, exports.ServerSideEncryptionConfigurationFilterSensitiveLog)(obj.ServerSideEncryptionConfiguration),\n }),\n});\nexports.GetBucketEncryptionOutputFilterSensitiveLog = GetBucketEncryptionOutputFilterSensitiveLog;\nconst GetBucketEncryptionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketEncryptionRequestFilterSensitiveLog = GetBucketEncryptionRequestFilterSensitiveLog;\nconst IntelligentTieringAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.IntelligentTieringAndOperatorFilterSensitiveLog = IntelligentTieringAndOperatorFilterSensitiveLog;\nconst IntelligentTieringFilterFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.IntelligentTieringFilterFilterSensitiveLog = IntelligentTieringFilterFilterSensitiveLog;\nconst TieringFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TieringFilterSensitiveLog = TieringFilterSensitiveLog;\nconst IntelligentTieringConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.IntelligentTieringConfigurationFilterSensitiveLog = IntelligentTieringConfigurationFilterSensitiveLog;\nconst GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog = GetBucketIntelligentTieringConfigurationOutputFilterSensitiveLog;\nconst GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = GetBucketIntelligentTieringConfigurationRequestFilterSensitiveLog;\nconst SSEKMSFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.KeyId && { KeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.SSEKMSFilterSensitiveLog = SSEKMSFilterSensitiveLog;\nconst SSES3FilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.SSES3FilterSensitiveLog = SSES3FilterSensitiveLog;\nconst InventoryEncryptionFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMS && { SSEKMS: (0, exports.SSEKMSFilterSensitiveLog)(obj.SSEKMS) }),\n});\nexports.InventoryEncryptionFilterSensitiveLog = InventoryEncryptionFilterSensitiveLog;\nconst InventoryS3BucketDestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Encryption && { Encryption: (0, exports.InventoryEncryptionFilterSensitiveLog)(obj.Encryption) }),\n});\nexports.InventoryS3BucketDestinationFilterSensitiveLog = InventoryS3BucketDestinationFilterSensitiveLog;\nconst InventoryDestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.S3BucketDestination && {\n S3BucketDestination: (0, exports.InventoryS3BucketDestinationFilterSensitiveLog)(obj.S3BucketDestination),\n }),\n});\nexports.InventoryDestinationFilterSensitiveLog = InventoryDestinationFilterSensitiveLog;\nconst InventoryFilterFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.InventoryFilterFilterSensitiveLog = InventoryFilterFilterSensitiveLog;\nconst InventoryScheduleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.InventoryScheduleFilterSensitiveLog = InventoryScheduleFilterSensitiveLog;\nconst InventoryConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Destination && { Destination: (0, exports.InventoryDestinationFilterSensitiveLog)(obj.Destination) }),\n});\nexports.InventoryConfigurationFilterSensitiveLog = InventoryConfigurationFilterSensitiveLog;\nconst GetBucketInventoryConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.InventoryConfiguration && {\n InventoryConfiguration: (0, exports.InventoryConfigurationFilterSensitiveLog)(obj.InventoryConfiguration),\n }),\n});\nexports.GetBucketInventoryConfigurationOutputFilterSensitiveLog = GetBucketInventoryConfigurationOutputFilterSensitiveLog;\nconst GetBucketInventoryConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketInventoryConfigurationRequestFilterSensitiveLog = GetBucketInventoryConfigurationRequestFilterSensitiveLog;\nconst LifecycleExpirationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.LifecycleExpirationFilterSensitiveLog = LifecycleExpirationFilterSensitiveLog;\nconst LifecycleRuleAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.LifecycleRuleAndOperatorFilterSensitiveLog = LifecycleRuleAndOperatorFilterSensitiveLog;\nconst LifecycleRuleFilterFilterSensitiveLog = (obj) => {\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: (0, exports.TagFilterSensitiveLog)(obj.Tag) };\n if (obj.ObjectSizeGreaterThan !== undefined)\n return { ObjectSizeGreaterThan: obj.ObjectSizeGreaterThan };\n if (obj.ObjectSizeLessThan !== undefined)\n return { ObjectSizeLessThan: obj.ObjectSizeLessThan };\n if (obj.And !== undefined)\n return { And: (0, exports.LifecycleRuleAndOperatorFilterSensitiveLog)(obj.And) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.LifecycleRuleFilterFilterSensitiveLog = LifecycleRuleFilterFilterSensitiveLog;\nconst NoncurrentVersionExpirationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.NoncurrentVersionExpirationFilterSensitiveLog = NoncurrentVersionExpirationFilterSensitiveLog;\nconst NoncurrentVersionTransitionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.NoncurrentVersionTransitionFilterSensitiveLog = NoncurrentVersionTransitionFilterSensitiveLog;\nconst TransitionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TransitionFilterSensitiveLog = TransitionFilterSensitiveLog;\nconst LifecycleRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Filter && { Filter: (0, exports.LifecycleRuleFilterFilterSensitiveLog)(obj.Filter) }),\n});\nexports.LifecycleRuleFilterSensitiveLog = LifecycleRuleFilterSensitiveLog;\nconst GetBucketLifecycleConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => (0, exports.LifecycleRuleFilterSensitiveLog)(item)) }),\n});\nexports.GetBucketLifecycleConfigurationOutputFilterSensitiveLog = GetBucketLifecycleConfigurationOutputFilterSensitiveLog;\nconst GetBucketLifecycleConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLifecycleConfigurationRequestFilterSensitiveLog = GetBucketLifecycleConfigurationRequestFilterSensitiveLog;\nconst GetBucketLocationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLocationOutputFilterSensitiveLog = GetBucketLocationOutputFilterSensitiveLog;\nconst GetBucketLocationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLocationRequestFilterSensitiveLog = GetBucketLocationRequestFilterSensitiveLog;\nconst TargetGrantFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TargetGrantFilterSensitiveLog = TargetGrantFilterSensitiveLog;\nconst LoggingEnabledFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.LoggingEnabledFilterSensitiveLog = LoggingEnabledFilterSensitiveLog;\nconst GetBucketLoggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLoggingOutputFilterSensitiveLog = GetBucketLoggingOutputFilterSensitiveLog;\nconst GetBucketLoggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketLoggingRequestFilterSensitiveLog = GetBucketLoggingRequestFilterSensitiveLog;\nconst MetricsAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.MetricsAndOperatorFilterSensitiveLog = MetricsAndOperatorFilterSensitiveLog;\nconst MetricsFilterFilterSensitiveLog = (obj) => {\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: (0, exports.TagFilterSensitiveLog)(obj.Tag) };\n if (obj.AccessPointArn !== undefined)\n return { AccessPointArn: obj.AccessPointArn };\n if (obj.And !== undefined)\n return { And: (0, exports.MetricsAndOperatorFilterSensitiveLog)(obj.And) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.MetricsFilterFilterSensitiveLog = MetricsFilterFilterSensitiveLog;\nconst MetricsConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Filter && { Filter: (0, exports.MetricsFilterFilterSensitiveLog)(obj.Filter) }),\n});\nexports.MetricsConfigurationFilterSensitiveLog = MetricsConfigurationFilterSensitiveLog;\nconst GetBucketMetricsConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.MetricsConfiguration && {\n MetricsConfiguration: (0, exports.MetricsConfigurationFilterSensitiveLog)(obj.MetricsConfiguration),\n }),\n});\nexports.GetBucketMetricsConfigurationOutputFilterSensitiveLog = GetBucketMetricsConfigurationOutputFilterSensitiveLog;\nconst GetBucketMetricsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketMetricsConfigurationRequestFilterSensitiveLog = GetBucketMetricsConfigurationRequestFilterSensitiveLog;\nconst GetBucketNotificationConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketNotificationConfigurationRequestFilterSensitiveLog = GetBucketNotificationConfigurationRequestFilterSensitiveLog;\nconst EventBridgeConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.EventBridgeConfigurationFilterSensitiveLog = EventBridgeConfigurationFilterSensitiveLog;\nconst FilterRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.FilterRuleFilterSensitiveLog = FilterRuleFilterSensitiveLog;\nconst S3KeyFilterFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.S3KeyFilterFilterSensitiveLog = S3KeyFilterFilterSensitiveLog;\nconst NotificationConfigurationFilterFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.NotificationConfigurationFilterFilterSensitiveLog = NotificationConfigurationFilterFilterSensitiveLog;\nconst LambdaFunctionConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.LambdaFunctionConfigurationFilterSensitiveLog = LambdaFunctionConfigurationFilterSensitiveLog;\nconst QueueConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.QueueConfigurationFilterSensitiveLog = QueueConfigurationFilterSensitiveLog;\nconst TopicConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TopicConfigurationFilterSensitiveLog = TopicConfigurationFilterSensitiveLog;\nconst NotificationConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.NotificationConfigurationFilterSensitiveLog = NotificationConfigurationFilterSensitiveLog;\nconst OwnershipControlsRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.OwnershipControlsRuleFilterSensitiveLog = OwnershipControlsRuleFilterSensitiveLog;\nconst OwnershipControlsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.OwnershipControlsFilterSensitiveLog = OwnershipControlsFilterSensitiveLog;\nconst GetBucketOwnershipControlsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketOwnershipControlsOutputFilterSensitiveLog = GetBucketOwnershipControlsOutputFilterSensitiveLog;\nconst GetBucketOwnershipControlsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketOwnershipControlsRequestFilterSensitiveLog = GetBucketOwnershipControlsRequestFilterSensitiveLog;\nconst GetBucketPolicyOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketPolicyOutputFilterSensitiveLog = GetBucketPolicyOutputFilterSensitiveLog;\nconst GetBucketPolicyRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketPolicyRequestFilterSensitiveLog = GetBucketPolicyRequestFilterSensitiveLog;\nconst PolicyStatusFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PolicyStatusFilterSensitiveLog = PolicyStatusFilterSensitiveLog;\nconst GetBucketPolicyStatusOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketPolicyStatusOutputFilterSensitiveLog = GetBucketPolicyStatusOutputFilterSensitiveLog;\nconst GetBucketPolicyStatusRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketPolicyStatusRequestFilterSensitiveLog = GetBucketPolicyStatusRequestFilterSensitiveLog;\nconst DeleteMarkerReplicationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteMarkerReplicationFilterSensitiveLog = DeleteMarkerReplicationFilterSensitiveLog;\nconst EncryptionConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.EncryptionConfigurationFilterSensitiveLog = EncryptionConfigurationFilterSensitiveLog;\nconst ReplicationTimeValueFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ReplicationTimeValueFilterSensitiveLog = ReplicationTimeValueFilterSensitiveLog;\nconst MetricsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.MetricsFilterSensitiveLog = MetricsFilterSensitiveLog;\nconst ReplicationTimeFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ReplicationTimeFilterSensitiveLog = ReplicationTimeFilterSensitiveLog;\nconst DestinationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DestinationFilterSensitiveLog = DestinationFilterSensitiveLog;\nconst ExistingObjectReplicationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ExistingObjectReplicationFilterSensitiveLog = ExistingObjectReplicationFilterSensitiveLog;\nconst ReplicationRuleAndOperatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ReplicationRuleAndOperatorFilterSensitiveLog = ReplicationRuleAndOperatorFilterSensitiveLog;\nconst ReplicationRuleFilterFilterSensitiveLog = (obj) => {\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: (0, exports.TagFilterSensitiveLog)(obj.Tag) };\n if (obj.And !== undefined)\n return { And: (0, exports.ReplicationRuleAndOperatorFilterSensitiveLog)(obj.And) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.ReplicationRuleFilterFilterSensitiveLog = ReplicationRuleFilterFilterSensitiveLog;\nconst ReplicaModificationsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ReplicaModificationsFilterSensitiveLog = ReplicaModificationsFilterSensitiveLog;\nconst SseKmsEncryptedObjectsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.SseKmsEncryptedObjectsFilterSensitiveLog = SseKmsEncryptedObjectsFilterSensitiveLog;\nconst SourceSelectionCriteriaFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.SourceSelectionCriteriaFilterSensitiveLog = SourceSelectionCriteriaFilterSensitiveLog;\nconst ReplicationRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Filter && { Filter: (0, exports.ReplicationRuleFilterFilterSensitiveLog)(obj.Filter) }),\n});\nexports.ReplicationRuleFilterSensitiveLog = ReplicationRuleFilterSensitiveLog;\nconst ReplicationConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => (0, exports.ReplicationRuleFilterSensitiveLog)(item)) }),\n});\nexports.ReplicationConfigurationFilterSensitiveLog = ReplicationConfigurationFilterSensitiveLog;\nconst GetBucketReplicationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ReplicationConfiguration && {\n ReplicationConfiguration: (0, exports.ReplicationConfigurationFilterSensitiveLog)(obj.ReplicationConfiguration),\n }),\n});\nexports.GetBucketReplicationOutputFilterSensitiveLog = GetBucketReplicationOutputFilterSensitiveLog;\nconst GetBucketReplicationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketReplicationRequestFilterSensitiveLog = GetBucketReplicationRequestFilterSensitiveLog;\nconst GetBucketRequestPaymentOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketRequestPaymentOutputFilterSensitiveLog = GetBucketRequestPaymentOutputFilterSensitiveLog;\nconst GetBucketRequestPaymentRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketRequestPaymentRequestFilterSensitiveLog = GetBucketRequestPaymentRequestFilterSensitiveLog;\nconst GetBucketTaggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketTaggingOutputFilterSensitiveLog = GetBucketTaggingOutputFilterSensitiveLog;\nconst GetBucketTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketTaggingRequestFilterSensitiveLog = GetBucketTaggingRequestFilterSensitiveLog;\nconst GetBucketVersioningOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketVersioningOutputFilterSensitiveLog = GetBucketVersioningOutputFilterSensitiveLog;\nconst GetBucketVersioningRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketVersioningRequestFilterSensitiveLog = GetBucketVersioningRequestFilterSensitiveLog;\nconst ErrorDocumentFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ErrorDocumentFilterSensitiveLog = ErrorDocumentFilterSensitiveLog;\nconst IndexDocumentFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.IndexDocumentFilterSensitiveLog = IndexDocumentFilterSensitiveLog;\nconst RedirectAllRequestsToFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RedirectAllRequestsToFilterSensitiveLog = RedirectAllRequestsToFilterSensitiveLog;\nconst ConditionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ConditionFilterSensitiveLog = ConditionFilterSensitiveLog;\nconst RedirectFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RedirectFilterSensitiveLog = RedirectFilterSensitiveLog;\nconst RoutingRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RoutingRuleFilterSensitiveLog = RoutingRuleFilterSensitiveLog;\nconst GetBucketWebsiteOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketWebsiteOutputFilterSensitiveLog = GetBucketWebsiteOutputFilterSensitiveLog;\nconst GetBucketWebsiteRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetBucketWebsiteRequestFilterSensitiveLog = GetBucketWebsiteRequestFilterSensitiveLog;\nconst GetObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.GetObjectOutputFilterSensitiveLog = GetObjectOutputFilterSensitiveLog;\nconst GetObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.GetObjectRequestFilterSensitiveLog = GetObjectRequestFilterSensitiveLog;\nconst GetObjectAclOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectAclOutputFilterSensitiveLog = GetObjectAclOutputFilterSensitiveLog;\nconst GetObjectAclRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectAclRequestFilterSensitiveLog = GetObjectAclRequestFilterSensitiveLog;\nconst ChecksumFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ChecksumFilterSensitiveLog = ChecksumFilterSensitiveLog;\nconst ObjectPartFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectPartFilterSensitiveLog = ObjectPartFilterSensitiveLog;\nconst GetObjectAttributesPartsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectAttributesPartsFilterSensitiveLog = GetObjectAttributesPartsFilterSensitiveLog;\nconst GetObjectAttributesOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectAttributesOutputFilterSensitiveLog = GetObjectAttributesOutputFilterSensitiveLog;\nconst GetObjectAttributesRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.GetObjectAttributesRequestFilterSensitiveLog = GetObjectAttributesRequestFilterSensitiveLog;\nconst ObjectLockLegalHoldFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectLockLegalHoldFilterSensitiveLog = ObjectLockLegalHoldFilterSensitiveLog;\nconst GetObjectLegalHoldOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectLegalHoldOutputFilterSensitiveLog = GetObjectLegalHoldOutputFilterSensitiveLog;\nconst GetObjectLegalHoldRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectLegalHoldRequestFilterSensitiveLog = GetObjectLegalHoldRequestFilterSensitiveLog;\nconst DefaultRetentionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DefaultRetentionFilterSensitiveLog = DefaultRetentionFilterSensitiveLog;\nconst ObjectLockRuleFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectLockRuleFilterSensitiveLog = ObjectLockRuleFilterSensitiveLog;\nconst ObjectLockConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectLockConfigurationFilterSensitiveLog = ObjectLockConfigurationFilterSensitiveLog;\nconst GetObjectLockConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectLockConfigurationOutputFilterSensitiveLog = GetObjectLockConfigurationOutputFilterSensitiveLog;\nconst GetObjectLockConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectLockConfigurationRequestFilterSensitiveLog = GetObjectLockConfigurationRequestFilterSensitiveLog;\nconst ObjectLockRetentionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectLockRetentionFilterSensitiveLog = ObjectLockRetentionFilterSensitiveLog;\nconst GetObjectRetentionOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectRetentionOutputFilterSensitiveLog = GetObjectRetentionOutputFilterSensitiveLog;\nconst GetObjectRetentionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectRetentionRequestFilterSensitiveLog = GetObjectRetentionRequestFilterSensitiveLog;\nconst GetObjectTaggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectTaggingOutputFilterSensitiveLog = GetObjectTaggingOutputFilterSensitiveLog;\nconst GetObjectTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectTaggingRequestFilterSensitiveLog = GetObjectTaggingRequestFilterSensitiveLog;\nconst GetObjectTorrentOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectTorrentOutputFilterSensitiveLog = GetObjectTorrentOutputFilterSensitiveLog;\nconst GetObjectTorrentRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetObjectTorrentRequestFilterSensitiveLog = GetObjectTorrentRequestFilterSensitiveLog;\nconst PublicAccessBlockConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PublicAccessBlockConfigurationFilterSensitiveLog = PublicAccessBlockConfigurationFilterSensitiveLog;\nconst GetPublicAccessBlockOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetPublicAccessBlockOutputFilterSensitiveLog = GetPublicAccessBlockOutputFilterSensitiveLog;\nconst GetPublicAccessBlockRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetPublicAccessBlockRequestFilterSensitiveLog = GetPublicAccessBlockRequestFilterSensitiveLog;\nconst HeadBucketRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.HeadBucketRequestFilterSensitiveLog = HeadBucketRequestFilterSensitiveLog;\nconst HeadObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.HeadObjectOutputFilterSensitiveLog = HeadObjectOutputFilterSensitiveLog;\nconst HeadObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.HeadObjectRequestFilterSensitiveLog = HeadObjectRequestFilterSensitiveLog;\nconst ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.AnalyticsConfigurationList && {\n AnalyticsConfigurationList: obj.AnalyticsConfigurationList.map((item) => (0, exports.AnalyticsConfigurationFilterSensitiveLog)(item)),\n }),\n});\nexports.ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog = ListBucketAnalyticsConfigurationsOutputFilterSensitiveLog;\nconst ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog = ListBucketAnalyticsConfigurationsRequestFilterSensitiveLog;\nconst ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog = ListBucketIntelligentTieringConfigurationsOutputFilterSensitiveLog;\nconst ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog = ListBucketIntelligentTieringConfigurationsRequestFilterSensitiveLog;\nconst ListBucketInventoryConfigurationsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.InventoryConfigurationList && {\n InventoryConfigurationList: obj.InventoryConfigurationList.map((item) => (0, exports.InventoryConfigurationFilterSensitiveLog)(item)),\n }),\n});\nexports.ListBucketInventoryConfigurationsOutputFilterSensitiveLog = ListBucketInventoryConfigurationsOutputFilterSensitiveLog;\nconst ListBucketInventoryConfigurationsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketInventoryConfigurationsRequestFilterSensitiveLog = ListBucketInventoryConfigurationsRequestFilterSensitiveLog;\nconst ListBucketMetricsConfigurationsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.MetricsConfigurationList && {\n MetricsConfigurationList: obj.MetricsConfigurationList.map((item) => (0, exports.MetricsConfigurationFilterSensitiveLog)(item)),\n }),\n});\nexports.ListBucketMetricsConfigurationsOutputFilterSensitiveLog = ListBucketMetricsConfigurationsOutputFilterSensitiveLog;\nconst ListBucketMetricsConfigurationsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketMetricsConfigurationsRequestFilterSensitiveLog = ListBucketMetricsConfigurationsRequestFilterSensitiveLog;\nconst BucketFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.BucketFilterSensitiveLog = BucketFilterSensitiveLog;\nconst ListBucketsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListBucketsOutputFilterSensitiveLog = ListBucketsOutputFilterSensitiveLog;\nconst CommonPrefixFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CommonPrefixFilterSensitiveLog = CommonPrefixFilterSensitiveLog;\nconst InitiatorFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.InitiatorFilterSensitiveLog = InitiatorFilterSensitiveLog;\nconst MultipartUploadFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.MultipartUploadFilterSensitiveLog = MultipartUploadFilterSensitiveLog;\nconst ListMultipartUploadsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListMultipartUploadsOutputFilterSensitiveLog = ListMultipartUploadsOutputFilterSensitiveLog;\nconst ListMultipartUploadsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListMultipartUploadsRequestFilterSensitiveLog = ListMultipartUploadsRequestFilterSensitiveLog;\nconst _ObjectFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports._ObjectFilterSensitiveLog = _ObjectFilterSensitiveLog;\nconst ListObjectsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectsOutputFilterSensitiveLog = ListObjectsOutputFilterSensitiveLog;\nconst ListObjectsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectsRequestFilterSensitiveLog = ListObjectsRequestFilterSensitiveLog;\nconst ListObjectsV2OutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectsV2OutputFilterSensitiveLog = ListObjectsV2OutputFilterSensitiveLog;\nconst ListObjectsV2RequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectsV2RequestFilterSensitiveLog = ListObjectsV2RequestFilterSensitiveLog;\nconst DeleteMarkerEntryFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DeleteMarkerEntryFilterSensitiveLog = DeleteMarkerEntryFilterSensitiveLog;\nconst ObjectVersionFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ObjectVersionFilterSensitiveLog = ObjectVersionFilterSensitiveLog;\nconst ListObjectVersionsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectVersionsOutputFilterSensitiveLog = ListObjectVersionsOutputFilterSensitiveLog;\nconst ListObjectVersionsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListObjectVersionsRequestFilterSensitiveLog = ListObjectVersionsRequestFilterSensitiveLog;\nconst PartFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PartFilterSensitiveLog = PartFilterSensitiveLog;\nconst ListPartsOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListPartsOutputFilterSensitiveLog = ListPartsOutputFilterSensitiveLog;\nconst ListPartsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.ListPartsRequestFilterSensitiveLog = ListPartsRequestFilterSensitiveLog;\nconst PutBucketAccelerateConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketAccelerateConfigurationRequestFilterSensitiveLog = PutBucketAccelerateConfigurationRequestFilterSensitiveLog;\nconst PutBucketAclRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketAclRequestFilterSensitiveLog = PutBucketAclRequestFilterSensitiveLog;\nconst PutBucketAnalyticsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.AnalyticsConfiguration && {\n AnalyticsConfiguration: (0, exports.AnalyticsConfigurationFilterSensitiveLog)(obj.AnalyticsConfiguration),\n }),\n});\nexports.PutBucketAnalyticsConfigurationRequestFilterSensitiveLog = PutBucketAnalyticsConfigurationRequestFilterSensitiveLog;\nconst CORSConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CORSConfigurationFilterSensitiveLog = CORSConfigurationFilterSensitiveLog;\nconst PutBucketCorsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketCorsRequestFilterSensitiveLog = PutBucketCorsRequestFilterSensitiveLog;\nconst PutBucketEncryptionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ServerSideEncryptionConfiguration && {\n ServerSideEncryptionConfiguration: (0, exports.ServerSideEncryptionConfigurationFilterSensitiveLog)(obj.ServerSideEncryptionConfiguration),\n }),\n});\nexports.PutBucketEncryptionRequestFilterSensitiveLog = PutBucketEncryptionRequestFilterSensitiveLog;\nconst PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog = PutBucketIntelligentTieringConfigurationRequestFilterSensitiveLog;\nconst PutBucketInventoryConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.InventoryConfiguration && {\n InventoryConfiguration: (0, exports.InventoryConfigurationFilterSensitiveLog)(obj.InventoryConfiguration),\n }),\n});\nexports.PutBucketInventoryConfigurationRequestFilterSensitiveLog = PutBucketInventoryConfigurationRequestFilterSensitiveLog;\nconst BucketLifecycleConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => (0, exports.LifecycleRuleFilterSensitiveLog)(item)) }),\n});\nexports.BucketLifecycleConfigurationFilterSensitiveLog = BucketLifecycleConfigurationFilterSensitiveLog;\nconst PutBucketLifecycleConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.LifecycleConfiguration && {\n LifecycleConfiguration: (0, exports.BucketLifecycleConfigurationFilterSensitiveLog)(obj.LifecycleConfiguration),\n }),\n});\nexports.PutBucketLifecycleConfigurationRequestFilterSensitiveLog = PutBucketLifecycleConfigurationRequestFilterSensitiveLog;\nconst BucketLoggingStatusFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.BucketLoggingStatusFilterSensitiveLog = BucketLoggingStatusFilterSensitiveLog;\nconst PutBucketLoggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketLoggingRequestFilterSensitiveLog = PutBucketLoggingRequestFilterSensitiveLog;\nconst PutBucketMetricsConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.MetricsConfiguration && {\n MetricsConfiguration: (0, exports.MetricsConfigurationFilterSensitiveLog)(obj.MetricsConfiguration),\n }),\n});\nexports.PutBucketMetricsConfigurationRequestFilterSensitiveLog = PutBucketMetricsConfigurationRequestFilterSensitiveLog;\nconst PutBucketNotificationConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketNotificationConfigurationRequestFilterSensitiveLog = PutBucketNotificationConfigurationRequestFilterSensitiveLog;\nconst PutBucketOwnershipControlsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketOwnershipControlsRequestFilterSensitiveLog = PutBucketOwnershipControlsRequestFilterSensitiveLog;\nconst PutBucketPolicyRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketPolicyRequestFilterSensitiveLog = PutBucketPolicyRequestFilterSensitiveLog;\nconst PutBucketReplicationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.ReplicationConfiguration && {\n ReplicationConfiguration: (0, exports.ReplicationConfigurationFilterSensitiveLog)(obj.ReplicationConfiguration),\n }),\n});\nexports.PutBucketReplicationRequestFilterSensitiveLog = PutBucketReplicationRequestFilterSensitiveLog;\nconst RequestPaymentConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RequestPaymentConfigurationFilterSensitiveLog = RequestPaymentConfigurationFilterSensitiveLog;\nconst PutBucketRequestPaymentRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketRequestPaymentRequestFilterSensitiveLog = PutBucketRequestPaymentRequestFilterSensitiveLog;\nconst TaggingFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TaggingFilterSensitiveLog = TaggingFilterSensitiveLog;\nconst PutBucketTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketTaggingRequestFilterSensitiveLog = PutBucketTaggingRequestFilterSensitiveLog;\nconst VersioningConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.VersioningConfigurationFilterSensitiveLog = VersioningConfigurationFilterSensitiveLog;\nconst PutBucketVersioningRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketVersioningRequestFilterSensitiveLog = PutBucketVersioningRequestFilterSensitiveLog;\nconst WebsiteConfigurationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.WebsiteConfigurationFilterSensitiveLog = WebsiteConfigurationFilterSensitiveLog;\nconst PutBucketWebsiteRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutBucketWebsiteRequestFilterSensitiveLog = PutBucketWebsiteRequestFilterSensitiveLog;\nconst PutObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.PutObjectOutputFilterSensitiveLog = PutObjectOutputFilterSensitiveLog;\nconst PutObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.PutObjectRequestFilterSensitiveLog = PutObjectRequestFilterSensitiveLog;\nconst PutObjectAclOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectAclOutputFilterSensitiveLog = PutObjectAclOutputFilterSensitiveLog;\nconst PutObjectAclRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectAclRequestFilterSensitiveLog = PutObjectAclRequestFilterSensitiveLog;\nconst PutObjectLegalHoldOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectLegalHoldOutputFilterSensitiveLog = PutObjectLegalHoldOutputFilterSensitiveLog;\nconst PutObjectLegalHoldRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectLegalHoldRequestFilterSensitiveLog = PutObjectLegalHoldRequestFilterSensitiveLog;\nconst PutObjectLockConfigurationOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectLockConfigurationOutputFilterSensitiveLog = PutObjectLockConfigurationOutputFilterSensitiveLog;\nconst PutObjectLockConfigurationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectLockConfigurationRequestFilterSensitiveLog = PutObjectLockConfigurationRequestFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WriteGetObjectResponseRequestFilterSensitiveLog = exports.UploadPartCopyRequestFilterSensitiveLog = exports.UploadPartCopyOutputFilterSensitiveLog = exports.CopyPartResultFilterSensitiveLog = exports.UploadPartRequestFilterSensitiveLog = exports.UploadPartOutputFilterSensitiveLog = exports.SelectObjectContentRequestFilterSensitiveLog = exports.ScanRangeFilterSensitiveLog = exports.RequestProgressFilterSensitiveLog = exports.SelectObjectContentOutputFilterSensitiveLog = exports.SelectObjectContentEventStreamFilterSensitiveLog = exports.StatsEventFilterSensitiveLog = exports.StatsFilterSensitiveLog = exports.RecordsEventFilterSensitiveLog = exports.ProgressEventFilterSensitiveLog = exports.ProgressFilterSensitiveLog = exports.EndEventFilterSensitiveLog = exports.ContinuationEventFilterSensitiveLog = exports.RestoreObjectRequestFilterSensitiveLog = exports.RestoreRequestFilterSensitiveLog = exports.SelectParametersFilterSensitiveLog = exports.OutputSerializationFilterSensitiveLog = exports.JSONOutputFilterSensitiveLog = exports.CSVOutputFilterSensitiveLog = exports.InputSerializationFilterSensitiveLog = exports.ParquetInputFilterSensitiveLog = exports.JSONInputFilterSensitiveLog = exports.CSVInputFilterSensitiveLog = exports.OutputLocationFilterSensitiveLog = exports.S3LocationFilterSensitiveLog = exports.MetadataEntryFilterSensitiveLog = exports.EncryptionFilterSensitiveLog = exports.GlacierJobParametersFilterSensitiveLog = exports.RestoreObjectOutputFilterSensitiveLog = exports.PutPublicAccessBlockRequestFilterSensitiveLog = exports.PutObjectTaggingRequestFilterSensitiveLog = exports.PutObjectTaggingOutputFilterSensitiveLog = exports.PutObjectRetentionRequestFilterSensitiveLog = exports.PutObjectRetentionOutputFilterSensitiveLog = exports.SelectObjectContentEventStream = exports.RestoreRequestType = exports.QuoteFields = exports.JSONType = exports.FileHeaderInfo = exports.CompressionType = exports.ExpressionType = exports.Tier = exports.ObjectAlreadyInActiveTierError = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst S3ServiceException_1 = require(\"./S3ServiceException\");\nclass ObjectAlreadyInActiveTierError extends S3ServiceException_1.S3ServiceException {\n constructor(opts) {\n super({\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ObjectAlreadyInActiveTierError\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ObjectAlreadyInActiveTierError.prototype);\n }\n}\nexports.ObjectAlreadyInActiveTierError = ObjectAlreadyInActiveTierError;\nvar Tier;\n(function (Tier) {\n Tier[\"Bulk\"] = \"Bulk\";\n Tier[\"Expedited\"] = \"Expedited\";\n Tier[\"Standard\"] = \"Standard\";\n})(Tier = exports.Tier || (exports.Tier = {}));\nvar ExpressionType;\n(function (ExpressionType) {\n ExpressionType[\"SQL\"] = \"SQL\";\n})(ExpressionType = exports.ExpressionType || (exports.ExpressionType = {}));\nvar CompressionType;\n(function (CompressionType) {\n CompressionType[\"BZIP2\"] = \"BZIP2\";\n CompressionType[\"GZIP\"] = \"GZIP\";\n CompressionType[\"NONE\"] = \"NONE\";\n})(CompressionType = exports.CompressionType || (exports.CompressionType = {}));\nvar FileHeaderInfo;\n(function (FileHeaderInfo) {\n FileHeaderInfo[\"IGNORE\"] = \"IGNORE\";\n FileHeaderInfo[\"NONE\"] = \"NONE\";\n FileHeaderInfo[\"USE\"] = \"USE\";\n})(FileHeaderInfo = exports.FileHeaderInfo || (exports.FileHeaderInfo = {}));\nvar JSONType;\n(function (JSONType) {\n JSONType[\"DOCUMENT\"] = \"DOCUMENT\";\n JSONType[\"LINES\"] = \"LINES\";\n})(JSONType = exports.JSONType || (exports.JSONType = {}));\nvar QuoteFields;\n(function (QuoteFields) {\n QuoteFields[\"ALWAYS\"] = \"ALWAYS\";\n QuoteFields[\"ASNEEDED\"] = \"ASNEEDED\";\n})(QuoteFields = exports.QuoteFields || (exports.QuoteFields = {}));\nvar RestoreRequestType;\n(function (RestoreRequestType) {\n RestoreRequestType[\"SELECT\"] = \"SELECT\";\n})(RestoreRequestType = exports.RestoreRequestType || (exports.RestoreRequestType = {}));\nvar SelectObjectContentEventStream;\n(function (SelectObjectContentEventStream) {\n SelectObjectContentEventStream.visit = (value, visitor) => {\n if (value.Records !== undefined)\n return visitor.Records(value.Records);\n if (value.Stats !== undefined)\n return visitor.Stats(value.Stats);\n if (value.Progress !== undefined)\n return visitor.Progress(value.Progress);\n if (value.Cont !== undefined)\n return visitor.Cont(value.Cont);\n if (value.End !== undefined)\n return visitor.End(value.End);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(SelectObjectContentEventStream = exports.SelectObjectContentEventStream || (exports.SelectObjectContentEventStream = {}));\nconst PutObjectRetentionOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectRetentionOutputFilterSensitiveLog = PutObjectRetentionOutputFilterSensitiveLog;\nconst PutObjectRetentionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectRetentionRequestFilterSensitiveLog = PutObjectRetentionRequestFilterSensitiveLog;\nconst PutObjectTaggingOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectTaggingOutputFilterSensitiveLog = PutObjectTaggingOutputFilterSensitiveLog;\nconst PutObjectTaggingRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutObjectTaggingRequestFilterSensitiveLog = PutObjectTaggingRequestFilterSensitiveLog;\nconst PutPublicAccessBlockRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PutPublicAccessBlockRequestFilterSensitiveLog = PutPublicAccessBlockRequestFilterSensitiveLog;\nconst RestoreObjectOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RestoreObjectOutputFilterSensitiveLog = RestoreObjectOutputFilterSensitiveLog;\nconst GlacierJobParametersFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GlacierJobParametersFilterSensitiveLog = GlacierJobParametersFilterSensitiveLog;\nconst EncryptionFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.KMSKeyId && { KMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.EncryptionFilterSensitiveLog = EncryptionFilterSensitiveLog;\nconst MetadataEntryFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.MetadataEntryFilterSensitiveLog = MetadataEntryFilterSensitiveLog;\nconst S3LocationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Encryption && { Encryption: (0, exports.EncryptionFilterSensitiveLog)(obj.Encryption) }),\n});\nexports.S3LocationFilterSensitiveLog = S3LocationFilterSensitiveLog;\nconst OutputLocationFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.S3 && { S3: (0, exports.S3LocationFilterSensitiveLog)(obj.S3) }),\n});\nexports.OutputLocationFilterSensitiveLog = OutputLocationFilterSensitiveLog;\nconst CSVInputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CSVInputFilterSensitiveLog = CSVInputFilterSensitiveLog;\nconst JSONInputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.JSONInputFilterSensitiveLog = JSONInputFilterSensitiveLog;\nconst ParquetInputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ParquetInputFilterSensitiveLog = ParquetInputFilterSensitiveLog;\nconst InputSerializationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.InputSerializationFilterSensitiveLog = InputSerializationFilterSensitiveLog;\nconst CSVOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CSVOutputFilterSensitiveLog = CSVOutputFilterSensitiveLog;\nconst JSONOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.JSONOutputFilterSensitiveLog = JSONOutputFilterSensitiveLog;\nconst OutputSerializationFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.OutputSerializationFilterSensitiveLog = OutputSerializationFilterSensitiveLog;\nconst SelectParametersFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.SelectParametersFilterSensitiveLog = SelectParametersFilterSensitiveLog;\nconst RestoreRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.OutputLocation && { OutputLocation: (0, exports.OutputLocationFilterSensitiveLog)(obj.OutputLocation) }),\n});\nexports.RestoreRequestFilterSensitiveLog = RestoreRequestFilterSensitiveLog;\nconst RestoreObjectRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.RestoreRequest && { RestoreRequest: (0, exports.RestoreRequestFilterSensitiveLog)(obj.RestoreRequest) }),\n});\nexports.RestoreObjectRequestFilterSensitiveLog = RestoreObjectRequestFilterSensitiveLog;\nconst ContinuationEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ContinuationEventFilterSensitiveLog = ContinuationEventFilterSensitiveLog;\nconst EndEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.EndEventFilterSensitiveLog = EndEventFilterSensitiveLog;\nconst ProgressFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ProgressFilterSensitiveLog = ProgressFilterSensitiveLog;\nconst ProgressEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ProgressEventFilterSensitiveLog = ProgressEventFilterSensitiveLog;\nconst RecordsEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RecordsEventFilterSensitiveLog = RecordsEventFilterSensitiveLog;\nconst StatsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StatsFilterSensitiveLog = StatsFilterSensitiveLog;\nconst StatsEventFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StatsEventFilterSensitiveLog = StatsEventFilterSensitiveLog;\nconst SelectObjectContentEventStreamFilterSensitiveLog = (obj) => {\n if (obj.Records !== undefined)\n return { Records: (0, exports.RecordsEventFilterSensitiveLog)(obj.Records) };\n if (obj.Stats !== undefined)\n return { Stats: (0, exports.StatsEventFilterSensitiveLog)(obj.Stats) };\n if (obj.Progress !== undefined)\n return { Progress: (0, exports.ProgressEventFilterSensitiveLog)(obj.Progress) };\n if (obj.Cont !== undefined)\n return { Cont: (0, exports.ContinuationEventFilterSensitiveLog)(obj.Cont) };\n if (obj.End !== undefined)\n return { End: (0, exports.EndEventFilterSensitiveLog)(obj.End) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexports.SelectObjectContentEventStreamFilterSensitiveLog = SelectObjectContentEventStreamFilterSensitiveLog;\nconst SelectObjectContentOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Payload && { Payload: \"STREAMING_CONTENT\" }),\n});\nexports.SelectObjectContentOutputFilterSensitiveLog = SelectObjectContentOutputFilterSensitiveLog;\nconst RequestProgressFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RequestProgressFilterSensitiveLog = RequestProgressFilterSensitiveLog;\nconst ScanRangeFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ScanRangeFilterSensitiveLog = ScanRangeFilterSensitiveLog;\nconst SelectObjectContentRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.SelectObjectContentRequestFilterSensitiveLog = SelectObjectContentRequestFilterSensitiveLog;\nconst UploadPartOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.UploadPartOutputFilterSensitiveLog = UploadPartOutputFilterSensitiveLog;\nconst UploadPartRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.UploadPartRequestFilterSensitiveLog = UploadPartRequestFilterSensitiveLog;\nconst CopyPartResultFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CopyPartResultFilterSensitiveLog = CopyPartResultFilterSensitiveLog;\nconst UploadPartCopyOutputFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.UploadPartCopyOutputFilterSensitiveLog = UploadPartCopyOutputFilterSensitiveLog;\nconst UploadPartCopyRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.UploadPartCopyRequestFilterSensitiveLog = UploadPartCopyRequestFilterSensitiveLog;\nconst WriteGetObjectResponseRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.WriteGetObjectResponseRequestFilterSensitiveLog = WriteGetObjectResponseRequestFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.paginateListObjectsV2 = void 0;\nconst ListObjectsV2Command_1 = require(\"../commands/ListObjectsV2Command\");\nconst S3_1 = require(\"../S3\");\nconst S3Client_1 = require(\"../S3Client\");\nconst makePagedClientRequest = async (client, input, ...args) => {\n return await client.send(new ListObjectsV2Command_1.ListObjectsV2Command(input), ...args);\n};\nconst makePagedRequest = async (client, input, ...args) => {\n return await client.listObjectsV2(input, ...args);\n};\nasync function* paginateListObjectsV2(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\n let hasNext = true;\n let page;\n while (hasNext) {\n input.ContinuationToken = token;\n input[\"MaxKeys\"] = config.pageSize;\n if (config.client instanceof S3_1.S3) {\n page = await makePagedRequest(config.client, input, ...additionalArguments);\n }\n else if (config.client instanceof S3Client_1.S3Client) {\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\n }\n else {\n throw new Error(\"Invalid client, expected S3 | S3Client\");\n }\n yield page;\n const prevToken = token;\n token = page.NextContinuationToken;\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n}\nexports.paginateListObjectsV2 = paginateListObjectsV2;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.paginateListParts = void 0;\nconst ListPartsCommand_1 = require(\"../commands/ListPartsCommand\");\nconst S3_1 = require(\"../S3\");\nconst S3Client_1 = require(\"../S3Client\");\nconst makePagedClientRequest = async (client, input, ...args) => {\n return await client.send(new ListPartsCommand_1.ListPartsCommand(input), ...args);\n};\nconst makePagedRequest = async (client, input, ...args) => {\n return await client.listParts(input, ...args);\n};\nasync function* paginateListParts(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\n let hasNext = true;\n let page;\n while (hasNext) {\n input.PartNumberMarker = token;\n input[\"MaxParts\"] = config.pageSize;\n if (config.client instanceof S3_1.S3) {\n page = await makePagedRequest(config.client, input, ...additionalArguments);\n }\n else if (config.client instanceof S3Client_1.S3Client) {\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\n }\n else {\n throw new Error(\"Invalid client, expected S3 | S3Client\");\n }\n yield page;\n const prevToken = token;\n token = page.NextPartNumberMarker;\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n}\nexports.paginateListParts = paginateListParts;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./Interfaces\"), exports);\ntslib_1.__exportStar(require(\"./ListObjectsV2Paginator\"), exports);\ntslib_1.__exportStar(require(\"./ListPartsPaginator\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeAws_restXmlGetObjectTorrentCommand = exports.serializeAws_restXmlGetObjectTaggingCommand = exports.serializeAws_restXmlGetObjectRetentionCommand = exports.serializeAws_restXmlGetObjectLockConfigurationCommand = exports.serializeAws_restXmlGetObjectLegalHoldCommand = exports.serializeAws_restXmlGetObjectAttributesCommand = exports.serializeAws_restXmlGetObjectAclCommand = exports.serializeAws_restXmlGetObjectCommand = exports.serializeAws_restXmlGetBucketWebsiteCommand = exports.serializeAws_restXmlGetBucketVersioningCommand = exports.serializeAws_restXmlGetBucketTaggingCommand = exports.serializeAws_restXmlGetBucketRequestPaymentCommand = exports.serializeAws_restXmlGetBucketReplicationCommand = exports.serializeAws_restXmlGetBucketPolicyStatusCommand = exports.serializeAws_restXmlGetBucketPolicyCommand = exports.serializeAws_restXmlGetBucketOwnershipControlsCommand = exports.serializeAws_restXmlGetBucketNotificationConfigurationCommand = exports.serializeAws_restXmlGetBucketMetricsConfigurationCommand = exports.serializeAws_restXmlGetBucketLoggingCommand = exports.serializeAws_restXmlGetBucketLocationCommand = exports.serializeAws_restXmlGetBucketLifecycleConfigurationCommand = exports.serializeAws_restXmlGetBucketInventoryConfigurationCommand = exports.serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlGetBucketEncryptionCommand = exports.serializeAws_restXmlGetBucketCorsCommand = exports.serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlGetBucketAclCommand = exports.serializeAws_restXmlGetBucketAccelerateConfigurationCommand = exports.serializeAws_restXmlDeletePublicAccessBlockCommand = exports.serializeAws_restXmlDeleteObjectTaggingCommand = exports.serializeAws_restXmlDeleteObjectsCommand = exports.serializeAws_restXmlDeleteObjectCommand = exports.serializeAws_restXmlDeleteBucketWebsiteCommand = exports.serializeAws_restXmlDeleteBucketTaggingCommand = exports.serializeAws_restXmlDeleteBucketReplicationCommand = exports.serializeAws_restXmlDeleteBucketPolicyCommand = exports.serializeAws_restXmlDeleteBucketOwnershipControlsCommand = exports.serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = exports.serializeAws_restXmlDeleteBucketLifecycleCommand = exports.serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = exports.serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlDeleteBucketEncryptionCommand = exports.serializeAws_restXmlDeleteBucketCorsCommand = exports.serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlDeleteBucketCommand = exports.serializeAws_restXmlCreateMultipartUploadCommand = exports.serializeAws_restXmlCreateBucketCommand = exports.serializeAws_restXmlCopyObjectCommand = exports.serializeAws_restXmlCompleteMultipartUploadCommand = exports.serializeAws_restXmlAbortMultipartUploadCommand = void 0;\nexports.deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketCommand = exports.deserializeAws_restXmlCreateMultipartUploadCommand = exports.deserializeAws_restXmlCreateBucketCommand = exports.deserializeAws_restXmlCopyObjectCommand = exports.deserializeAws_restXmlCompleteMultipartUploadCommand = exports.deserializeAws_restXmlAbortMultipartUploadCommand = exports.serializeAws_restXmlWriteGetObjectResponseCommand = exports.serializeAws_restXmlUploadPartCopyCommand = exports.serializeAws_restXmlUploadPartCommand = exports.serializeAws_restXmlSelectObjectContentCommand = exports.serializeAws_restXmlRestoreObjectCommand = exports.serializeAws_restXmlPutPublicAccessBlockCommand = exports.serializeAws_restXmlPutObjectTaggingCommand = exports.serializeAws_restXmlPutObjectRetentionCommand = exports.serializeAws_restXmlPutObjectLockConfigurationCommand = exports.serializeAws_restXmlPutObjectLegalHoldCommand = exports.serializeAws_restXmlPutObjectAclCommand = exports.serializeAws_restXmlPutObjectCommand = exports.serializeAws_restXmlPutBucketWebsiteCommand = exports.serializeAws_restXmlPutBucketVersioningCommand = exports.serializeAws_restXmlPutBucketTaggingCommand = exports.serializeAws_restXmlPutBucketRequestPaymentCommand = exports.serializeAws_restXmlPutBucketReplicationCommand = exports.serializeAws_restXmlPutBucketPolicyCommand = exports.serializeAws_restXmlPutBucketOwnershipControlsCommand = exports.serializeAws_restXmlPutBucketNotificationConfigurationCommand = exports.serializeAws_restXmlPutBucketMetricsConfigurationCommand = exports.serializeAws_restXmlPutBucketLoggingCommand = exports.serializeAws_restXmlPutBucketLifecycleConfigurationCommand = exports.serializeAws_restXmlPutBucketInventoryConfigurationCommand = exports.serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlPutBucketEncryptionCommand = exports.serializeAws_restXmlPutBucketCorsCommand = exports.serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlPutBucketAclCommand = exports.serializeAws_restXmlPutBucketAccelerateConfigurationCommand = exports.serializeAws_restXmlListPartsCommand = exports.serializeAws_restXmlListObjectVersionsCommand = exports.serializeAws_restXmlListObjectsV2Command = exports.serializeAws_restXmlListObjectsCommand = exports.serializeAws_restXmlListMultipartUploadsCommand = exports.serializeAws_restXmlListBucketsCommand = exports.serializeAws_restXmlListBucketMetricsConfigurationsCommand = exports.serializeAws_restXmlListBucketInventoryConfigurationsCommand = exports.serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = exports.serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = exports.serializeAws_restXmlHeadObjectCommand = exports.serializeAws_restXmlHeadBucketCommand = exports.serializeAws_restXmlGetPublicAccessBlockCommand = void 0;\nexports.deserializeAws_restXmlListBucketMetricsConfigurationsCommand = exports.deserializeAws_restXmlListBucketInventoryConfigurationsCommand = exports.deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = exports.deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = exports.deserializeAws_restXmlHeadObjectCommand = exports.deserializeAws_restXmlHeadBucketCommand = exports.deserializeAws_restXmlGetPublicAccessBlockCommand = exports.deserializeAws_restXmlGetObjectTorrentCommand = exports.deserializeAws_restXmlGetObjectTaggingCommand = exports.deserializeAws_restXmlGetObjectRetentionCommand = exports.deserializeAws_restXmlGetObjectLockConfigurationCommand = exports.deserializeAws_restXmlGetObjectLegalHoldCommand = exports.deserializeAws_restXmlGetObjectAttributesCommand = exports.deserializeAws_restXmlGetObjectAclCommand = exports.deserializeAws_restXmlGetObjectCommand = exports.deserializeAws_restXmlGetBucketWebsiteCommand = exports.deserializeAws_restXmlGetBucketVersioningCommand = exports.deserializeAws_restXmlGetBucketTaggingCommand = exports.deserializeAws_restXmlGetBucketRequestPaymentCommand = exports.deserializeAws_restXmlGetBucketReplicationCommand = exports.deserializeAws_restXmlGetBucketPolicyStatusCommand = exports.deserializeAws_restXmlGetBucketPolicyCommand = exports.deserializeAws_restXmlGetBucketOwnershipControlsCommand = exports.deserializeAws_restXmlGetBucketNotificationConfigurationCommand = exports.deserializeAws_restXmlGetBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlGetBucketLoggingCommand = exports.deserializeAws_restXmlGetBucketLocationCommand = exports.deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = exports.deserializeAws_restXmlGetBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlGetBucketEncryptionCommand = exports.deserializeAws_restXmlGetBucketCorsCommand = exports.deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlGetBucketAclCommand = exports.deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = exports.deserializeAws_restXmlDeletePublicAccessBlockCommand = exports.deserializeAws_restXmlDeleteObjectTaggingCommand = exports.deserializeAws_restXmlDeleteObjectsCommand = exports.deserializeAws_restXmlDeleteObjectCommand = exports.deserializeAws_restXmlDeleteBucketWebsiteCommand = exports.deserializeAws_restXmlDeleteBucketTaggingCommand = exports.deserializeAws_restXmlDeleteBucketReplicationCommand = exports.deserializeAws_restXmlDeleteBucketPolicyCommand = exports.deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = exports.deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketLifecycleCommand = exports.deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketEncryptionCommand = exports.deserializeAws_restXmlDeleteBucketCorsCommand = void 0;\nexports.deserializeAws_restXmlWriteGetObjectResponseCommand = exports.deserializeAws_restXmlUploadPartCopyCommand = exports.deserializeAws_restXmlUploadPartCommand = exports.deserializeAws_restXmlSelectObjectContentCommand = exports.deserializeAws_restXmlRestoreObjectCommand = exports.deserializeAws_restXmlPutPublicAccessBlockCommand = exports.deserializeAws_restXmlPutObjectTaggingCommand = exports.deserializeAws_restXmlPutObjectRetentionCommand = exports.deserializeAws_restXmlPutObjectLockConfigurationCommand = exports.deserializeAws_restXmlPutObjectLegalHoldCommand = exports.deserializeAws_restXmlPutObjectAclCommand = exports.deserializeAws_restXmlPutObjectCommand = exports.deserializeAws_restXmlPutBucketWebsiteCommand = exports.deserializeAws_restXmlPutBucketVersioningCommand = exports.deserializeAws_restXmlPutBucketTaggingCommand = exports.deserializeAws_restXmlPutBucketRequestPaymentCommand = exports.deserializeAws_restXmlPutBucketReplicationCommand = exports.deserializeAws_restXmlPutBucketPolicyCommand = exports.deserializeAws_restXmlPutBucketOwnershipControlsCommand = exports.deserializeAws_restXmlPutBucketNotificationConfigurationCommand = exports.deserializeAws_restXmlPutBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlPutBucketLoggingCommand = exports.deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = exports.deserializeAws_restXmlPutBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlPutBucketEncryptionCommand = exports.deserializeAws_restXmlPutBucketCorsCommand = exports.deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlPutBucketAclCommand = exports.deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = exports.deserializeAws_restXmlListPartsCommand = exports.deserializeAws_restXmlListObjectVersionsCommand = exports.deserializeAws_restXmlListObjectsV2Command = exports.deserializeAws_restXmlListObjectsCommand = exports.deserializeAws_restXmlListMultipartUploadsCommand = exports.deserializeAws_restXmlListBucketsCommand = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst xml_builder_1 = require(\"@aws-sdk/xml-builder\");\nconst fast_xml_parser_1 = require(\"fast-xml-parser\");\nconst models_0_1 = require(\"../models/models_0\");\nconst models_1_1 = require(\"../models/models_1\");\nconst S3ServiceException_1 = require(\"../models/S3ServiceException\");\nconst serializeAws_restXmlAbortMultipartUploadCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"AbortMultipartUpload\"],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlAbortMultipartUploadCommand = serializeAws_restXmlAbortMultipartUploadCommand;\nconst serializeAws_restXmlCompleteMultipartUploadCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-checksum-crc32\": input.ChecksumCRC32,\n \"x-amz-checksum-crc32c\": input.ChecksumCRC32C,\n \"x-amz-checksum-sha1\": input.ChecksumSHA1,\n \"x-amz-checksum-sha256\": input.ChecksumSHA256,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"CompleteMultipartUpload\"],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n if (input.MultipartUpload !== undefined) {\n body = serializeAws_restXmlCompletedMultipartUpload(input.MultipartUpload, context);\n }\n let contents;\n if (input.MultipartUpload !== undefined) {\n contents = serializeAws_restXmlCompletedMultipartUpload(input.MultipartUpload, context);\n contents = contents.withName(\"CompleteMultipartUpload\");\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlCompleteMultipartUploadCommand = serializeAws_restXmlCompleteMultipartUploadCommand;\nconst serializeAws_restXmlCopyObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-acl\": input.ACL,\n \"cache-control\": input.CacheControl,\n \"x-amz-checksum-algorithm\": input.ChecksumAlgorithm,\n \"content-disposition\": input.ContentDisposition,\n \"content-encoding\": input.ContentEncoding,\n \"content-language\": input.ContentLanguage,\n \"content-type\": input.ContentType,\n \"x-amz-copy-source\": input.CopySource,\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch,\n \"x-amz-copy-source-if-modified-since\": [\n () => isSerializableHeaderValue(input.CopySourceIfModifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.CopySourceIfModifiedSince).toString(),\n ],\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch,\n \"x-amz-copy-source-if-unmodified-since\": [\n () => isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.CopySourceIfUnmodifiedSince).toString(),\n ],\n expires: [() => isSerializableHeaderValue(input.Expires), () => (0, smithy_client_1.dateToUtcString)(input.Expires).toString()],\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-metadata-directive\": input.MetadataDirective,\n \"x-amz-tagging-directive\": input.TaggingDirective,\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n \"x-amz-storage-class\": input.StorageClass,\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n \"x-amz-server-side-encryption-bucket-key-enabled\": [\n () => isSerializableHeaderValue(input.BucketKeyEnabled),\n () => input.BucketKeyEnabled.toString(),\n ],\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm,\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey,\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-tagging\": input.Tagging,\n \"x-amz-object-lock-mode\": input.ObjectLockMode,\n \"x-amz-object-lock-retain-until-date\": [\n () => isSerializableHeaderValue(input.ObjectLockRetainUntilDate),\n () => (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n ],\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner,\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = input.Metadata[suffix];\n return acc;\n }, {})),\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"CopyObject\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlCopyObjectCommand = serializeAws_restXmlCopyObjectCommand;\nconst serializeAws_restXmlCreateBucketCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-acl\": input.ACL,\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write\": input.GrantWrite,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-bucket-object-lock-enabled\": [\n () => isSerializableHeaderValue(input.ObjectLockEnabledForBucket),\n () => input.ObjectLockEnabledForBucket.toString(),\n ],\n \"x-amz-object-ownership\": input.ObjectOwnership,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n let body;\n if (input.CreateBucketConfiguration !== undefined) {\n body = serializeAws_restXmlCreateBucketConfiguration(input.CreateBucketConfiguration, context);\n }\n let contents;\n if (input.CreateBucketConfiguration !== undefined) {\n contents = serializeAws_restXmlCreateBucketConfiguration(input.CreateBucketConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restXmlCreateBucketCommand = serializeAws_restXmlCreateBucketCommand;\nconst serializeAws_restXmlCreateMultipartUploadCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-acl\": input.ACL,\n \"cache-control\": input.CacheControl,\n \"content-disposition\": input.ContentDisposition,\n \"content-encoding\": input.ContentEncoding,\n \"content-language\": input.ContentLanguage,\n \"content-type\": input.ContentType,\n expires: [() => isSerializableHeaderValue(input.Expires), () => (0, smithy_client_1.dateToUtcString)(input.Expires).toString()],\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n \"x-amz-storage-class\": input.StorageClass,\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n \"x-amz-server-side-encryption-bucket-key-enabled\": [\n () => isSerializableHeaderValue(input.BucketKeyEnabled),\n () => input.BucketKeyEnabled.toString(),\n ],\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-tagging\": input.Tagging,\n \"x-amz-object-lock-mode\": input.ObjectLockMode,\n \"x-amz-object-lock-retain-until-date\": [\n () => isSerializableHeaderValue(input.ObjectLockRetainUntilDate),\n () => (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n ],\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-checksum-algorithm\": input.ChecksumAlgorithm,\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = input.Metadata[suffix];\n return acc;\n }, {})),\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n uploads: [, \"\"],\n \"x-id\": [, \"CreateMultipartUpload\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlCreateMultipartUploadCommand = serializeAws_restXmlCreateMultipartUploadCommand;\nconst serializeAws_restXmlDeleteBucketCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketCommand = serializeAws_restXmlDeleteBucketCommand;\nconst serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n analytics: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand;\nconst serializeAws_restXmlDeleteBucketCorsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n cors: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketCorsCommand = serializeAws_restXmlDeleteBucketCorsCommand;\nconst serializeAws_restXmlDeleteBucketEncryptionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n encryption: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketEncryptionCommand = serializeAws_restXmlDeleteBucketEncryptionCommand;\nconst serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {};\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"intelligent-tiering\": [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand;\nconst serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n inventory: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = serializeAws_restXmlDeleteBucketInventoryConfigurationCommand;\nconst serializeAws_restXmlDeleteBucketLifecycleCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n lifecycle: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketLifecycleCommand = serializeAws_restXmlDeleteBucketLifecycleCommand;\nconst serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n metrics: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = serializeAws_restXmlDeleteBucketMetricsConfigurationCommand;\nconst serializeAws_restXmlDeleteBucketOwnershipControlsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n ownershipControls: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketOwnershipControlsCommand = serializeAws_restXmlDeleteBucketOwnershipControlsCommand;\nconst serializeAws_restXmlDeleteBucketPolicyCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n policy: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketPolicyCommand = serializeAws_restXmlDeleteBucketPolicyCommand;\nconst serializeAws_restXmlDeleteBucketReplicationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n replication: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketReplicationCommand = serializeAws_restXmlDeleteBucketReplicationCommand;\nconst serializeAws_restXmlDeleteBucketTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n tagging: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketTaggingCommand = serializeAws_restXmlDeleteBucketTaggingCommand;\nconst serializeAws_restXmlDeleteBucketWebsiteCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n website: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteBucketWebsiteCommand = serializeAws_restXmlDeleteBucketWebsiteCommand;\nconst serializeAws_restXmlDeleteObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-mfa\": input.MFA,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-bypass-governance-retention\": [\n () => isSerializableHeaderValue(input.BypassGovernanceRetention),\n () => input.BypassGovernanceRetention.toString(),\n ],\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"DeleteObject\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteObjectCommand = serializeAws_restXmlDeleteObjectCommand;\nconst serializeAws_restXmlDeleteObjectsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-mfa\": input.MFA,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-bypass-governance-retention\": [\n () => isSerializableHeaderValue(input.BypassGovernanceRetention),\n () => input.BypassGovernanceRetention.toString(),\n ],\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n delete: [, \"\"],\n \"x-id\": [, \"DeleteObjects\"],\n });\n let body;\n if (input.Delete !== undefined) {\n body = serializeAws_restXmlDelete(input.Delete, context);\n }\n let contents;\n if (input.Delete !== undefined) {\n contents = serializeAws_restXmlDelete(input.Delete, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteObjectsCommand = serializeAws_restXmlDeleteObjectsCommand;\nconst serializeAws_restXmlDeleteObjectTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n tagging: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeleteObjectTaggingCommand = serializeAws_restXmlDeleteObjectTaggingCommand;\nconst serializeAws_restXmlDeletePublicAccessBlockCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n publicAccessBlock: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlDeletePublicAccessBlockCommand = serializeAws_restXmlDeletePublicAccessBlockCommand;\nconst serializeAws_restXmlGetBucketAccelerateConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n accelerate: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketAccelerateConfigurationCommand = serializeAws_restXmlGetBucketAccelerateConfigurationCommand;\nconst serializeAws_restXmlGetBucketAclCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n acl: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketAclCommand = serializeAws_restXmlGetBucketAclCommand;\nconst serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n analytics: [, \"\"],\n \"x-id\": [, \"GetBucketAnalyticsConfiguration\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = serializeAws_restXmlGetBucketAnalyticsConfigurationCommand;\nconst serializeAws_restXmlGetBucketCorsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n cors: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketCorsCommand = serializeAws_restXmlGetBucketCorsCommand;\nconst serializeAws_restXmlGetBucketEncryptionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n encryption: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketEncryptionCommand = serializeAws_restXmlGetBucketEncryptionCommand;\nconst serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {};\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"intelligent-tiering\": [, \"\"],\n \"x-id\": [, \"GetBucketIntelligentTieringConfiguration\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand;\nconst serializeAws_restXmlGetBucketInventoryConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n inventory: [, \"\"],\n \"x-id\": [, \"GetBucketInventoryConfiguration\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketInventoryConfigurationCommand = serializeAws_restXmlGetBucketInventoryConfigurationCommand;\nconst serializeAws_restXmlGetBucketLifecycleConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n lifecycle: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketLifecycleConfigurationCommand = serializeAws_restXmlGetBucketLifecycleConfigurationCommand;\nconst serializeAws_restXmlGetBucketLocationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n location: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketLocationCommand = serializeAws_restXmlGetBucketLocationCommand;\nconst serializeAws_restXmlGetBucketLoggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n logging: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketLoggingCommand = serializeAws_restXmlGetBucketLoggingCommand;\nconst serializeAws_restXmlGetBucketMetricsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n metrics: [, \"\"],\n \"x-id\": [, \"GetBucketMetricsConfiguration\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketMetricsConfigurationCommand = serializeAws_restXmlGetBucketMetricsConfigurationCommand;\nconst serializeAws_restXmlGetBucketNotificationConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n notification: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketNotificationConfigurationCommand = serializeAws_restXmlGetBucketNotificationConfigurationCommand;\nconst serializeAws_restXmlGetBucketOwnershipControlsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n ownershipControls: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketOwnershipControlsCommand = serializeAws_restXmlGetBucketOwnershipControlsCommand;\nconst serializeAws_restXmlGetBucketPolicyCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n policy: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketPolicyCommand = serializeAws_restXmlGetBucketPolicyCommand;\nconst serializeAws_restXmlGetBucketPolicyStatusCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n policyStatus: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketPolicyStatusCommand = serializeAws_restXmlGetBucketPolicyStatusCommand;\nconst serializeAws_restXmlGetBucketReplicationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n replication: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketReplicationCommand = serializeAws_restXmlGetBucketReplicationCommand;\nconst serializeAws_restXmlGetBucketRequestPaymentCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n requestPayment: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketRequestPaymentCommand = serializeAws_restXmlGetBucketRequestPaymentCommand;\nconst serializeAws_restXmlGetBucketTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n tagging: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketTaggingCommand = serializeAws_restXmlGetBucketTaggingCommand;\nconst serializeAws_restXmlGetBucketVersioningCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n versioning: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketVersioningCommand = serializeAws_restXmlGetBucketVersioningCommand;\nconst serializeAws_restXmlGetBucketWebsiteCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n website: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetBucketWebsiteCommand = serializeAws_restXmlGetBucketWebsiteCommand;\nconst serializeAws_restXmlGetObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"if-match\": input.IfMatch,\n \"if-modified-since\": [\n () => isSerializableHeaderValue(input.IfModifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.IfModifiedSince).toString(),\n ],\n \"if-none-match\": input.IfNoneMatch,\n \"if-unmodified-since\": [\n () => isSerializableHeaderValue(input.IfUnmodifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.IfUnmodifiedSince).toString(),\n ],\n range: input.Range,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-checksum-mode\": input.ChecksumMode,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"GetObject\"],\n \"response-cache-control\": [, input.ResponseCacheControl],\n \"response-content-disposition\": [, input.ResponseContentDisposition],\n \"response-content-encoding\": [, input.ResponseContentEncoding],\n \"response-content-language\": [, input.ResponseContentLanguage],\n \"response-content-type\": [, input.ResponseContentType],\n \"response-expires\": [\n () => input.ResponseExpires !== void 0,\n () => (0, smithy_client_1.dateToUtcString)(input.ResponseExpires).toString(),\n ],\n versionId: [, input.VersionId],\n partNumber: [() => input.PartNumber !== void 0, () => input.PartNumber.toString()],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectCommand = serializeAws_restXmlGetObjectCommand;\nconst serializeAws_restXmlGetObjectAclCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n acl: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectAclCommand = serializeAws_restXmlGetObjectAclCommand;\nconst serializeAws_restXmlGetObjectAttributesCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-max-parts\": [() => isSerializableHeaderValue(input.MaxParts), () => input.MaxParts.toString()],\n \"x-amz-part-number-marker\": input.PartNumberMarker,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-object-attributes\": [\n () => isSerializableHeaderValue(input.ObjectAttributes),\n () => (input.ObjectAttributes || []).map((_entry) => _entry).join(\", \"),\n ],\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n attributes: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectAttributesCommand = serializeAws_restXmlGetObjectAttributesCommand;\nconst serializeAws_restXmlGetObjectLegalHoldCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"legal-hold\": [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectLegalHoldCommand = serializeAws_restXmlGetObjectLegalHoldCommand;\nconst serializeAws_restXmlGetObjectLockConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"object-lock\": [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectLockConfigurationCommand = serializeAws_restXmlGetObjectLockConfigurationCommand;\nconst serializeAws_restXmlGetObjectRetentionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n retention: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectRetentionCommand = serializeAws_restXmlGetObjectRetentionCommand;\nconst serializeAws_restXmlGetObjectTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-request-payer\": input.RequestPayer,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n tagging: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectTaggingCommand = serializeAws_restXmlGetObjectTaggingCommand;\nconst serializeAws_restXmlGetObjectTorrentCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n torrent: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetObjectTorrentCommand = serializeAws_restXmlGetObjectTorrentCommand;\nconst serializeAws_restXmlGetPublicAccessBlockCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n publicAccessBlock: [, \"\"],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlGetPublicAccessBlockCommand = serializeAws_restXmlGetPublicAccessBlockCommand;\nconst serializeAws_restXmlHeadBucketCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"HEAD\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restXmlHeadBucketCommand = serializeAws_restXmlHeadBucketCommand;\nconst serializeAws_restXmlHeadObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"if-match\": input.IfMatch,\n \"if-modified-since\": [\n () => isSerializableHeaderValue(input.IfModifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.IfModifiedSince).toString(),\n ],\n \"if-none-match\": input.IfNoneMatch,\n \"if-unmodified-since\": [\n () => isSerializableHeaderValue(input.IfUnmodifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.IfUnmodifiedSince).toString(),\n ],\n range: input.Range,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-checksum-mode\": input.ChecksumMode,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n versionId: [, input.VersionId],\n partNumber: [() => input.PartNumber !== void 0, () => input.PartNumber.toString()],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"HEAD\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlHeadObjectCommand = serializeAws_restXmlHeadObjectCommand;\nconst serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n analytics: [, \"\"],\n \"x-id\": [, \"ListBucketAnalyticsConfigurations\"],\n \"continuation-token\": [, input.ContinuationToken],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = serializeAws_restXmlListBucketAnalyticsConfigurationsCommand;\nconst serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {};\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"intelligent-tiering\": [, \"\"],\n \"x-id\": [, \"ListBucketIntelligentTieringConfigurations\"],\n \"continuation-token\": [, input.ContinuationToken],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand;\nconst serializeAws_restXmlListBucketInventoryConfigurationsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n inventory: [, \"\"],\n \"x-id\": [, \"ListBucketInventoryConfigurations\"],\n \"continuation-token\": [, input.ContinuationToken],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketInventoryConfigurationsCommand = serializeAws_restXmlListBucketInventoryConfigurationsCommand;\nconst serializeAws_restXmlListBucketMetricsConfigurationsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n metrics: [, \"\"],\n \"x-id\": [, \"ListBucketMetricsConfigurations\"],\n \"continuation-token\": [, input.ContinuationToken],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketMetricsConfigurationsCommand = serializeAws_restXmlListBucketMetricsConfigurationsCommand;\nconst serializeAws_restXmlListBucketsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/xml\",\n };\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n let body;\n body = \"\";\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restXmlListBucketsCommand = serializeAws_restXmlListBucketsCommand;\nconst serializeAws_restXmlListMultipartUploadsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n uploads: [, \"\"],\n delimiter: [, input.Delimiter],\n \"encoding-type\": [, input.EncodingType],\n \"key-marker\": [, input.KeyMarker],\n \"max-uploads\": [() => input.MaxUploads !== void 0, () => input.MaxUploads.toString()],\n prefix: [, input.Prefix],\n \"upload-id-marker\": [, input.UploadIdMarker],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListMultipartUploadsCommand = serializeAws_restXmlListMultipartUploadsCommand;\nconst serializeAws_restXmlListObjectsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n delimiter: [, input.Delimiter],\n \"encoding-type\": [, input.EncodingType],\n marker: [, input.Marker],\n \"max-keys\": [() => input.MaxKeys !== void 0, () => input.MaxKeys.toString()],\n prefix: [, input.Prefix],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListObjectsCommand = serializeAws_restXmlListObjectsCommand;\nconst serializeAws_restXmlListObjectsV2Command = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"list-type\": [, \"2\"],\n delimiter: [, input.Delimiter],\n \"encoding-type\": [, input.EncodingType],\n \"max-keys\": [() => input.MaxKeys !== void 0, () => input.MaxKeys.toString()],\n prefix: [, input.Prefix],\n \"continuation-token\": [, input.ContinuationToken],\n \"fetch-owner\": [() => input.FetchOwner !== void 0, () => input.FetchOwner.toString()],\n \"start-after\": [, input.StartAfter],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListObjectsV2Command = serializeAws_restXmlListObjectsV2Command;\nconst serializeAws_restXmlListObjectVersionsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n versions: [, \"\"],\n delimiter: [, input.Delimiter],\n \"encoding-type\": [, input.EncodingType],\n \"key-marker\": [, input.KeyMarker],\n \"max-keys\": [() => input.MaxKeys !== void 0, () => input.MaxKeys.toString()],\n prefix: [, input.Prefix],\n \"version-id-marker\": [, input.VersionIdMarker],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListObjectVersionsCommand = serializeAws_restXmlListObjectVersionsCommand;\nconst serializeAws_restXmlListPartsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"ListParts\"],\n \"max-parts\": [() => input.MaxParts !== void 0, () => input.MaxParts.toString()],\n \"part-number-marker\": [, input.PartNumberMarker],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlListPartsCommand = serializeAws_restXmlListPartsCommand;\nconst serializeAws_restXmlPutBucketAccelerateConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n accelerate: [, \"\"],\n });\n let body;\n if (input.AccelerateConfiguration !== undefined) {\n body = serializeAws_restXmlAccelerateConfiguration(input.AccelerateConfiguration, context);\n }\n let contents;\n if (input.AccelerateConfiguration !== undefined) {\n contents = serializeAws_restXmlAccelerateConfiguration(input.AccelerateConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketAccelerateConfigurationCommand = serializeAws_restXmlPutBucketAccelerateConfigurationCommand;\nconst serializeAws_restXmlPutBucketAclCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-acl\": input.ACL,\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write\": input.GrantWrite,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n acl: [, \"\"],\n });\n let body;\n if (input.AccessControlPolicy !== undefined) {\n body = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n }\n let contents;\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketAclCommand = serializeAws_restXmlPutBucketAclCommand;\nconst serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n analytics: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n if (input.AnalyticsConfiguration !== undefined) {\n body = serializeAws_restXmlAnalyticsConfiguration(input.AnalyticsConfiguration, context);\n }\n let contents;\n if (input.AnalyticsConfiguration !== undefined) {\n contents = serializeAws_restXmlAnalyticsConfiguration(input.AnalyticsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = serializeAws_restXmlPutBucketAnalyticsConfigurationCommand;\nconst serializeAws_restXmlPutBucketCorsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n cors: [, \"\"],\n });\n let body;\n if (input.CORSConfiguration !== undefined) {\n body = serializeAws_restXmlCORSConfiguration(input.CORSConfiguration, context);\n }\n let contents;\n if (input.CORSConfiguration !== undefined) {\n contents = serializeAws_restXmlCORSConfiguration(input.CORSConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketCorsCommand = serializeAws_restXmlPutBucketCorsCommand;\nconst serializeAws_restXmlPutBucketEncryptionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n encryption: [, \"\"],\n });\n let body;\n if (input.ServerSideEncryptionConfiguration !== undefined) {\n body = serializeAws_restXmlServerSideEncryptionConfiguration(input.ServerSideEncryptionConfiguration, context);\n }\n let contents;\n if (input.ServerSideEncryptionConfiguration !== undefined) {\n contents = serializeAws_restXmlServerSideEncryptionConfiguration(input.ServerSideEncryptionConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketEncryptionCommand = serializeAws_restXmlPutBucketEncryptionCommand;\nconst serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/xml\",\n };\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"intelligent-tiering\": [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n if (input.IntelligentTieringConfiguration !== undefined) {\n body = serializeAws_restXmlIntelligentTieringConfiguration(input.IntelligentTieringConfiguration, context);\n }\n let contents;\n if (input.IntelligentTieringConfiguration !== undefined) {\n contents = serializeAws_restXmlIntelligentTieringConfiguration(input.IntelligentTieringConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand;\nconst serializeAws_restXmlPutBucketInventoryConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n inventory: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n if (input.InventoryConfiguration !== undefined) {\n body = serializeAws_restXmlInventoryConfiguration(input.InventoryConfiguration, context);\n }\n let contents;\n if (input.InventoryConfiguration !== undefined) {\n contents = serializeAws_restXmlInventoryConfiguration(input.InventoryConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketInventoryConfigurationCommand = serializeAws_restXmlPutBucketInventoryConfigurationCommand;\nconst serializeAws_restXmlPutBucketLifecycleConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n lifecycle: [, \"\"],\n });\n let body;\n if (input.LifecycleConfiguration !== undefined) {\n body = serializeAws_restXmlBucketLifecycleConfiguration(input.LifecycleConfiguration, context);\n }\n let contents;\n if (input.LifecycleConfiguration !== undefined) {\n contents = serializeAws_restXmlBucketLifecycleConfiguration(input.LifecycleConfiguration, context);\n contents = contents.withName(\"LifecycleConfiguration\");\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketLifecycleConfigurationCommand = serializeAws_restXmlPutBucketLifecycleConfigurationCommand;\nconst serializeAws_restXmlPutBucketLoggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n logging: [, \"\"],\n });\n let body;\n if (input.BucketLoggingStatus !== undefined) {\n body = serializeAws_restXmlBucketLoggingStatus(input.BucketLoggingStatus, context);\n }\n let contents;\n if (input.BucketLoggingStatus !== undefined) {\n contents = serializeAws_restXmlBucketLoggingStatus(input.BucketLoggingStatus, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketLoggingCommand = serializeAws_restXmlPutBucketLoggingCommand;\nconst serializeAws_restXmlPutBucketMetricsConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n metrics: [, \"\"],\n id: [, (0, smithy_client_1.expectNonNull)(input.Id, `Id`)],\n });\n let body;\n if (input.MetricsConfiguration !== undefined) {\n body = serializeAws_restXmlMetricsConfiguration(input.MetricsConfiguration, context);\n }\n let contents;\n if (input.MetricsConfiguration !== undefined) {\n contents = serializeAws_restXmlMetricsConfiguration(input.MetricsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketMetricsConfigurationCommand = serializeAws_restXmlPutBucketMetricsConfigurationCommand;\nconst serializeAws_restXmlPutBucketNotificationConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-skip-destination-validation\": [\n () => isSerializableHeaderValue(input.SkipDestinationValidation),\n () => input.SkipDestinationValidation.toString(),\n ],\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n notification: [, \"\"],\n });\n let body;\n if (input.NotificationConfiguration !== undefined) {\n body = serializeAws_restXmlNotificationConfiguration(input.NotificationConfiguration, context);\n }\n let contents;\n if (input.NotificationConfiguration !== undefined) {\n contents = serializeAws_restXmlNotificationConfiguration(input.NotificationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketNotificationConfigurationCommand = serializeAws_restXmlPutBucketNotificationConfigurationCommand;\nconst serializeAws_restXmlPutBucketOwnershipControlsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n ownershipControls: [, \"\"],\n });\n let body;\n if (input.OwnershipControls !== undefined) {\n body = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context);\n }\n let contents;\n if (input.OwnershipControls !== undefined) {\n contents = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketOwnershipControlsCommand = serializeAws_restXmlPutBucketOwnershipControlsCommand;\nconst serializeAws_restXmlPutBucketPolicyCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"text/plain\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-confirm-remove-self-bucket-access\": [\n () => isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess),\n () => input.ConfirmRemoveSelfBucketAccess.toString(),\n ],\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n policy: [, \"\"],\n });\n let body;\n if (input.Policy !== undefined) {\n body = input.Policy;\n }\n let contents;\n if (input.Policy !== undefined) {\n contents = input.Policy;\n body = contents;\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketPolicyCommand = serializeAws_restXmlPutBucketPolicyCommand;\nconst serializeAws_restXmlPutBucketReplicationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-bucket-object-lock-token\": input.Token,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n replication: [, \"\"],\n });\n let body;\n if (input.ReplicationConfiguration !== undefined) {\n body = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);\n }\n let contents;\n if (input.ReplicationConfiguration !== undefined) {\n contents = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketReplicationCommand = serializeAws_restXmlPutBucketReplicationCommand;\nconst serializeAws_restXmlPutBucketRequestPaymentCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n requestPayment: [, \"\"],\n });\n let body;\n if (input.RequestPaymentConfiguration !== undefined) {\n body = serializeAws_restXmlRequestPaymentConfiguration(input.RequestPaymentConfiguration, context);\n }\n let contents;\n if (input.RequestPaymentConfiguration !== undefined) {\n contents = serializeAws_restXmlRequestPaymentConfiguration(input.RequestPaymentConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketRequestPaymentCommand = serializeAws_restXmlPutBucketRequestPaymentCommand;\nconst serializeAws_restXmlPutBucketTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n tagging: [, \"\"],\n });\n let body;\n if (input.Tagging !== undefined) {\n body = serializeAws_restXmlTagging(input.Tagging, context);\n }\n let contents;\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketTaggingCommand = serializeAws_restXmlPutBucketTaggingCommand;\nconst serializeAws_restXmlPutBucketVersioningCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-mfa\": input.MFA,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n versioning: [, \"\"],\n });\n let body;\n if (input.VersioningConfiguration !== undefined) {\n body = serializeAws_restXmlVersioningConfiguration(input.VersioningConfiguration, context);\n }\n let contents;\n if (input.VersioningConfiguration !== undefined) {\n contents = serializeAws_restXmlVersioningConfiguration(input.VersioningConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketVersioningCommand = serializeAws_restXmlPutBucketVersioningCommand;\nconst serializeAws_restXmlPutBucketWebsiteCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n website: [, \"\"],\n });\n let body;\n if (input.WebsiteConfiguration !== undefined) {\n body = serializeAws_restXmlWebsiteConfiguration(input.WebsiteConfiguration, context);\n }\n let contents;\n if (input.WebsiteConfiguration !== undefined) {\n contents = serializeAws_restXmlWebsiteConfiguration(input.WebsiteConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutBucketWebsiteCommand = serializeAws_restXmlPutBucketWebsiteCommand;\nconst serializeAws_restXmlPutObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": input.ContentType || \"application/octet-stream\",\n \"x-amz-acl\": input.ACL,\n \"cache-control\": input.CacheControl,\n \"content-disposition\": input.ContentDisposition,\n \"content-encoding\": input.ContentEncoding,\n \"content-language\": input.ContentLanguage,\n \"content-length\": [() => isSerializableHeaderValue(input.ContentLength), () => input.ContentLength.toString()],\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-checksum-crc32\": input.ChecksumCRC32,\n \"x-amz-checksum-crc32c\": input.ChecksumCRC32C,\n \"x-amz-checksum-sha1\": input.ChecksumSHA1,\n \"x-amz-checksum-sha256\": input.ChecksumSHA256,\n expires: [() => isSerializableHeaderValue(input.Expires), () => (0, smithy_client_1.dateToUtcString)(input.Expires).toString()],\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n \"x-amz-storage-class\": input.StorageClass,\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n \"x-amz-server-side-encryption-bucket-key-enabled\": [\n () => isSerializableHeaderValue(input.BucketKeyEnabled),\n () => input.BucketKeyEnabled.toString(),\n ],\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-tagging\": input.Tagging,\n \"x-amz-object-lock-mode\": input.ObjectLockMode,\n \"x-amz-object-lock-retain-until-date\": [\n () => isSerializableHeaderValue(input.ObjectLockRetainUntilDate),\n () => (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n ],\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = input.Metadata[suffix];\n return acc;\n }, {})),\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"PutObject\"],\n });\n let body;\n if (input.Body !== undefined) {\n body = input.Body;\n }\n let contents;\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectCommand = serializeAws_restXmlPutObjectCommand;\nconst serializeAws_restXmlPutObjectAclCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-acl\": input.ACL,\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-grant-full-control\": input.GrantFullControl,\n \"x-amz-grant-read\": input.GrantRead,\n \"x-amz-grant-read-acp\": input.GrantReadACP,\n \"x-amz-grant-write\": input.GrantWrite,\n \"x-amz-grant-write-acp\": input.GrantWriteACP,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n acl: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.AccessControlPolicy !== undefined) {\n body = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n }\n let contents;\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectAclCommand = serializeAws_restXmlPutObjectAclCommand;\nconst serializeAws_restXmlPutObjectLegalHoldCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-request-payer\": input.RequestPayer,\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"legal-hold\": [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.LegalHold !== undefined) {\n body = serializeAws_restXmlObjectLockLegalHold(input.LegalHold, context);\n }\n let contents;\n if (input.LegalHold !== undefined) {\n contents = serializeAws_restXmlObjectLockLegalHold(input.LegalHold, context);\n contents = contents.withName(\"LegalHold\");\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectLegalHoldCommand = serializeAws_restXmlPutObjectLegalHoldCommand;\nconst serializeAws_restXmlPutObjectLockConfigurationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-bucket-object-lock-token\": input.Token,\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n \"object-lock\": [, \"\"],\n });\n let body;\n if (input.ObjectLockConfiguration !== undefined) {\n body = serializeAws_restXmlObjectLockConfiguration(input.ObjectLockConfiguration, context);\n }\n let contents;\n if (input.ObjectLockConfiguration !== undefined) {\n contents = serializeAws_restXmlObjectLockConfiguration(input.ObjectLockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectLockConfigurationCommand = serializeAws_restXmlPutObjectLockConfigurationCommand;\nconst serializeAws_restXmlPutObjectRetentionCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-bypass-governance-retention\": [\n () => isSerializableHeaderValue(input.BypassGovernanceRetention),\n () => input.BypassGovernanceRetention.toString(),\n ],\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n retention: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.Retention !== undefined) {\n body = serializeAws_restXmlObjectLockRetention(input.Retention, context);\n }\n let contents;\n if (input.Retention !== undefined) {\n contents = serializeAws_restXmlObjectLockRetention(input.Retention, context);\n contents = contents.withName(\"Retention\");\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectRetentionCommand = serializeAws_restXmlPutObjectRetentionCommand;\nconst serializeAws_restXmlPutObjectTaggingCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-request-payer\": input.RequestPayer,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n tagging: [, \"\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.Tagging !== undefined) {\n body = serializeAws_restXmlTagging(input.Tagging, context);\n }\n let contents;\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutObjectTaggingCommand = serializeAws_restXmlPutObjectTaggingCommand;\nconst serializeAws_restXmlPutPublicAccessBlockCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n const query = map({\n publicAccessBlock: [, \"\"],\n });\n let body;\n if (input.PublicAccessBlockConfiguration !== undefined) {\n body = serializeAws_restXmlPublicAccessBlockConfiguration(input.PublicAccessBlockConfiguration, context);\n }\n let contents;\n if (input.PublicAccessBlockConfiguration !== undefined) {\n contents = serializeAws_restXmlPublicAccessBlockConfiguration(input.PublicAccessBlockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlPutPublicAccessBlockCommand = serializeAws_restXmlPutPublicAccessBlockCommand;\nconst serializeAws_restXmlRestoreObjectCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n restore: [, \"\"],\n \"x-id\": [, \"RestoreObject\"],\n versionId: [, input.VersionId],\n });\n let body;\n if (input.RestoreRequest !== undefined) {\n body = serializeAws_restXmlRestoreRequest(input.RestoreRequest, context);\n }\n let contents;\n if (input.RestoreRequest !== undefined) {\n contents = serializeAws_restXmlRestoreRequest(input.RestoreRequest, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlRestoreObjectCommand = serializeAws_restXmlRestoreObjectCommand;\nconst serializeAws_restXmlSelectObjectContentCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/xml\",\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n select: [, \"\"],\n \"select-type\": [, \"2\"],\n \"x-id\": [, \"SelectObjectContent\"],\n });\n let body;\n body = '';\n const bodyNode = new xml_builder_1.XmlNode(\"SelectObjectContentRequest\");\n bodyNode.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n if (input.Expression !== undefined) {\n const node = xml_builder_1.XmlNode.of(\"Expression\", input.Expression).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpressionType !== undefined) {\n const node = xml_builder_1.XmlNode.of(\"ExpressionType\", input.ExpressionType).withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.InputSerialization !== undefined) {\n const node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputSerialization !== undefined) {\n const node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.RequestProgress !== undefined) {\n const node = serializeAws_restXmlRequestProgress(input.RequestProgress, context).withName(\"RequestProgress\");\n bodyNode.addChildNode(node);\n }\n if (input.ScanRange !== undefined) {\n const node = serializeAws_restXmlScanRange(input.ScanRange, context).withName(\"ScanRange\");\n bodyNode.addChildNode(node);\n }\n body += bodyNode.toString();\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlSelectObjectContentCommand = serializeAws_restXmlSelectObjectContentCommand;\nconst serializeAws_restXmlUploadPartCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"content-type\": \"application/octet-stream\",\n \"content-length\": [() => isSerializableHeaderValue(input.ContentLength), () => input.ContentLength.toString()],\n \"content-md5\": input.ContentMD5,\n \"x-amz-sdk-checksum-algorithm\": input.ChecksumAlgorithm,\n \"x-amz-checksum-crc32\": input.ChecksumCRC32,\n \"x-amz-checksum-crc32c\": input.ChecksumCRC32C,\n \"x-amz-checksum-sha1\": input.ChecksumSHA1,\n \"x-amz-checksum-sha256\": input.ChecksumSHA256,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"UploadPart\"],\n partNumber: [(0, smithy_client_1.expectNonNull)(input.PartNumber, `PartNumber`) != null, () => input.PartNumber.toString()],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n if (input.Body !== undefined) {\n body = input.Body;\n }\n let contents;\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlUploadPartCommand = serializeAws_restXmlUploadPartCommand;\nconst serializeAws_restXmlUploadPartCopyCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-copy-source\": input.CopySource,\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch,\n \"x-amz-copy-source-if-modified-since\": [\n () => isSerializableHeaderValue(input.CopySourceIfModifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.CopySourceIfModifiedSince).toString(),\n ],\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch,\n \"x-amz-copy-source-if-unmodified-since\": [\n () => isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince),\n () => (0, smithy_client_1.dateToUtcString)(input.CopySourceIfUnmodifiedSince).toString(),\n ],\n \"x-amz-copy-source-range\": input.CopySourceRange,\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm,\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey,\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5,\n \"x-amz-request-payer\": input.RequestPayer,\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner,\n });\n let resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/{Key+}\";\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Bucket\", () => input.Bucket, \"{Bucket}\", false);\n resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, \"Key\", () => input.Key, \"{Key+}\", true);\n const query = map({\n \"x-id\": [, \"UploadPartCopy\"],\n partNumber: [(0, smithy_client_1.expectNonNull)(input.PartNumber, `PartNumber`) != null, () => input.PartNumber.toString()],\n uploadId: [, (0, smithy_client_1.expectNonNull)(input.UploadId, `UploadId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlUploadPartCopyCommand = serializeAws_restXmlUploadPartCopyCommand;\nconst serializeAws_restXmlWriteGetObjectResponseCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-content-sha256\": \"UNSIGNED-PAYLOAD\",\n \"content-type\": \"application/octet-stream\",\n \"x-amz-request-route\": input.RequestRoute,\n \"x-amz-request-token\": input.RequestToken,\n \"x-amz-fwd-status\": [() => isSerializableHeaderValue(input.StatusCode), () => input.StatusCode.toString()],\n \"x-amz-fwd-error-code\": input.ErrorCode,\n \"x-amz-fwd-error-message\": input.ErrorMessage,\n \"x-amz-fwd-header-accept-ranges\": input.AcceptRanges,\n \"x-amz-fwd-header-cache-control\": input.CacheControl,\n \"x-amz-fwd-header-content-disposition\": input.ContentDisposition,\n \"x-amz-fwd-header-content-encoding\": input.ContentEncoding,\n \"x-amz-fwd-header-content-language\": input.ContentLanguage,\n \"content-length\": [() => isSerializableHeaderValue(input.ContentLength), () => input.ContentLength.toString()],\n \"x-amz-fwd-header-content-range\": input.ContentRange,\n \"x-amz-fwd-header-content-type\": input.ContentType,\n \"x-amz-fwd-header-x-amz-checksum-crc32\": input.ChecksumCRC32,\n \"x-amz-fwd-header-x-amz-checksum-crc32c\": input.ChecksumCRC32C,\n \"x-amz-fwd-header-x-amz-checksum-sha1\": input.ChecksumSHA1,\n \"x-amz-fwd-header-x-amz-checksum-sha256\": input.ChecksumSHA256,\n \"x-amz-fwd-header-x-amz-delete-marker\": [\n () => isSerializableHeaderValue(input.DeleteMarker),\n () => input.DeleteMarker.toString(),\n ],\n \"x-amz-fwd-header-etag\": input.ETag,\n \"x-amz-fwd-header-expires\": [\n () => isSerializableHeaderValue(input.Expires),\n () => (0, smithy_client_1.dateToUtcString)(input.Expires).toString(),\n ],\n \"x-amz-fwd-header-x-amz-expiration\": input.Expiration,\n \"x-amz-fwd-header-last-modified\": [\n () => isSerializableHeaderValue(input.LastModified),\n () => (0, smithy_client_1.dateToUtcString)(input.LastModified).toString(),\n ],\n \"x-amz-fwd-header-x-amz-missing-meta\": [\n () => isSerializableHeaderValue(input.MissingMeta),\n () => input.MissingMeta.toString(),\n ],\n \"x-amz-fwd-header-x-amz-object-lock-mode\": input.ObjectLockMode,\n \"x-amz-fwd-header-x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n \"x-amz-fwd-header-x-amz-object-lock-retain-until-date\": [\n () => isSerializableHeaderValue(input.ObjectLockRetainUntilDate),\n () => (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n ],\n \"x-amz-fwd-header-x-amz-mp-parts-count\": [\n () => isSerializableHeaderValue(input.PartsCount),\n () => input.PartsCount.toString(),\n ],\n \"x-amz-fwd-header-x-amz-replication-status\": input.ReplicationStatus,\n \"x-amz-fwd-header-x-amz-request-charged\": input.RequestCharged,\n \"x-amz-fwd-header-x-amz-restore\": input.Restore,\n \"x-amz-fwd-header-x-amz-server-side-encryption\": input.ServerSideEncryption,\n \"x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n \"x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n \"x-amz-fwd-header-x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n \"x-amz-fwd-header-x-amz-storage-class\": input.StorageClass,\n \"x-amz-fwd-header-x-amz-tagging-count\": [\n () => isSerializableHeaderValue(input.TagCount),\n () => input.TagCount.toString(),\n ],\n \"x-amz-fwd-header-x-amz-version-id\": input.VersionId,\n \"x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled\": [\n () => isSerializableHeaderValue(input.BucketKeyEnabled),\n () => input.BucketKeyEnabled.toString(),\n ],\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = input.Metadata[suffix];\n return acc;\n }, {})),\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/WriteGetObjectResponse\";\n const query = map({\n \"x-id\": [, \"WriteGetObjectResponse\"],\n });\n let body;\n if (input.Body !== undefined) {\n body = input.Body;\n }\n let contents;\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n let { hostname: resolvedHostname } = await context.endpoint();\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"{RequestRoute}.\" + resolvedHostname;\n if (input.RequestRoute === undefined) {\n throw new Error(\"Empty value provided for input host prefix: RequestRoute.\");\n }\n resolvedHostname = resolvedHostname.replace(\"{RequestRoute}\", input.RequestRoute);\n if (!(0, protocol_http_1.isValidHostname)(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname: resolvedHostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restXmlWriteGetObjectResponseCommand = serializeAws_restXmlWriteGetObjectResponseCommand;\nconst deserializeAws_restXmlAbortMultipartUploadCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlAbortMultipartUploadCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlAbortMultipartUploadCommand = deserializeAws_restXmlAbortMultipartUploadCommand;\nconst deserializeAws_restXmlAbortMultipartUploadCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchUpload\":\n case \"com.amazonaws.s3#NoSuchUpload\":\n throw await deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlCompleteMultipartUploadCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(data[\"Bucket\"]);\n }\n if (data[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(data[\"ChecksumCRC32\"]);\n }\n if (data[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(data[\"ChecksumCRC32C\"]);\n }\n if (data[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(data[\"ChecksumSHA1\"]);\n }\n if (data[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(data[\"ChecksumSHA256\"]);\n }\n if (data[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(data[\"ETag\"]);\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(data[\"Key\"]);\n }\n if (data[\"Location\"] !== undefined) {\n contents.Location = (0, smithy_client_1.expectString)(data[\"Location\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlCompleteMultipartUploadCommand = deserializeAws_restXmlCompleteMultipartUploadCommand;\nconst deserializeAws_restXmlCompleteMultipartUploadCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlCopyObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCopyObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n CopySourceVersionId: [, output.headers[\"x-amz-copy-source-version-id\"]],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n SSEKMSEncryptionContext: [, output.headers[\"x-amz-server-side-encryption-context\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.CopyObjectResult = deserializeAws_restXmlCopyObjectResult(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlCopyObjectCommand = deserializeAws_restXmlCopyObjectCommand;\nconst deserializeAws_restXmlCopyObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ObjectNotInActiveTierError\":\n case \"com.amazonaws.s3#ObjectNotInActiveTierError\":\n throw await deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlCreateBucketCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCreateBucketCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n Location: [, output.headers[\"location\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlCreateBucketCommand = deserializeAws_restXmlCreateBucketCommand;\nconst deserializeAws_restXmlCreateBucketCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"BucketAlreadyExists\":\n case \"com.amazonaws.s3#BucketAlreadyExists\":\n throw await deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context);\n case \"BucketAlreadyOwnedByYou\":\n case \"com.amazonaws.s3#BucketAlreadyOwnedByYou\":\n throw await deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlCreateMultipartUploadCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCreateMultipartUploadCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n AbortDate: [\n () => void 0 !== output.headers[\"x-amz-abort-date\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"x-amz-abort-date\"])),\n ],\n AbortRuleId: [, output.headers[\"x-amz-abort-rule-id\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n SSEKMSEncryptionContext: [, output.headers[\"x-amz-server-side-encryption-context\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n ChecksumAlgorithm: [, output.headers[\"x-amz-checksum-algorithm\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(data[\"Bucket\"]);\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(data[\"Key\"]);\n }\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = (0, smithy_client_1.expectString)(data[\"UploadId\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlCreateMultipartUploadCommand = deserializeAws_restXmlCreateMultipartUploadCommand;\nconst deserializeAws_restXmlCreateMultipartUploadCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketCommand = deserializeAws_restXmlDeleteBucketCommand;\nconst deserializeAws_restXmlDeleteBucketCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand;\nconst deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketCorsCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketCorsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketCorsCommand = deserializeAws_restXmlDeleteBucketCorsCommand;\nconst deserializeAws_restXmlDeleteBucketCorsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketEncryptionCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketEncryptionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketEncryptionCommand = deserializeAws_restXmlDeleteBucketEncryptionCommand;\nconst deserializeAws_restXmlDeleteBucketEncryptionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand;\nconst deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand;\nconst deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketLifecycleCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketLifecycleCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketLifecycleCommand = deserializeAws_restXmlDeleteBucketLifecycleCommand;\nconst deserializeAws_restXmlDeleteBucketLifecycleCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand;\nconst deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = deserializeAws_restXmlDeleteBucketOwnershipControlsCommand;\nconst deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketPolicyCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketPolicyCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketPolicyCommand = deserializeAws_restXmlDeleteBucketPolicyCommand;\nconst deserializeAws_restXmlDeleteBucketPolicyCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketReplicationCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketReplicationCommand = deserializeAws_restXmlDeleteBucketReplicationCommand;\nconst deserializeAws_restXmlDeleteBucketReplicationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketTaggingCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketTaggingCommand = deserializeAws_restXmlDeleteBucketTaggingCommand;\nconst deserializeAws_restXmlDeleteBucketTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteBucketWebsiteCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketWebsiteCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteBucketWebsiteCommand = deserializeAws_restXmlDeleteBucketWebsiteCommand;\nconst deserializeAws_restXmlDeleteBucketWebsiteCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteObjectCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n DeleteMarker: [\n () => void 0 !== output.headers[\"x-amz-delete-marker\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-delete-marker\"]),\n ],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteObjectCommand = deserializeAws_restXmlDeleteObjectCommand;\nconst deserializeAws_restXmlDeleteObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteObjectsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.Deleted === \"\") {\n contents.Deleted = [];\n }\n else if (data[\"Deleted\"] !== undefined) {\n contents.Deleted = deserializeAws_restXmlDeletedObjects((0, smithy_client_1.getArrayIfSingleItem)(data[\"Deleted\"]), context);\n }\n if (data.Error === \"\") {\n contents.Errors = [];\n }\n else if (data[\"Error\"] !== undefined) {\n contents.Errors = deserializeAws_restXmlErrors((0, smithy_client_1.getArrayIfSingleItem)(data[\"Error\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlDeleteObjectsCommand = deserializeAws_restXmlDeleteObjectsCommand;\nconst deserializeAws_restXmlDeleteObjectsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeleteObjectTaggingCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeleteObjectTaggingCommand = deserializeAws_restXmlDeleteObjectTaggingCommand;\nconst deserializeAws_restXmlDeleteObjectTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlDeletePublicAccessBlockCommand = async (output, context) => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeletePublicAccessBlockCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlDeletePublicAccessBlockCommand = deserializeAws_restXmlDeletePublicAccessBlockCommand;\nconst deserializeAws_restXmlDeletePublicAccessBlockCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(data[\"Status\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = deserializeAws_restXmlGetBucketAccelerateConfigurationCommand;\nconst deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketAclCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAclCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n else if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants((0, smithy_client_1.getArrayIfSingleItem)(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketAclCommand = deserializeAws_restXmlGetBucketAclCommand;\nconst deserializeAws_restXmlGetBucketAclCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.AnalyticsConfiguration = deserializeAws_restXmlAnalyticsConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand;\nconst deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketCorsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketCorsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.CORSRule === \"\") {\n contents.CORSRules = [];\n }\n else if (data[\"CORSRule\"] !== undefined) {\n contents.CORSRules = deserializeAws_restXmlCORSRules((0, smithy_client_1.getArrayIfSingleItem)(data[\"CORSRule\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketCorsCommand = deserializeAws_restXmlGetBucketCorsCommand;\nconst deserializeAws_restXmlGetBucketCorsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketEncryptionCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketEncryptionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.ServerSideEncryptionConfiguration = deserializeAws_restXmlServerSideEncryptionConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketEncryptionCommand = deserializeAws_restXmlGetBucketEncryptionCommand;\nconst deserializeAws_restXmlGetBucketEncryptionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.IntelligentTieringConfiguration = deserializeAws_restXmlIntelligentTieringConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand;\nconst deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketInventoryConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.InventoryConfiguration = deserializeAws_restXmlInventoryConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketInventoryConfigurationCommand = deserializeAws_restXmlGetBucketInventoryConfigurationCommand;\nconst deserializeAws_restXmlGetBucketInventoryConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.Rule === \"\") {\n contents.Rules = [];\n }\n else if (data[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlLifecycleRules((0, smithy_client_1.getArrayIfSingleItem)(data[\"Rule\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = deserializeAws_restXmlGetBucketLifecycleConfigurationCommand;\nconst deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketLocationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLocationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"LocationConstraint\"] !== undefined) {\n contents.LocationConstraint = (0, smithy_client_1.expectString)(data[\"LocationConstraint\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketLocationCommand = deserializeAws_restXmlGetBucketLocationCommand;\nconst deserializeAws_restXmlGetBucketLocationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketLoggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLoggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"LoggingEnabled\"] !== undefined) {\n contents.LoggingEnabled = deserializeAws_restXmlLoggingEnabled(data[\"LoggingEnabled\"], context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketLoggingCommand = deserializeAws_restXmlGetBucketLoggingCommand;\nconst deserializeAws_restXmlGetBucketLoggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketMetricsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.MetricsConfiguration = deserializeAws_restXmlMetricsConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketMetricsConfigurationCommand = deserializeAws_restXmlGetBucketMetricsConfigurationCommand;\nconst deserializeAws_restXmlGetBucketMetricsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketNotificationConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"EventBridgeConfiguration\"] !== undefined) {\n contents.EventBridgeConfiguration = deserializeAws_restXmlEventBridgeConfiguration(data[\"EventBridgeConfiguration\"], context);\n }\n if (data.CloudFunctionConfiguration === \"\") {\n contents.LambdaFunctionConfigurations = [];\n }\n else if (data[\"CloudFunctionConfiguration\"] !== undefined) {\n contents.LambdaFunctionConfigurations = deserializeAws_restXmlLambdaFunctionConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CloudFunctionConfiguration\"]), context);\n }\n if (data.QueueConfiguration === \"\") {\n contents.QueueConfigurations = [];\n }\n else if (data[\"QueueConfiguration\"] !== undefined) {\n contents.QueueConfigurations = deserializeAws_restXmlQueueConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"QueueConfiguration\"]), context);\n }\n if (data.TopicConfiguration === \"\") {\n contents.TopicConfigurations = [];\n }\n else if (data[\"TopicConfiguration\"] !== undefined) {\n contents.TopicConfigurations = deserializeAws_restXmlTopicConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"TopicConfiguration\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketNotificationConfigurationCommand = deserializeAws_restXmlGetBucketNotificationConfigurationCommand;\nconst deserializeAws_restXmlGetBucketNotificationConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketOwnershipControlsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.OwnershipControls = deserializeAws_restXmlOwnershipControls(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketOwnershipControlsCommand = deserializeAws_restXmlGetBucketOwnershipControlsCommand;\nconst deserializeAws_restXmlGetBucketOwnershipControlsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketPolicyCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketPolicyCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = await collectBodyString(output.body, context);\n contents.Policy = (0, smithy_client_1.expectString)(data);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketPolicyCommand = deserializeAws_restXmlGetBucketPolicyCommand;\nconst deserializeAws_restXmlGetBucketPolicyCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketPolicyStatusCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.PolicyStatus = deserializeAws_restXmlPolicyStatus(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketPolicyStatusCommand = deserializeAws_restXmlGetBucketPolicyStatusCommand;\nconst deserializeAws_restXmlGetBucketPolicyStatusCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketReplicationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketReplicationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.ReplicationConfiguration = deserializeAws_restXmlReplicationConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketReplicationCommand = deserializeAws_restXmlGetBucketReplicationCommand;\nconst deserializeAws_restXmlGetBucketReplicationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketRequestPaymentCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Payer\"] !== undefined) {\n contents.Payer = (0, smithy_client_1.expectString)(data[\"Payer\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketRequestPaymentCommand = deserializeAws_restXmlGetBucketRequestPaymentCommand;\nconst deserializeAws_restXmlGetBucketRequestPaymentCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketTaggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n else if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(data[\"TagSet\"][\"Tag\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketTaggingCommand = deserializeAws_restXmlGetBucketTaggingCommand;\nconst deserializeAws_restXmlGetBucketTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketVersioningCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketVersioningCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"MfaDelete\"] !== undefined) {\n contents.MFADelete = (0, smithy_client_1.expectString)(data[\"MfaDelete\"]);\n }\n if (data[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(data[\"Status\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketVersioningCommand = deserializeAws_restXmlGetBucketVersioningCommand;\nconst deserializeAws_restXmlGetBucketVersioningCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetBucketWebsiteCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketWebsiteCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"ErrorDocument\"] !== undefined) {\n contents.ErrorDocument = deserializeAws_restXmlErrorDocument(data[\"ErrorDocument\"], context);\n }\n if (data[\"IndexDocument\"] !== undefined) {\n contents.IndexDocument = deserializeAws_restXmlIndexDocument(data[\"IndexDocument\"], context);\n }\n if (data[\"RedirectAllRequestsTo\"] !== undefined) {\n contents.RedirectAllRequestsTo = deserializeAws_restXmlRedirectAllRequestsTo(data[\"RedirectAllRequestsTo\"], context);\n }\n if (data.RoutingRules === \"\") {\n contents.RoutingRules = [];\n }\n else if (data[\"RoutingRules\"] !== undefined && data[\"RoutingRules\"][\"RoutingRule\"] !== undefined) {\n contents.RoutingRules = deserializeAws_restXmlRoutingRules((0, smithy_client_1.getArrayIfSingleItem)(data[\"RoutingRules\"][\"RoutingRule\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetBucketWebsiteCommand = deserializeAws_restXmlGetBucketWebsiteCommand;\nconst deserializeAws_restXmlGetBucketWebsiteCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n DeleteMarker: [\n () => void 0 !== output.headers[\"x-amz-delete-marker\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-delete-marker\"]),\n ],\n AcceptRanges: [, output.headers[\"accept-ranges\"]],\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n Restore: [, output.headers[\"x-amz-restore\"]],\n LastModified: [\n () => void 0 !== output.headers[\"last-modified\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"last-modified\"])),\n ],\n ContentLength: [\n () => void 0 !== output.headers[\"content-length\"],\n () => (0, smithy_client_1.strictParseLong)(output.headers[\"content-length\"]),\n ],\n ETag: [, output.headers[\"etag\"]],\n ChecksumCRC32: [, output.headers[\"x-amz-checksum-crc32\"]],\n ChecksumCRC32C: [, output.headers[\"x-amz-checksum-crc32c\"]],\n ChecksumSHA1: [, output.headers[\"x-amz-checksum-sha1\"]],\n ChecksumSHA256: [, output.headers[\"x-amz-checksum-sha256\"]],\n MissingMeta: [\n () => void 0 !== output.headers[\"x-amz-missing-meta\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-missing-meta\"]),\n ],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n CacheControl: [, output.headers[\"cache-control\"]],\n ContentDisposition: [, output.headers[\"content-disposition\"]],\n ContentEncoding: [, output.headers[\"content-encoding\"]],\n ContentLanguage: [, output.headers[\"content-language\"]],\n ContentRange: [, output.headers[\"content-range\"]],\n ContentType: [, output.headers[\"content-type\"]],\n Expires: [\n () => void 0 !== output.headers[\"expires\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"expires\"])),\n ],\n WebsiteRedirectLocation: [, output.headers[\"x-amz-website-redirect-location\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n StorageClass: [, output.headers[\"x-amz-storage-class\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n ReplicationStatus: [, output.headers[\"x-amz-replication-status\"]],\n PartsCount: [\n () => void 0 !== output.headers[\"x-amz-mp-parts-count\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-mp-parts-count\"]),\n ],\n TagCount: [\n () => void 0 !== output.headers[\"x-amz-tagging-count\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-tagging-count\"]),\n ],\n ObjectLockMode: [, output.headers[\"x-amz-object-lock-mode\"]],\n ObjectLockRetainUntilDate: [\n () => void 0 !== output.headers[\"x-amz-object-lock-retain-until-date\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output.headers[\"x-amz-object-lock-retain-until-date\"])),\n ],\n ObjectLockLegalHoldStatus: [, output.headers[\"x-amz-object-lock-legal-hold\"]],\n Metadata: [\n ,\n Object.keys(output.headers)\n .filter((header) => header.startsWith(\"x-amz-meta-\"))\n .reduce((acc, header) => {\n acc[header.substring(11)] = output.headers[header];\n return acc;\n }, {}),\n ],\n });\n const data = output.body;\n context.sdkStreamMixin(data);\n contents.Body = data;\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectCommand = deserializeAws_restXmlGetObjectCommand;\nconst deserializeAws_restXmlGetObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidObjectState\":\n case \"com.amazonaws.s3#InvalidObjectState\":\n throw await deserializeAws_restXmlInvalidObjectStateResponse(parsedOutput, context);\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlGetObjectAclCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectAclCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n else if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants((0, smithy_client_1.getArrayIfSingleItem)(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectAclCommand = deserializeAws_restXmlGetObjectAclCommand;\nconst deserializeAws_restXmlGetObjectAclCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlGetObjectAttributesCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectAttributesCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n DeleteMarker: [\n () => void 0 !== output.headers[\"x-amz-delete-marker\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-delete-marker\"]),\n ],\n LastModified: [\n () => void 0 !== output.headers[\"last-modified\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"last-modified\"])),\n ],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Checksum\"] !== undefined) {\n contents.Checksum = deserializeAws_restXmlChecksum(data[\"Checksum\"], context);\n }\n if (data[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(data[\"ETag\"]);\n }\n if (data[\"ObjectParts\"] !== undefined) {\n contents.ObjectParts = deserializeAws_restXmlGetObjectAttributesParts(data[\"ObjectParts\"], context);\n }\n if (data[\"ObjectSize\"] !== undefined) {\n contents.ObjectSize = (0, smithy_client_1.strictParseLong)(data[\"ObjectSize\"]);\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(data[\"StorageClass\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectAttributesCommand = deserializeAws_restXmlGetObjectAttributesCommand;\nconst deserializeAws_restXmlGetObjectAttributesCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlGetObjectLegalHoldCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.LegalHold = deserializeAws_restXmlObjectLockLegalHold(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectLegalHoldCommand = deserializeAws_restXmlGetObjectLegalHoldCommand;\nconst deserializeAws_restXmlGetObjectLegalHoldCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectLockConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.ObjectLockConfiguration = deserializeAws_restXmlObjectLockConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectLockConfigurationCommand = deserializeAws_restXmlGetObjectLockConfigurationCommand;\nconst deserializeAws_restXmlGetObjectLockConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectRetentionCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectRetentionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.Retention = deserializeAws_restXmlObjectLockRetention(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectRetentionCommand = deserializeAws_restXmlGetObjectRetentionCommand;\nconst deserializeAws_restXmlGetObjectRetentionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectTaggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n else if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(data[\"TagSet\"][\"Tag\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectTaggingCommand = deserializeAws_restXmlGetObjectTaggingCommand;\nconst deserializeAws_restXmlGetObjectTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetObjectTorrentCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectTorrentCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = output.body;\n context.sdkStreamMixin(data);\n contents.Body = data;\n return contents;\n};\nexports.deserializeAws_restXmlGetObjectTorrentCommand = deserializeAws_restXmlGetObjectTorrentCommand;\nconst deserializeAws_restXmlGetObjectTorrentCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlGetPublicAccessBlockCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.PublicAccessBlockConfiguration = deserializeAws_restXmlPublicAccessBlockConfiguration(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlGetPublicAccessBlockCommand = deserializeAws_restXmlGetPublicAccessBlockCommand;\nconst deserializeAws_restXmlGetPublicAccessBlockCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlHeadBucketCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlHeadBucketCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlHeadBucketCommand = deserializeAws_restXmlHeadBucketCommand;\nconst deserializeAws_restXmlHeadBucketCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NotFound\":\n case \"com.amazonaws.s3#NotFound\":\n throw await deserializeAws_restXmlNotFoundResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlHeadObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlHeadObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n DeleteMarker: [\n () => void 0 !== output.headers[\"x-amz-delete-marker\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-delete-marker\"]),\n ],\n AcceptRanges: [, output.headers[\"accept-ranges\"]],\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n Restore: [, output.headers[\"x-amz-restore\"]],\n ArchiveStatus: [, output.headers[\"x-amz-archive-status\"]],\n LastModified: [\n () => void 0 !== output.headers[\"last-modified\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"last-modified\"])),\n ],\n ContentLength: [\n () => void 0 !== output.headers[\"content-length\"],\n () => (0, smithy_client_1.strictParseLong)(output.headers[\"content-length\"]),\n ],\n ChecksumCRC32: [, output.headers[\"x-amz-checksum-crc32\"]],\n ChecksumCRC32C: [, output.headers[\"x-amz-checksum-crc32c\"]],\n ChecksumSHA1: [, output.headers[\"x-amz-checksum-sha1\"]],\n ChecksumSHA256: [, output.headers[\"x-amz-checksum-sha256\"]],\n ETag: [, output.headers[\"etag\"]],\n MissingMeta: [\n () => void 0 !== output.headers[\"x-amz-missing-meta\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-missing-meta\"]),\n ],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n CacheControl: [, output.headers[\"cache-control\"]],\n ContentDisposition: [, output.headers[\"content-disposition\"]],\n ContentEncoding: [, output.headers[\"content-encoding\"]],\n ContentLanguage: [, output.headers[\"content-language\"]],\n ContentType: [, output.headers[\"content-type\"]],\n Expires: [\n () => void 0 !== output.headers[\"expires\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"expires\"])),\n ],\n WebsiteRedirectLocation: [, output.headers[\"x-amz-website-redirect-location\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n StorageClass: [, output.headers[\"x-amz-storage-class\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n ReplicationStatus: [, output.headers[\"x-amz-replication-status\"]],\n PartsCount: [\n () => void 0 !== output.headers[\"x-amz-mp-parts-count\"],\n () => (0, smithy_client_1.strictParseInt32)(output.headers[\"x-amz-mp-parts-count\"]),\n ],\n ObjectLockMode: [, output.headers[\"x-amz-object-lock-mode\"]],\n ObjectLockRetainUntilDate: [\n () => void 0 !== output.headers[\"x-amz-object-lock-retain-until-date\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output.headers[\"x-amz-object-lock-retain-until-date\"])),\n ],\n ObjectLockLegalHoldStatus: [, output.headers[\"x-amz-object-lock-legal-hold\"]],\n Metadata: [\n ,\n Object.keys(output.headers)\n .filter((header) => header.startsWith(\"x-amz-meta-\"))\n .reduce((acc, header) => {\n acc[header.substring(11)] = output.headers[header];\n return acc;\n }, {}),\n ],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlHeadObjectCommand = deserializeAws_restXmlHeadObjectCommand;\nconst deserializeAws_restXmlHeadObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NotFound\":\n case \"com.amazonaws.s3#NotFound\":\n throw await deserializeAws_restXmlNotFoundResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.AnalyticsConfiguration === \"\") {\n contents.AnalyticsConfigurationList = [];\n }\n else if (data[\"AnalyticsConfiguration\"] !== undefined) {\n contents.AnalyticsConfigurationList = deserializeAws_restXmlAnalyticsConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"AnalyticsConfiguration\"]), context);\n }\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand;\nconst deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data.IntelligentTieringConfiguration === \"\") {\n contents.IntelligentTieringConfigurationList = [];\n }\n else if (data[\"IntelligentTieringConfiguration\"] !== undefined) {\n contents.IntelligentTieringConfigurationList = deserializeAws_restXmlIntelligentTieringConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"IntelligentTieringConfiguration\"]), context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand;\nconst deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListBucketInventoryConfigurationsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data.InventoryConfiguration === \"\") {\n contents.InventoryConfigurationList = [];\n }\n else if (data[\"InventoryConfiguration\"] !== undefined) {\n contents.InventoryConfigurationList = deserializeAws_restXmlInventoryConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"InventoryConfiguration\"]), context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketInventoryConfigurationsCommand = deserializeAws_restXmlListBucketInventoryConfigurationsCommand;\nconst deserializeAws_restXmlListBucketInventoryConfigurationsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListBucketMetricsConfigurationsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data.MetricsConfiguration === \"\") {\n contents.MetricsConfigurationList = [];\n }\n else if (data[\"MetricsConfiguration\"] !== undefined) {\n contents.MetricsConfigurationList = deserializeAws_restXmlMetricsConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data[\"MetricsConfiguration\"]), context);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketMetricsConfigurationsCommand = deserializeAws_restXmlListBucketMetricsConfigurationsCommand;\nconst deserializeAws_restXmlListBucketMetricsConfigurationsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListBucketsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.Buckets === \"\") {\n contents.Buckets = [];\n }\n else if (data[\"Buckets\"] !== undefined && data[\"Buckets\"][\"Bucket\"] !== undefined) {\n contents.Buckets = deserializeAws_restXmlBuckets((0, smithy_client_1.getArrayIfSingleItem)(data[\"Buckets\"][\"Bucket\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListBucketsCommand = deserializeAws_restXmlListBucketsCommand;\nconst deserializeAws_restXmlListBucketsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListMultipartUploadsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListMultipartUploadsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(data[\"Bucket\"]);\n }\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n else if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CommonPrefixes\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = (0, smithy_client_1.expectString)(data[\"Delimiter\"]);\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = (0, smithy_client_1.expectString)(data[\"EncodingType\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = (0, smithy_client_1.expectString)(data[\"KeyMarker\"]);\n }\n if (data[\"MaxUploads\"] !== undefined) {\n contents.MaxUploads = (0, smithy_client_1.strictParseInt32)(data[\"MaxUploads\"]);\n }\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = (0, smithy_client_1.expectString)(data[\"NextKeyMarker\"]);\n }\n if (data[\"NextUploadIdMarker\"] !== undefined) {\n contents.NextUploadIdMarker = (0, smithy_client_1.expectString)(data[\"NextUploadIdMarker\"]);\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(data[\"Prefix\"]);\n }\n if (data[\"UploadIdMarker\"] !== undefined) {\n contents.UploadIdMarker = (0, smithy_client_1.expectString)(data[\"UploadIdMarker\"]);\n }\n if (data.Upload === \"\") {\n contents.Uploads = [];\n }\n else if (data[\"Upload\"] !== undefined) {\n contents.Uploads = deserializeAws_restXmlMultipartUploadList((0, smithy_client_1.getArrayIfSingleItem)(data[\"Upload\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListMultipartUploadsCommand = deserializeAws_restXmlListMultipartUploadsCommand;\nconst deserializeAws_restXmlListMultipartUploadsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListObjectsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n else if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CommonPrefixes\"]), context);\n }\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n else if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList((0, smithy_client_1.getArrayIfSingleItem)(data[\"Contents\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = (0, smithy_client_1.expectString)(data[\"Delimiter\"]);\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = (0, smithy_client_1.expectString)(data[\"EncodingType\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"Marker\"] !== undefined) {\n contents.Marker = (0, smithy_client_1.expectString)(data[\"Marker\"]);\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = (0, smithy_client_1.strictParseInt32)(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(data[\"Name\"]);\n }\n if (data[\"NextMarker\"] !== undefined) {\n contents.NextMarker = (0, smithy_client_1.expectString)(data[\"NextMarker\"]);\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(data[\"Prefix\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListObjectsCommand = deserializeAws_restXmlListObjectsCommand;\nconst deserializeAws_restXmlListObjectsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchBucket\":\n case \"com.amazonaws.s3#NoSuchBucket\":\n throw await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlListObjectsV2Command = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectsV2CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n else if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CommonPrefixes\"]), context);\n }\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n else if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList((0, smithy_client_1.getArrayIfSingleItem)(data[\"Contents\"]), context);\n }\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = (0, smithy_client_1.expectString)(data[\"ContinuationToken\"]);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = (0, smithy_client_1.expectString)(data[\"Delimiter\"]);\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = (0, smithy_client_1.expectString)(data[\"EncodingType\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"KeyCount\"] !== undefined) {\n contents.KeyCount = (0, smithy_client_1.strictParseInt32)(data[\"KeyCount\"]);\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = (0, smithy_client_1.strictParseInt32)(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(data[\"Name\"]);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = (0, smithy_client_1.expectString)(data[\"NextContinuationToken\"]);\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(data[\"Prefix\"]);\n }\n if (data[\"StartAfter\"] !== undefined) {\n contents.StartAfter = (0, smithy_client_1.expectString)(data[\"StartAfter\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListObjectsV2Command = deserializeAws_restXmlListObjectsV2Command;\nconst deserializeAws_restXmlListObjectsV2CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchBucket\":\n case \"com.amazonaws.s3#NoSuchBucket\":\n throw await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlListObjectVersionsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectVersionsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n else if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data[\"CommonPrefixes\"]), context);\n }\n if (data.DeleteMarker === \"\") {\n contents.DeleteMarkers = [];\n }\n else if (data[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarkers = deserializeAws_restXmlDeleteMarkers((0, smithy_client_1.getArrayIfSingleItem)(data[\"DeleteMarker\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = (0, smithy_client_1.expectString)(data[\"Delimiter\"]);\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = (0, smithy_client_1.expectString)(data[\"EncodingType\"]);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = (0, smithy_client_1.expectString)(data[\"KeyMarker\"]);\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = (0, smithy_client_1.strictParseInt32)(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(data[\"Name\"]);\n }\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = (0, smithy_client_1.expectString)(data[\"NextKeyMarker\"]);\n }\n if (data[\"NextVersionIdMarker\"] !== undefined) {\n contents.NextVersionIdMarker = (0, smithy_client_1.expectString)(data[\"NextVersionIdMarker\"]);\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(data[\"Prefix\"]);\n }\n if (data[\"VersionIdMarker\"] !== undefined) {\n contents.VersionIdMarker = (0, smithy_client_1.expectString)(data[\"VersionIdMarker\"]);\n }\n if (data.Version === \"\") {\n contents.Versions = [];\n }\n else if (data[\"Version\"] !== undefined) {\n contents.Versions = deserializeAws_restXmlObjectVersionList((0, smithy_client_1.getArrayIfSingleItem)(data[\"Version\"]), context);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListObjectVersionsCommand = deserializeAws_restXmlListObjectVersionsCommand;\nconst deserializeAws_restXmlListObjectVersionsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlListPartsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListPartsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n AbortDate: [\n () => void 0 !== output.headers[\"x-amz-abort-date\"],\n () => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc7231DateTime)(output.headers[\"x-amz-abort-date\"])),\n ],\n AbortRuleId: [, output.headers[\"x-amz-abort-rule-id\"]],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(data[\"Bucket\"]);\n }\n if (data[\"ChecksumAlgorithm\"] !== undefined) {\n contents.ChecksumAlgorithm = (0, smithy_client_1.expectString)(data[\"ChecksumAlgorithm\"]);\n }\n if (data[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(data[\"Initiator\"], context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(data[\"IsTruncated\"]);\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(data[\"Key\"]);\n }\n if (data[\"MaxParts\"] !== undefined) {\n contents.MaxParts = (0, smithy_client_1.strictParseInt32)(data[\"MaxParts\"]);\n }\n if (data[\"NextPartNumberMarker\"] !== undefined) {\n contents.NextPartNumberMarker = (0, smithy_client_1.expectString)(data[\"NextPartNumberMarker\"]);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n if (data[\"PartNumberMarker\"] !== undefined) {\n contents.PartNumberMarker = (0, smithy_client_1.expectString)(data[\"PartNumberMarker\"]);\n }\n if (data.Part === \"\") {\n contents.Parts = [];\n }\n else if (data[\"Part\"] !== undefined) {\n contents.Parts = deserializeAws_restXmlParts((0, smithy_client_1.getArrayIfSingleItem)(data[\"Part\"]), context);\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(data[\"StorageClass\"]);\n }\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = (0, smithy_client_1.expectString)(data[\"UploadId\"]);\n }\n return contents;\n};\nexports.deserializeAws_restXmlListPartsCommand = deserializeAws_restXmlListPartsCommand;\nconst deserializeAws_restXmlListPartsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = deserializeAws_restXmlPutBucketAccelerateConfigurationCommand;\nconst deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketAclCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAclCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketAclCommand = deserializeAws_restXmlPutBucketAclCommand;\nconst deserializeAws_restXmlPutBucketAclCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand;\nconst deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketCorsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketCorsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketCorsCommand = deserializeAws_restXmlPutBucketCorsCommand;\nconst deserializeAws_restXmlPutBucketCorsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketEncryptionCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketEncryptionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketEncryptionCommand = deserializeAws_restXmlPutBucketEncryptionCommand;\nconst deserializeAws_restXmlPutBucketEncryptionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand;\nconst deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketInventoryConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketInventoryConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketInventoryConfigurationCommand = deserializeAws_restXmlPutBucketInventoryConfigurationCommand;\nconst deserializeAws_restXmlPutBucketInventoryConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = deserializeAws_restXmlPutBucketLifecycleConfigurationCommand;\nconst deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketLoggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketLoggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketLoggingCommand = deserializeAws_restXmlPutBucketLoggingCommand;\nconst deserializeAws_restXmlPutBucketLoggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketMetricsConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketMetricsConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketMetricsConfigurationCommand = deserializeAws_restXmlPutBucketMetricsConfigurationCommand;\nconst deserializeAws_restXmlPutBucketMetricsConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketNotificationConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketNotificationConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketNotificationConfigurationCommand = deserializeAws_restXmlPutBucketNotificationConfigurationCommand;\nconst deserializeAws_restXmlPutBucketNotificationConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketOwnershipControlsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketOwnershipControlsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketOwnershipControlsCommand = deserializeAws_restXmlPutBucketOwnershipControlsCommand;\nconst deserializeAws_restXmlPutBucketOwnershipControlsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketPolicyCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketPolicyCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketPolicyCommand = deserializeAws_restXmlPutBucketPolicyCommand;\nconst deserializeAws_restXmlPutBucketPolicyCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketReplicationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketReplicationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketReplicationCommand = deserializeAws_restXmlPutBucketReplicationCommand;\nconst deserializeAws_restXmlPutBucketReplicationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketRequestPaymentCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketRequestPaymentCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketRequestPaymentCommand = deserializeAws_restXmlPutBucketRequestPaymentCommand;\nconst deserializeAws_restXmlPutBucketRequestPaymentCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketTaggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketTaggingCommand = deserializeAws_restXmlPutBucketTaggingCommand;\nconst deserializeAws_restXmlPutBucketTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketVersioningCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketVersioningCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketVersioningCommand = deserializeAws_restXmlPutBucketVersioningCommand;\nconst deserializeAws_restXmlPutBucketVersioningCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutBucketWebsiteCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketWebsiteCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutBucketWebsiteCommand = deserializeAws_restXmlPutBucketWebsiteCommand;\nconst deserializeAws_restXmlPutBucketWebsiteCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n Expiration: [, output.headers[\"x-amz-expiration\"]],\n ETag: [, output.headers[\"etag\"]],\n ChecksumCRC32: [, output.headers[\"x-amz-checksum-crc32\"]],\n ChecksumCRC32C: [, output.headers[\"x-amz-checksum-crc32c\"]],\n ChecksumSHA1: [, output.headers[\"x-amz-checksum-sha1\"]],\n ChecksumSHA256: [, output.headers[\"x-amz-checksum-sha256\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n SSEKMSEncryptionContext: [, output.headers[\"x-amz-server-side-encryption-context\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectCommand = deserializeAws_restXmlPutObjectCommand;\nconst deserializeAws_restXmlPutObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectAclCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectAclCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectAclCommand = deserializeAws_restXmlPutObjectAclCommand;\nconst deserializeAws_restXmlPutObjectAclCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlPutObjectLegalHoldCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectLegalHoldCommand = deserializeAws_restXmlPutObjectLegalHoldCommand;\nconst deserializeAws_restXmlPutObjectLegalHoldCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectLockConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectLockConfigurationCommand = deserializeAws_restXmlPutObjectLockConfigurationCommand;\nconst deserializeAws_restXmlPutObjectLockConfigurationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectRetentionCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectRetentionCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectRetentionCommand = deserializeAws_restXmlPutObjectRetentionCommand;\nconst deserializeAws_restXmlPutObjectRetentionCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutObjectTaggingCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectTaggingCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n VersionId: [, output.headers[\"x-amz-version-id\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutObjectTaggingCommand = deserializeAws_restXmlPutObjectTaggingCommand;\nconst deserializeAws_restXmlPutObjectTaggingCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlPutPublicAccessBlockCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutPublicAccessBlockCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlPutPublicAccessBlockCommand = deserializeAws_restXmlPutPublicAccessBlockCommand;\nconst deserializeAws_restXmlPutPublicAccessBlockCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlRestoreObjectCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlRestoreObjectCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n RestoreOutputPath: [, output.headers[\"x-amz-restore-output-path\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlRestoreObjectCommand = deserializeAws_restXmlRestoreObjectCommand;\nconst deserializeAws_restXmlRestoreObjectCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ObjectAlreadyInActiveTierError\":\n case \"com.amazonaws.s3#ObjectAlreadyInActiveTierError\":\n throw await deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restXmlSelectObjectContentCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlSelectObjectContentCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = output.body;\n contents.Payload = deserializeAws_restXmlSelectObjectContentEventStream(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlSelectObjectContentCommand = deserializeAws_restXmlSelectObjectContentCommand;\nconst deserializeAws_restXmlSelectObjectContentCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlUploadPartCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlUploadPartCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n ETag: [, output.headers[\"etag\"]],\n ChecksumCRC32: [, output.headers[\"x-amz-checksum-crc32\"]],\n ChecksumCRC32C: [, output.headers[\"x-amz-checksum-crc32c\"]],\n ChecksumSHA1: [, output.headers[\"x-amz-checksum-sha1\"]],\n ChecksumSHA256: [, output.headers[\"x-amz-checksum-sha256\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlUploadPartCommand = deserializeAws_restXmlUploadPartCommand;\nconst deserializeAws_restXmlUploadPartCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlUploadPartCopyCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlUploadPartCopyCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n CopySourceVersionId: [, output.headers[\"x-amz-copy-source-version-id\"]],\n ServerSideEncryption: [, output.headers[\"x-amz-server-side-encryption\"]],\n SSECustomerAlgorithm: [, output.headers[\"x-amz-server-side-encryption-customer-algorithm\"]],\n SSECustomerKeyMD5: [, output.headers[\"x-amz-server-side-encryption-customer-key-md5\"]],\n SSEKMSKeyId: [, output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"]],\n BucketKeyEnabled: [\n () => void 0 !== output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"],\n () => (0, smithy_client_1.parseBoolean)(output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"]),\n ],\n RequestCharged: [, output.headers[\"x-amz-request-charged\"]],\n });\n const data = (0, smithy_client_1.expectObject)(await parseBody(output.body, context));\n contents.CopyPartResult = deserializeAws_restXmlCopyPartResult(data, context);\n return contents;\n};\nexports.deserializeAws_restXmlUploadPartCopyCommand = deserializeAws_restXmlUploadPartCopyCommand;\nconst deserializeAws_restXmlUploadPartCopyCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst deserializeAws_restXmlWriteGetObjectResponseCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlWriteGetObjectResponseCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restXmlWriteGetObjectResponseCommand = deserializeAws_restXmlWriteGetObjectResponseCommand;\nconst deserializeAws_restXmlWriteGetObjectResponseCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: S3ServiceException_1.S3ServiceException,\n errorCode,\n });\n};\nconst map = smithy_client_1.map;\nconst deserializeAws_restXmlBucketAlreadyExistsResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.BucketAlreadyExists({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlBucketAlreadyOwnedByYouResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.BucketAlreadyOwnedByYou({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlInvalidObjectStateResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data[\"AccessTier\"] !== undefined) {\n contents.AccessTier = (0, smithy_client_1.expectString)(data[\"AccessTier\"]);\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(data[\"StorageClass\"]);\n }\n const exception = new models_0_1.InvalidObjectState({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlNoSuchBucketResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.NoSuchBucket({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlNoSuchKeyResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.NoSuchKey({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlNoSuchUploadResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.NoSuchUpload({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlNotFoundResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.NotFound({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_1_1.ObjectAlreadyInActiveTierError({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlObjectNotInActiveTierErrorResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const exception = new models_0_1.ObjectNotInActiveTierError({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restXmlSelectObjectContentEventStream = (output, context) => {\n return context.eventStreamMarshaller.deserialize(output, async (event) => {\n if (event[\"Records\"] != null) {\n return {\n Records: await deserializeAws_restXmlRecordsEvent_event(event[\"Records\"], context),\n };\n }\n if (event[\"Stats\"] != null) {\n return {\n Stats: await deserializeAws_restXmlStatsEvent_event(event[\"Stats\"], context),\n };\n }\n if (event[\"Progress\"] != null) {\n return {\n Progress: await deserializeAws_restXmlProgressEvent_event(event[\"Progress\"], context),\n };\n }\n if (event[\"Cont\"] != null) {\n return {\n Cont: await deserializeAws_restXmlContinuationEvent_event(event[\"Cont\"], context),\n };\n }\n if (event[\"End\"] != null) {\n return {\n End: await deserializeAws_restXmlEndEvent_event(event[\"End\"], context),\n };\n }\n return { $unknown: output };\n });\n};\nconst deserializeAws_restXmlContinuationEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, deserializeAws_restXmlContinuationEvent(data, context));\n return contents;\n};\nconst deserializeAws_restXmlEndEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, deserializeAws_restXmlEndEvent(data, context));\n return contents;\n};\nconst deserializeAws_restXmlProgressEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n contents.Details = deserializeAws_restXmlProgress(data, context);\n return contents;\n};\nconst deserializeAws_restXmlRecordsEvent_event = async (output, context) => {\n const contents = {};\n contents.Payload = output.body;\n return contents;\n};\nconst deserializeAws_restXmlStatsEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n contents.Details = deserializeAws_restXmlStats(data, context);\n return contents;\n};\nconst serializeAws_restXmlAbortIncompleteMultipartUpload = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AbortIncompleteMultipartUpload\");\n if (input.DaysAfterInitiation != null) {\n const node = xml_builder_1.XmlNode.of(\"DaysAfterInitiation\", String(input.DaysAfterInitiation)).withName(\"DaysAfterInitiation\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAccelerateConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AccelerateConfiguration\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketAccelerateStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAccessControlPolicy = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AccessControlPolicy\");\n if (input.Grants != null) {\n const nodes = serializeAws_restXmlGrants(input.Grants, context);\n const containerNode = new xml_builder_1.XmlNode(\"AccessControlList\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Owner != null) {\n const node = serializeAws_restXmlOwner(input.Owner, context).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAccessControlTranslation = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AccessControlTranslation\");\n if (input.Owner != null) {\n const node = xml_builder_1.XmlNode.of(\"OwnerOverride\", input.Owner).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAllowedHeaders = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"AllowedHeader\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlAllowedMethods = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"AllowedMethod\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlAllowedOrigins = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"AllowedOrigin\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlAnalyticsAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAnalyticsConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"AnalyticsId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlAnalyticsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClassAnalysis != null) {\n const node = serializeAws_restXmlStorageClassAnalysis(input.StorageClassAnalysis, context).withName(\"StorageClassAnalysis\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAnalyticsExportDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsExportDestination\");\n if (input.S3BucketDestination != null) {\n const node = serializeAws_restXmlAnalyticsS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlAnalyticsFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsFilter\");\n models_0_1.AnalyticsFilter.visit(input, {\n Prefix: (value) => {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", value).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlAnalyticsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name, value) => {\n if (!(value instanceof xml_builder_1.XmlNode || value instanceof xml_builder_1.XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new xml_builder_1.XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nconst serializeAws_restXmlAnalyticsS3BucketDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"AnalyticsS3BucketDestination\");\n if (input.Format != null) {\n const node = xml_builder_1.XmlNode.of(\"AnalyticsS3ExportFileFormat\", input.Format).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n if (input.BucketAccountId != null) {\n const node = xml_builder_1.XmlNode.of(\"AccountId\", input.BucketAccountId).withName(\"BucketAccountId\");\n bodyNode.addChildNode(node);\n }\n if (input.Bucket != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketName\", input.Bucket).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlBucketLifecycleConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"BucketLifecycleConfiguration\");\n if (input.Rules != null) {\n const nodes = serializeAws_restXmlLifecycleRules(input.Rules, context);\n nodes.map((node) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlBucketLoggingStatus = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"BucketLoggingStatus\");\n if (input.LoggingEnabled != null) {\n const node = serializeAws_restXmlLoggingEnabled(input.LoggingEnabled, context).withName(\"LoggingEnabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCompletedMultipartUpload = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CompletedMultipartUpload\");\n if (input.Parts != null) {\n const nodes = serializeAws_restXmlCompletedPartList(input.Parts, context);\n nodes.map((node) => {\n node = node.withName(\"Part\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCompletedPart = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CompletedPart\");\n if (input.ETag != null) {\n const node = xml_builder_1.XmlNode.of(\"ETag\", input.ETag).withName(\"ETag\");\n bodyNode.addChildNode(node);\n }\n if (input.ChecksumCRC32 != null) {\n const node = xml_builder_1.XmlNode.of(\"ChecksumCRC32\", input.ChecksumCRC32).withName(\"ChecksumCRC32\");\n bodyNode.addChildNode(node);\n }\n if (input.ChecksumCRC32C != null) {\n const node = xml_builder_1.XmlNode.of(\"ChecksumCRC32C\", input.ChecksumCRC32C).withName(\"ChecksumCRC32C\");\n bodyNode.addChildNode(node);\n }\n if (input.ChecksumSHA1 != null) {\n const node = xml_builder_1.XmlNode.of(\"ChecksumSHA1\", input.ChecksumSHA1).withName(\"ChecksumSHA1\");\n bodyNode.addChildNode(node);\n }\n if (input.ChecksumSHA256 != null) {\n const node = xml_builder_1.XmlNode.of(\"ChecksumSHA256\", input.ChecksumSHA256).withName(\"ChecksumSHA256\");\n bodyNode.addChildNode(node);\n }\n if (input.PartNumber != null) {\n const node = xml_builder_1.XmlNode.of(\"PartNumber\", String(input.PartNumber)).withName(\"PartNumber\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCompletedPartList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlCompletedPart(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlCondition = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Condition\");\n if (input.HttpErrorCodeReturnedEquals != null) {\n const node = xml_builder_1.XmlNode\n .of(\"HttpErrorCodeReturnedEquals\", input.HttpErrorCodeReturnedEquals)\n .withName(\"HttpErrorCodeReturnedEquals\");\n bodyNode.addChildNode(node);\n }\n if (input.KeyPrefixEquals != null) {\n const node = xml_builder_1.XmlNode.of(\"KeyPrefixEquals\", input.KeyPrefixEquals).withName(\"KeyPrefixEquals\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCORSConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CORSConfiguration\");\n if (input.CORSRules != null) {\n const nodes = serializeAws_restXmlCORSRules(input.CORSRules, context);\n nodes.map((node) => {\n node = node.withName(\"CORSRule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCORSRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CORSRule\");\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.AllowedHeaders != null) {\n const nodes = serializeAws_restXmlAllowedHeaders(input.AllowedHeaders, context);\n nodes.map((node) => {\n node = node.withName(\"AllowedHeader\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AllowedMethods != null) {\n const nodes = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context);\n nodes.map((node) => {\n node = node.withName(\"AllowedMethod\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AllowedOrigins != null) {\n const nodes = serializeAws_restXmlAllowedOrigins(input.AllowedOrigins, context);\n nodes.map((node) => {\n node = node.withName(\"AllowedOrigin\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.ExposeHeaders != null) {\n const nodes = serializeAws_restXmlExposeHeaders(input.ExposeHeaders, context);\n nodes.map((node) => {\n node = node.withName(\"ExposeHeader\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.MaxAgeSeconds != null) {\n const node = xml_builder_1.XmlNode.of(\"MaxAgeSeconds\", String(input.MaxAgeSeconds)).withName(\"MaxAgeSeconds\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCORSRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlCORSRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlCreateBucketConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CreateBucketConfiguration\");\n if (input.LocationConstraint != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketLocationConstraint\", input.LocationConstraint).withName(\"LocationConstraint\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCSVInput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CSVInput\");\n if (input.FileHeaderInfo != null) {\n const node = xml_builder_1.XmlNode.of(\"FileHeaderInfo\", input.FileHeaderInfo).withName(\"FileHeaderInfo\");\n bodyNode.addChildNode(node);\n }\n if (input.Comments != null) {\n const node = xml_builder_1.XmlNode.of(\"Comments\", input.Comments).withName(\"Comments\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteEscapeCharacter != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteEscapeCharacter\", input.QuoteEscapeCharacter).withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.RecordDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"RecordDelimiter\", input.RecordDelimiter).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.FieldDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"FieldDelimiter\", input.FieldDelimiter).withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteCharacter != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteCharacter\", input.QuoteCharacter).withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.AllowQuotedRecordDelimiter != null) {\n const node = xml_builder_1.XmlNode\n .of(\"AllowQuotedRecordDelimiter\", String(input.AllowQuotedRecordDelimiter))\n .withName(\"AllowQuotedRecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlCSVOutput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"CSVOutput\");\n if (input.QuoteFields != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteFields\", input.QuoteFields).withName(\"QuoteFields\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteEscapeCharacter != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteEscapeCharacter\", input.QuoteEscapeCharacter).withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.RecordDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"RecordDelimiter\", input.RecordDelimiter).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.FieldDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"FieldDelimiter\", input.FieldDelimiter).withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteCharacter != null) {\n const node = xml_builder_1.XmlNode.of(\"QuoteCharacter\", input.QuoteCharacter).withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlDefaultRetention = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"DefaultRetention\");\n if (input.Mode != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectLockRetentionMode\", input.Mode).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.Years != null) {\n const node = xml_builder_1.XmlNode.of(\"Years\", String(input.Years)).withName(\"Years\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlDelete = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Delete\");\n if (input.Objects != null) {\n const nodes = serializeAws_restXmlObjectIdentifierList(input.Objects, context);\n nodes.map((node) => {\n node = node.withName(\"Object\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Quiet != null) {\n const node = xml_builder_1.XmlNode.of(\"Quiet\", String(input.Quiet)).withName(\"Quiet\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlDeleteMarkerReplication = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"DeleteMarkerReplication\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"DeleteMarkerReplicationStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Destination\");\n if (input.Bucket != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketName\", input.Bucket).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Account != null) {\n const node = xml_builder_1.XmlNode.of(\"AccountId\", input.Account).withName(\"Account\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass != null) {\n const node = xml_builder_1.XmlNode.of(\"StorageClass\", input.StorageClass).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessControlTranslation != null) {\n const node = serializeAws_restXmlAccessControlTranslation(input.AccessControlTranslation, context).withName(\"AccessControlTranslation\");\n bodyNode.addChildNode(node);\n }\n if (input.EncryptionConfiguration != null) {\n const node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName(\"EncryptionConfiguration\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplicationTime != null) {\n const node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName(\"ReplicationTime\");\n bodyNode.addChildNode(node);\n }\n if (input.Metrics != null) {\n const node = serializeAws_restXmlMetrics(input.Metrics, context).withName(\"Metrics\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlEncryption = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Encryption\");\n if (input.EncryptionType != null) {\n const node = xml_builder_1.XmlNode.of(\"ServerSideEncryption\", input.EncryptionType).withName(\"EncryptionType\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSKeyId != null) {\n const node = xml_builder_1.XmlNode.of(\"SSEKMSKeyId\", input.KMSKeyId).withName(\"KMSKeyId\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSContext != null) {\n const node = xml_builder_1.XmlNode.of(\"KMSContext\", input.KMSContext).withName(\"KMSContext\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlEncryptionConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"EncryptionConfiguration\");\n if (input.ReplicaKmsKeyID != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplicaKmsKeyID\", input.ReplicaKmsKeyID).withName(\"ReplicaKmsKeyID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlErrorDocument = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ErrorDocument\");\n if (input.Key != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectKey\", input.Key).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlEventBridgeConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"EventBridgeConfiguration\");\n return bodyNode;\n};\nconst serializeAws_restXmlEventList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"Event\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlExistingObjectReplication = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ExistingObjectReplication\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ExistingObjectReplicationStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlExposeHeaders = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"ExposeHeader\", entry);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlFilterRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"FilterRule\");\n if (input.Name != null) {\n const node = xml_builder_1.XmlNode.of(\"FilterRuleName\", input.Name).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n if (input.Value != null) {\n const node = xml_builder_1.XmlNode.of(\"FilterRuleValue\", input.Value).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlFilterRuleList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlFilterRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlGlacierJobParameters = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"GlacierJobParameters\");\n if (input.Tier != null) {\n const node = xml_builder_1.XmlNode.of(\"Tier\", input.Tier).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlGrant = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Grant\");\n if (input.Grantee != null) {\n const node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n node.addAttribute(\"xmlns:xsi\", \"http://www.w3.org/2001/XMLSchema-instance\");\n bodyNode.addChildNode(node);\n }\n if (input.Permission != null) {\n const node = xml_builder_1.XmlNode.of(\"Permission\", input.Permission).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlGrantee = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Grantee\");\n if (input.DisplayName != null) {\n const node = xml_builder_1.XmlNode.of(\"DisplayName\", input.DisplayName).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n if (input.EmailAddress != null) {\n const node = xml_builder_1.XmlNode.of(\"EmailAddress\", input.EmailAddress).withName(\"EmailAddress\");\n bodyNode.addChildNode(node);\n }\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.URI != null) {\n const node = xml_builder_1.XmlNode.of(\"URI\", input.URI).withName(\"URI\");\n bodyNode.addChildNode(node);\n }\n if (input.Type != null) {\n bodyNode.addAttribute(\"xsi:type\", input.Type);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlGrants = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\nconst serializeAws_restXmlIndexDocument = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"IndexDocument\");\n if (input.Suffix != null) {\n const node = xml_builder_1.XmlNode.of(\"Suffix\", input.Suffix).withName(\"Suffix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInputSerialization = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InputSerialization\");\n if (input.CSV != null) {\n const node = serializeAws_restXmlCSVInput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n if (input.CompressionType != null) {\n const node = xml_builder_1.XmlNode.of(\"CompressionType\", input.CompressionType).withName(\"CompressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.JSON != null) {\n const node = serializeAws_restXmlJSONInput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n if (input.Parquet != null) {\n const node = serializeAws_restXmlParquetInput(input.Parquet, context).withName(\"Parquet\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlIntelligentTieringAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"IntelligentTieringAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlIntelligentTieringConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"IntelligentTieringConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"IntelligentTieringId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlIntelligentTieringFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"IntelligentTieringStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Tierings != null) {\n const nodes = serializeAws_restXmlTieringList(input.Tierings, context);\n nodes.map((node) => {\n node = node.withName(\"Tiering\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlIntelligentTieringFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"IntelligentTieringFilter\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tag != null) {\n const node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n if (input.And != null) {\n const node = serializeAws_restXmlIntelligentTieringAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryConfiguration\");\n if (input.Destination != null) {\n const node = serializeAws_restXmlInventoryDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n if (input.IsEnabled != null) {\n const node = xml_builder_1.XmlNode.of(\"IsEnabled\", String(input.IsEnabled)).withName(\"IsEnabled\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlInventoryFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"InventoryId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.IncludedObjectVersions != null) {\n const node = xml_builder_1.XmlNode\n .of(\"InventoryIncludedObjectVersions\", input.IncludedObjectVersions)\n .withName(\"IncludedObjectVersions\");\n bodyNode.addChildNode(node);\n }\n if (input.OptionalFields != null) {\n const nodes = serializeAws_restXmlInventoryOptionalFields(input.OptionalFields, context);\n const containerNode = new xml_builder_1.XmlNode(\"OptionalFields\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Schedule != null) {\n const node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName(\"Schedule\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryDestination\");\n if (input.S3BucketDestination != null) {\n const node = serializeAws_restXmlInventoryS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryEncryption = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryEncryption\");\n if (input.SSES3 != null) {\n const node = serializeAws_restXmlSSES3(input.SSES3, context).withName(\"SSE-S3\");\n bodyNode.addChildNode(node);\n }\n if (input.SSEKMS != null) {\n const node = serializeAws_restXmlSSEKMS(input.SSEKMS, context).withName(\"SSE-KMS\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryFilter\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventoryOptionalFields = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = xml_builder_1.XmlNode.of(\"InventoryOptionalField\", entry);\n return node.withName(\"Field\");\n });\n};\nconst serializeAws_restXmlInventoryS3BucketDestination = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventoryS3BucketDestination\");\n if (input.AccountId != null) {\n const node = xml_builder_1.XmlNode.of(\"AccountId\", input.AccountId).withName(\"AccountId\");\n bodyNode.addChildNode(node);\n }\n if (input.Bucket != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketName\", input.Bucket).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Format != null) {\n const node = xml_builder_1.XmlNode.of(\"InventoryFormat\", input.Format).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Encryption != null) {\n const node = serializeAws_restXmlInventoryEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlInventorySchedule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"InventorySchedule\");\n if (input.Frequency != null) {\n const node = xml_builder_1.XmlNode.of(\"InventoryFrequency\", input.Frequency).withName(\"Frequency\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlJSONInput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"JSONInput\");\n if (input.Type != null) {\n const node = xml_builder_1.XmlNode.of(\"JSONType\", input.Type).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlJSONOutput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"JSONOutput\");\n if (input.RecordDelimiter != null) {\n const node = xml_builder_1.XmlNode.of(\"RecordDelimiter\", input.RecordDelimiter).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLambdaFunctionConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LambdaFunctionConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"NotificationId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.LambdaFunctionArn != null) {\n const node = xml_builder_1.XmlNode.of(\"LambdaFunctionArn\", input.LambdaFunctionArn).withName(\"CloudFunction\");\n bodyNode.addChildNode(node);\n }\n if (input.Events != null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLambdaFunctionConfigurationList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlLifecycleExpiration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LifecycleExpiration\");\n if (input.Date != null) {\n const node = xml_builder_1.XmlNode.of(\"Date\", (input.Date.toISOString().split(\".\")[0] + \"Z\").toString()).withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpiredObjectDeleteMarker != null) {\n const node = xml_builder_1.XmlNode\n .of(\"ExpiredObjectDeleteMarker\", String(input.ExpiredObjectDeleteMarker))\n .withName(\"ExpiredObjectDeleteMarker\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLifecycleRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LifecycleRule\");\n if (input.Expiration != null) {\n const node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName(\"Expiration\");\n bodyNode.addChildNode(node);\n }\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ExpirationStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Transitions != null) {\n const nodes = serializeAws_restXmlTransitionList(input.Transitions, context);\n nodes.map((node) => {\n node = node.withName(\"Transition\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.NoncurrentVersionTransitions != null) {\n const nodes = serializeAws_restXmlNoncurrentVersionTransitionList(input.NoncurrentVersionTransitions, context);\n nodes.map((node) => {\n node = node.withName(\"NoncurrentVersionTransition\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.NoncurrentVersionExpiration != null) {\n const node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName(\"NoncurrentVersionExpiration\");\n bodyNode.addChildNode(node);\n }\n if (input.AbortIncompleteMultipartUpload != null) {\n const node = serializeAws_restXmlAbortIncompleteMultipartUpload(input.AbortIncompleteMultipartUpload, context).withName(\"AbortIncompleteMultipartUpload\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLifecycleRuleAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LifecycleRuleAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.ObjectSizeGreaterThan != null) {\n const node = xml_builder_1.XmlNode\n .of(\"ObjectSizeGreaterThanBytes\", String(input.ObjectSizeGreaterThan))\n .withName(\"ObjectSizeGreaterThan\");\n bodyNode.addChildNode(node);\n }\n if (input.ObjectSizeLessThan != null) {\n const node = xml_builder_1.XmlNode\n .of(\"ObjectSizeLessThanBytes\", String(input.ObjectSizeLessThan))\n .withName(\"ObjectSizeLessThan\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlLifecycleRuleFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LifecycleRuleFilter\");\n models_0_1.LifecycleRuleFilter.visit(input, {\n Prefix: (value) => {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", value).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n ObjectSizeGreaterThan: (value) => {\n const node = xml_builder_1.XmlNode.of(\"ObjectSizeGreaterThanBytes\", String(value)).withName(\"ObjectSizeGreaterThan\");\n bodyNode.addChildNode(node);\n },\n ObjectSizeLessThan: (value) => {\n const node = xml_builder_1.XmlNode.of(\"ObjectSizeLessThanBytes\", String(value)).withName(\"ObjectSizeLessThan\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlLifecycleRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name, value) => {\n if (!(value instanceof xml_builder_1.XmlNode || value instanceof xml_builder_1.XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new xml_builder_1.XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nconst serializeAws_restXmlLifecycleRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlLifecycleRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlLoggingEnabled = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"LoggingEnabled\");\n if (input.TargetBucket != null) {\n const node = xml_builder_1.XmlNode.of(\"TargetBucket\", input.TargetBucket).withName(\"TargetBucket\");\n bodyNode.addChildNode(node);\n }\n if (input.TargetGrants != null) {\n const nodes = serializeAws_restXmlTargetGrants(input.TargetGrants, context);\n const containerNode = new xml_builder_1.XmlNode(\"TargetGrants\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.TargetPrefix != null) {\n const node = xml_builder_1.XmlNode.of(\"TargetPrefix\", input.TargetPrefix).withName(\"TargetPrefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetadataEntry = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"MetadataEntry\");\n if (input.Name != null) {\n const node = xml_builder_1.XmlNode.of(\"MetadataKey\", input.Name).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n if (input.Value != null) {\n const node = xml_builder_1.XmlNode.of(\"MetadataValue\", input.Value).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetrics = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Metrics\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"MetricsStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.EventThreshold != null) {\n const node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName(\"EventThreshold\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetricsAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"MetricsAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AccessPointArn != null) {\n const node = xml_builder_1.XmlNode.of(\"AccessPointArn\", input.AccessPointArn).withName(\"AccessPointArn\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetricsConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"MetricsConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"MetricsId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlMetricsFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"MetricsFilter\");\n models_0_1.MetricsFilter.visit(input, {\n Prefix: (value) => {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", value).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n AccessPointArn: (value) => {\n const node = xml_builder_1.XmlNode.of(\"AccessPointArn\", value).withName(\"AccessPointArn\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlMetricsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name, value) => {\n if (!(value instanceof xml_builder_1.XmlNode || value instanceof xml_builder_1.XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new xml_builder_1.XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nconst serializeAws_restXmlNoncurrentVersionExpiration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"NoncurrentVersionExpiration\");\n if (input.NoncurrentDays != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.NoncurrentDays)).withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n if (input.NewerNoncurrentVersions != null) {\n const node = xml_builder_1.XmlNode\n .of(\"VersionCount\", String(input.NewerNoncurrentVersions))\n .withName(\"NewerNoncurrentVersions\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlNoncurrentVersionTransition = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"NoncurrentVersionTransition\");\n if (input.NoncurrentDays != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.NoncurrentDays)).withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass != null) {\n const node = xml_builder_1.XmlNode.of(\"TransitionStorageClass\", input.StorageClass).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n if (input.NewerNoncurrentVersions != null) {\n const node = xml_builder_1.XmlNode\n .of(\"VersionCount\", String(input.NewerNoncurrentVersions))\n .withName(\"NewerNoncurrentVersions\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlNoncurrentVersionTransitionList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlNoncurrentVersionTransition(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlNotificationConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"NotificationConfiguration\");\n if (input.TopicConfigurations != null) {\n const nodes = serializeAws_restXmlTopicConfigurationList(input.TopicConfigurations, context);\n nodes.map((node) => {\n node = node.withName(\"TopicConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.QueueConfigurations != null) {\n const nodes = serializeAws_restXmlQueueConfigurationList(input.QueueConfigurations, context);\n nodes.map((node) => {\n node = node.withName(\"QueueConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.LambdaFunctionConfigurations != null) {\n const nodes = serializeAws_restXmlLambdaFunctionConfigurationList(input.LambdaFunctionConfigurations, context);\n nodes.map((node) => {\n node = node.withName(\"CloudFunctionConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.EventBridgeConfiguration != null) {\n const node = serializeAws_restXmlEventBridgeConfiguration(input.EventBridgeConfiguration, context).withName(\"EventBridgeConfiguration\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlNotificationConfigurationFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"NotificationConfigurationFilter\");\n if (input.Key != null) {\n const node = serializeAws_restXmlS3KeyFilter(input.Key, context).withName(\"S3Key\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectIdentifier = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectIdentifier\");\n if (input.Key != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectKey\", input.Key).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n if (input.VersionId != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectVersionId\", input.VersionId).withName(\"VersionId\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectIdentifierList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlObjectIdentifier(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlObjectLockConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectLockConfiguration\");\n if (input.ObjectLockEnabled != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectLockEnabled\", input.ObjectLockEnabled).withName(\"ObjectLockEnabled\");\n bodyNode.addChildNode(node);\n }\n if (input.Rule != null) {\n const node = serializeAws_restXmlObjectLockRule(input.Rule, context).withName(\"Rule\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectLockLegalHold = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectLockLegalHold\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectLockLegalHoldStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectLockRetention = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectLockRetention\");\n if (input.Mode != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectLockRetentionMode\", input.Mode).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n if (input.RetainUntilDate != null) {\n const node = xml_builder_1.XmlNode\n .of(\"Date\", (input.RetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString())\n .withName(\"RetainUntilDate\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlObjectLockRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ObjectLockRule\");\n if (input.DefaultRetention != null) {\n const node = serializeAws_restXmlDefaultRetention(input.DefaultRetention, context).withName(\"DefaultRetention\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOutputLocation = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"OutputLocation\");\n if (input.S3 != null) {\n const node = serializeAws_restXmlS3Location(input.S3, context).withName(\"S3\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOutputSerialization = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"OutputSerialization\");\n if (input.CSV != null) {\n const node = serializeAws_restXmlCSVOutput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n if (input.JSON != null) {\n const node = serializeAws_restXmlJSONOutput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOwner = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Owner\");\n if (input.DisplayName != null) {\n const node = xml_builder_1.XmlNode.of(\"DisplayName\", input.DisplayName).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOwnershipControls = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"OwnershipControls\");\n if (input.Rules != null) {\n const nodes = serializeAws_restXmlOwnershipControlsRules(input.Rules, context);\n nodes.map((node) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOwnershipControlsRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"OwnershipControlsRule\");\n if (input.ObjectOwnership != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectOwnership\", input.ObjectOwnership).withName(\"ObjectOwnership\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlOwnershipControlsRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlOwnershipControlsRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlParquetInput = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ParquetInput\");\n return bodyNode;\n};\nconst serializeAws_restXmlPublicAccessBlockConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"PublicAccessBlockConfiguration\");\n if (input.BlockPublicAcls != null) {\n const node = xml_builder_1.XmlNode.of(\"Setting\", String(input.BlockPublicAcls)).withName(\"BlockPublicAcls\");\n bodyNode.addChildNode(node);\n }\n if (input.IgnorePublicAcls != null) {\n const node = xml_builder_1.XmlNode.of(\"Setting\", String(input.IgnorePublicAcls)).withName(\"IgnorePublicAcls\");\n bodyNode.addChildNode(node);\n }\n if (input.BlockPublicPolicy != null) {\n const node = xml_builder_1.XmlNode.of(\"Setting\", String(input.BlockPublicPolicy)).withName(\"BlockPublicPolicy\");\n bodyNode.addChildNode(node);\n }\n if (input.RestrictPublicBuckets != null) {\n const node = xml_builder_1.XmlNode.of(\"Setting\", String(input.RestrictPublicBuckets)).withName(\"RestrictPublicBuckets\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlQueueConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"QueueConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"NotificationId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.QueueArn != null) {\n const node = xml_builder_1.XmlNode.of(\"QueueArn\", input.QueueArn).withName(\"Queue\");\n bodyNode.addChildNode(node);\n }\n if (input.Events != null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlQueueConfigurationList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlQueueConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlRedirect = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Redirect\");\n if (input.HostName != null) {\n const node = xml_builder_1.XmlNode.of(\"HostName\", input.HostName).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n if (input.HttpRedirectCode != null) {\n const node = xml_builder_1.XmlNode.of(\"HttpRedirectCode\", input.HttpRedirectCode).withName(\"HttpRedirectCode\");\n bodyNode.addChildNode(node);\n }\n if (input.Protocol != null) {\n const node = xml_builder_1.XmlNode.of(\"Protocol\", input.Protocol).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplaceKeyPrefixWith != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplaceKeyPrefixWith\", input.ReplaceKeyPrefixWith).withName(\"ReplaceKeyPrefixWith\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplaceKeyWith != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplaceKeyWith\", input.ReplaceKeyWith).withName(\"ReplaceKeyWith\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRedirectAllRequestsTo = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RedirectAllRequestsTo\");\n if (input.HostName != null) {\n const node = xml_builder_1.XmlNode.of(\"HostName\", input.HostName).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n if (input.Protocol != null) {\n const node = xml_builder_1.XmlNode.of(\"Protocol\", input.Protocol).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicaModifications = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicaModifications\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplicaModificationsStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationConfiguration\");\n if (input.Role != null) {\n const node = xml_builder_1.XmlNode.of(\"Role\", input.Role).withName(\"Role\");\n bodyNode.addChildNode(node);\n }\n if (input.Rules != null) {\n const nodes = serializeAws_restXmlReplicationRules(input.Rules, context);\n nodes.map((node) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationRule\");\n if (input.ID != null) {\n const node = xml_builder_1.XmlNode.of(\"ID\", input.ID).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.Priority != null) {\n const node = xml_builder_1.XmlNode.of(\"Priority\", String(input.Priority)).withName(\"Priority\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplicationRuleStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.SourceSelectionCriteria != null) {\n const node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName(\"SourceSelectionCriteria\");\n bodyNode.addChildNode(node);\n }\n if (input.ExistingObjectReplication != null) {\n const node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName(\"ExistingObjectReplication\");\n bodyNode.addChildNode(node);\n }\n if (input.Destination != null) {\n const node = serializeAws_restXmlDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n if (input.DeleteMarkerReplication != null) {\n const node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName(\"DeleteMarkerReplication\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationRuleAndOperator = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationRuleAndOperator\");\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags != null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationRuleFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationRuleFilter\");\n models_0_1.ReplicationRuleFilter.visit(input, {\n Prefix: (value) => {\n const node = xml_builder_1.XmlNode.of(\"Prefix\", value).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlReplicationRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name, value) => {\n if (!(value instanceof xml_builder_1.XmlNode || value instanceof xml_builder_1.XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new xml_builder_1.XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlReplicationRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlReplicationTime = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationTime\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"ReplicationTimeStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Time != null) {\n const node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName(\"Time\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlReplicationTimeValue = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ReplicationTimeValue\");\n if (input.Minutes != null) {\n const node = xml_builder_1.XmlNode.of(\"Minutes\", String(input.Minutes)).withName(\"Minutes\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRequestPaymentConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RequestPaymentConfiguration\");\n if (input.Payer != null) {\n const node = xml_builder_1.XmlNode.of(\"Payer\", input.Payer).withName(\"Payer\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRequestProgress = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RequestProgress\");\n if (input.Enabled != null) {\n const node = xml_builder_1.XmlNode.of(\"EnableRequestProgress\", String(input.Enabled)).withName(\"Enabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRestoreRequest = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RestoreRequest\");\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.GlacierJobParameters != null) {\n const node = serializeAws_restXmlGlacierJobParameters(input.GlacierJobParameters, context).withName(\"GlacierJobParameters\");\n bodyNode.addChildNode(node);\n }\n if (input.Type != null) {\n const node = xml_builder_1.XmlNode.of(\"RestoreRequestType\", input.Type).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n if (input.Tier != null) {\n const node = xml_builder_1.XmlNode.of(\"Tier\", input.Tier).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n if (input.Description != null) {\n const node = xml_builder_1.XmlNode.of(\"Description\", input.Description).withName(\"Description\");\n bodyNode.addChildNode(node);\n }\n if (input.SelectParameters != null) {\n const node = serializeAws_restXmlSelectParameters(input.SelectParameters, context).withName(\"SelectParameters\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputLocation != null) {\n const node = serializeAws_restXmlOutputLocation(input.OutputLocation, context).withName(\"OutputLocation\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRoutingRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"RoutingRule\");\n if (input.Condition != null) {\n const node = serializeAws_restXmlCondition(input.Condition, context).withName(\"Condition\");\n bodyNode.addChildNode(node);\n }\n if (input.Redirect != null) {\n const node = serializeAws_restXmlRedirect(input.Redirect, context).withName(\"Redirect\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlRoutingRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlRoutingRule(entry, context);\n return node.withName(\"RoutingRule\");\n });\n};\nconst serializeAws_restXmlS3KeyFilter = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"S3KeyFilter\");\n if (input.FilterRules != null) {\n const nodes = serializeAws_restXmlFilterRuleList(input.FilterRules, context);\n nodes.map((node) => {\n node = node.withName(\"FilterRule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlS3Location = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"S3Location\");\n if (input.BucketName != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketName\", input.BucketName).withName(\"BucketName\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix != null) {\n const node = xml_builder_1.XmlNode.of(\"LocationPrefix\", input.Prefix).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Encryption != null) {\n const node = serializeAws_restXmlEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n if (input.CannedACL != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectCannedACL\", input.CannedACL).withName(\"CannedACL\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessControlList != null) {\n const nodes = serializeAws_restXmlGrants(input.AccessControlList, context);\n const containerNode = new xml_builder_1.XmlNode(\"AccessControlList\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Tagging != null) {\n const node = serializeAws_restXmlTagging(input.Tagging, context).withName(\"Tagging\");\n bodyNode.addChildNode(node);\n }\n if (input.UserMetadata != null) {\n const nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context);\n const containerNode = new xml_builder_1.XmlNode(\"UserMetadata\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.StorageClass != null) {\n const node = xml_builder_1.XmlNode.of(\"StorageClass\", input.StorageClass).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlScanRange = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ScanRange\");\n if (input.Start != null) {\n const node = xml_builder_1.XmlNode.of(\"Start\", String(input.Start)).withName(\"Start\");\n bodyNode.addChildNode(node);\n }\n if (input.End != null) {\n const node = xml_builder_1.XmlNode.of(\"End\", String(input.End)).withName(\"End\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlSelectParameters = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SelectParameters\");\n if (input.InputSerialization != null) {\n const node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpressionType != null) {\n const node = xml_builder_1.XmlNode.of(\"ExpressionType\", input.ExpressionType).withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.Expression != null) {\n const node = xml_builder_1.XmlNode.of(\"Expression\", input.Expression).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputSerialization != null) {\n const node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlServerSideEncryptionByDefault = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ServerSideEncryptionByDefault\");\n if (input.SSEAlgorithm != null) {\n const node = xml_builder_1.XmlNode.of(\"ServerSideEncryption\", input.SSEAlgorithm).withName(\"SSEAlgorithm\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSMasterKeyID != null) {\n const node = xml_builder_1.XmlNode.of(\"SSEKMSKeyId\", input.KMSMasterKeyID).withName(\"KMSMasterKeyID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlServerSideEncryptionConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ServerSideEncryptionConfiguration\");\n if (input.Rules != null) {\n const nodes = serializeAws_restXmlServerSideEncryptionRules(input.Rules, context);\n nodes.map((node) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nconst serializeAws_restXmlServerSideEncryptionRule = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"ServerSideEncryptionRule\");\n if (input.ApplyServerSideEncryptionByDefault != null) {\n const node = serializeAws_restXmlServerSideEncryptionByDefault(input.ApplyServerSideEncryptionByDefault, context).withName(\"ApplyServerSideEncryptionByDefault\");\n bodyNode.addChildNode(node);\n }\n if (input.BucketKeyEnabled != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketKeyEnabled\", String(input.BucketKeyEnabled)).withName(\"BucketKeyEnabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlServerSideEncryptionRules = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlServerSideEncryptionRule(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlSourceSelectionCriteria = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SourceSelectionCriteria\");\n if (input.SseKmsEncryptedObjects != null) {\n const node = serializeAws_restXmlSseKmsEncryptedObjects(input.SseKmsEncryptedObjects, context).withName(\"SseKmsEncryptedObjects\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplicaModifications != null) {\n const node = serializeAws_restXmlReplicaModifications(input.ReplicaModifications, context).withName(\"ReplicaModifications\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlSSEKMS = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SSE-KMS\");\n if (input.KeyId != null) {\n const node = xml_builder_1.XmlNode.of(\"SSEKMSKeyId\", input.KeyId).withName(\"KeyId\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlSseKmsEncryptedObjects = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SseKmsEncryptedObjects\");\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"SseKmsEncryptedObjectsStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlSSES3 = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"SSE-S3\");\n return bodyNode;\n};\nconst serializeAws_restXmlStorageClassAnalysis = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"StorageClassAnalysis\");\n if (input.DataExport != null) {\n const node = serializeAws_restXmlStorageClassAnalysisDataExport(input.DataExport, context).withName(\"DataExport\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlStorageClassAnalysisDataExport = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"StorageClassAnalysisDataExport\");\n if (input.OutputSchemaVersion != null) {\n const node = xml_builder_1.XmlNode\n .of(\"StorageClassAnalysisSchemaVersion\", input.OutputSchemaVersion)\n .withName(\"OutputSchemaVersion\");\n bodyNode.addChildNode(node);\n }\n if (input.Destination != null) {\n const node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTag = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Tag\");\n if (input.Key != null) {\n const node = xml_builder_1.XmlNode.of(\"ObjectKey\", input.Key).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n if (input.Value != null) {\n const node = xml_builder_1.XmlNode.of(\"Value\", input.Value).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTagging = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Tagging\");\n if (input.TagSet != null) {\n const nodes = serializeAws_restXmlTagSet(input.TagSet, context);\n const containerNode = new xml_builder_1.XmlNode(\"TagSet\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTagSet = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTag(entry, context);\n return node.withName(\"Tag\");\n });\n};\nconst serializeAws_restXmlTargetGrant = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"TargetGrant\");\n if (input.Grantee != null) {\n const node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n node.addAttribute(\"xmlns:xsi\", \"http://www.w3.org/2001/XMLSchema-instance\");\n bodyNode.addChildNode(node);\n }\n if (input.Permission != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketLogsPermission\", input.Permission).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTargetGrants = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTargetGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\nconst serializeAws_restXmlTiering = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Tiering\");\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"IntelligentTieringDays\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessTier != null) {\n const node = xml_builder_1.XmlNode.of(\"IntelligentTieringAccessTier\", input.AccessTier).withName(\"AccessTier\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTieringList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTiering(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlTopicConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"TopicConfiguration\");\n if (input.Id != null) {\n const node = xml_builder_1.XmlNode.of(\"NotificationId\", input.Id).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.TopicArn != null) {\n const node = xml_builder_1.XmlNode.of(\"TopicArn\", input.TopicArn).withName(\"Topic\");\n bodyNode.addChildNode(node);\n }\n if (input.Events != null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter != null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTopicConfigurationList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTopicConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlTransition = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"Transition\");\n if (input.Date != null) {\n const node = xml_builder_1.XmlNode.of(\"Date\", (input.Date.toISOString().split(\".\")[0] + \"Z\").toString()).withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n if (input.Days != null) {\n const node = xml_builder_1.XmlNode.of(\"Days\", String(input.Days)).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass != null) {\n const node = xml_builder_1.XmlNode.of(\"TransitionStorageClass\", input.StorageClass).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlTransitionList = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlTransition(entry, context);\n return node.withName(\"member\");\n });\n};\nconst serializeAws_restXmlUserMetadata = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n const node = serializeAws_restXmlMetadataEntry(entry, context);\n return node.withName(\"MetadataEntry\");\n });\n};\nconst serializeAws_restXmlVersioningConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"VersioningConfiguration\");\n if (input.MFADelete != null) {\n const node = xml_builder_1.XmlNode.of(\"MFADelete\", input.MFADelete).withName(\"MfaDelete\");\n bodyNode.addChildNode(node);\n }\n if (input.Status != null) {\n const node = xml_builder_1.XmlNode.of(\"BucketVersioningStatus\", input.Status).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nconst serializeAws_restXmlWebsiteConfiguration = (input, context) => {\n const bodyNode = new xml_builder_1.XmlNode(\"WebsiteConfiguration\");\n if (input.ErrorDocument != null) {\n const node = serializeAws_restXmlErrorDocument(input.ErrorDocument, context).withName(\"ErrorDocument\");\n bodyNode.addChildNode(node);\n }\n if (input.IndexDocument != null) {\n const node = serializeAws_restXmlIndexDocument(input.IndexDocument, context).withName(\"IndexDocument\");\n bodyNode.addChildNode(node);\n }\n if (input.RedirectAllRequestsTo != null) {\n const node = serializeAws_restXmlRedirectAllRequestsTo(input.RedirectAllRequestsTo, context).withName(\"RedirectAllRequestsTo\");\n bodyNode.addChildNode(node);\n }\n if (input.RoutingRules != null) {\n const nodes = serializeAws_restXmlRoutingRules(input.RoutingRules, context);\n const containerNode = new xml_builder_1.XmlNode(\"RoutingRules\");\n nodes.map((node) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n return bodyNode;\n};\nconst deserializeAws_restXmlAbortIncompleteMultipartUpload = (output, context) => {\n const contents = {\n DaysAfterInitiation: undefined,\n };\n if (output[\"DaysAfterInitiation\"] !== undefined) {\n contents.DaysAfterInitiation = (0, smithy_client_1.strictParseInt32)(output[\"DaysAfterInitiation\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlAccessControlTranslation = (output, context) => {\n const contents = {\n Owner: undefined,\n };\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = (0, smithy_client_1.expectString)(output[\"Owner\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlAllowedHeaders = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlAllowedMethods = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlAllowedOrigins = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlAnalyticsAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlAnalyticsConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n Filter: undefined,\n StorageClassAnalysis: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output.Filter === \"\") {\n }\n else if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlAnalyticsFilter((0, smithy_client_1.expectUnion)(output[\"Filter\"]), context);\n }\n if (output[\"StorageClassAnalysis\"] !== undefined) {\n contents.StorageClassAnalysis = deserializeAws_restXmlStorageClassAnalysis(output[\"StorageClassAnalysis\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlAnalyticsConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlAnalyticsConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlAnalyticsExportDestination = (output, context) => {\n const contents = {\n S3BucketDestination: undefined,\n };\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlAnalyticsS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlAnalyticsFilter = (output, context) => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: (0, smithy_client_1.expectString)(output[\"Prefix\"]),\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlAnalyticsAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst deserializeAws_restXmlAnalyticsS3BucketDestination = (output, context) => {\n const contents = {\n Format: undefined,\n BucketAccountId: undefined,\n Bucket: undefined,\n Prefix: undefined,\n };\n if (output[\"Format\"] !== undefined) {\n contents.Format = (0, smithy_client_1.expectString)(output[\"Format\"]);\n }\n if (output[\"BucketAccountId\"] !== undefined) {\n contents.BucketAccountId = (0, smithy_client_1.expectString)(output[\"BucketAccountId\"]);\n }\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(output[\"Bucket\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlBucket = (output, context) => {\n const contents = {\n Name: undefined,\n CreationDate: undefined,\n };\n if (output[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(output[\"Name\"]);\n }\n if (output[\"CreationDate\"] !== undefined) {\n contents.CreationDate = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"CreationDate\"]));\n }\n return contents;\n};\nconst deserializeAws_restXmlBuckets = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlBucket(entry, context);\n });\n};\nconst deserializeAws_restXmlChecksum = (output, context) => {\n const contents = {\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlChecksumAlgorithmList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlCommonPrefix = (output, context) => {\n const contents = {\n Prefix: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlCommonPrefixList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlCommonPrefix(entry, context);\n });\n};\nconst deserializeAws_restXmlCondition = (output, context) => {\n const contents = {\n HttpErrorCodeReturnedEquals: undefined,\n KeyPrefixEquals: undefined,\n };\n if (output[\"HttpErrorCodeReturnedEquals\"] !== undefined) {\n contents.HttpErrorCodeReturnedEquals = (0, smithy_client_1.expectString)(output[\"HttpErrorCodeReturnedEquals\"]);\n }\n if (output[\"KeyPrefixEquals\"] !== undefined) {\n contents.KeyPrefixEquals = (0, smithy_client_1.expectString)(output[\"KeyPrefixEquals\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlContinuationEvent = (output, context) => {\n const contents = {};\n return contents;\n};\nconst deserializeAws_restXmlCopyObjectResult = (output, context) => {\n const contents = {\n ETag: undefined,\n LastModified: undefined,\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlCopyPartResult = (output, context) => {\n const contents = {\n ETag: undefined,\n LastModified: undefined,\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlCORSRule = (output, context) => {\n const contents = {\n ID: undefined,\n AllowedHeaders: undefined,\n AllowedMethods: undefined,\n AllowedOrigins: undefined,\n ExposeHeaders: undefined,\n MaxAgeSeconds: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output.AllowedHeader === \"\") {\n contents.AllowedHeaders = [];\n }\n else if (output[\"AllowedHeader\"] !== undefined) {\n contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders((0, smithy_client_1.getArrayIfSingleItem)(output[\"AllowedHeader\"]), context);\n }\n if (output.AllowedMethod === \"\") {\n contents.AllowedMethods = [];\n }\n else if (output[\"AllowedMethod\"] !== undefined) {\n contents.AllowedMethods = deserializeAws_restXmlAllowedMethods((0, smithy_client_1.getArrayIfSingleItem)(output[\"AllowedMethod\"]), context);\n }\n if (output.AllowedOrigin === \"\") {\n contents.AllowedOrigins = [];\n }\n else if (output[\"AllowedOrigin\"] !== undefined) {\n contents.AllowedOrigins = deserializeAws_restXmlAllowedOrigins((0, smithy_client_1.getArrayIfSingleItem)(output[\"AllowedOrigin\"]), context);\n }\n if (output.ExposeHeader === \"\") {\n contents.ExposeHeaders = [];\n }\n else if (output[\"ExposeHeader\"] !== undefined) {\n contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders((0, smithy_client_1.getArrayIfSingleItem)(output[\"ExposeHeader\"]), context);\n }\n if (output[\"MaxAgeSeconds\"] !== undefined) {\n contents.MaxAgeSeconds = (0, smithy_client_1.strictParseInt32)(output[\"MaxAgeSeconds\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlCORSRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlCORSRule(entry, context);\n });\n};\nconst deserializeAws_restXmlDefaultRetention = (output, context) => {\n const contents = {\n Mode: undefined,\n Days: undefined,\n Years: undefined,\n };\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = (0, smithy_client_1.expectString)(output[\"Mode\"]);\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = (0, smithy_client_1.strictParseInt32)(output[\"Days\"]);\n }\n if (output[\"Years\"] !== undefined) {\n contents.Years = (0, smithy_client_1.strictParseInt32)(output[\"Years\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlDeletedObject = (output, context) => {\n const contents = {\n Key: undefined,\n VersionId: undefined,\n DeleteMarker: undefined,\n DeleteMarkerVersionId: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = (0, smithy_client_1.expectString)(output[\"VersionId\"]);\n }\n if (output[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarker = (0, smithy_client_1.parseBoolean)(output[\"DeleteMarker\"]);\n }\n if (output[\"DeleteMarkerVersionId\"] !== undefined) {\n contents.DeleteMarkerVersionId = (0, smithy_client_1.expectString)(output[\"DeleteMarkerVersionId\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlDeletedObjects = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlDeletedObject(entry, context);\n });\n};\nconst deserializeAws_restXmlDeleteMarkerEntry = (output, context) => {\n const contents = {\n Owner: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n };\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = (0, smithy_client_1.expectString)(output[\"VersionId\"]);\n }\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = (0, smithy_client_1.parseBoolean)(output[\"IsLatest\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n return contents;\n};\nconst deserializeAws_restXmlDeleteMarkerReplication = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlDeleteMarkers = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlDeleteMarkerEntry(entry, context);\n });\n};\nconst deserializeAws_restXmlDestination = (output, context) => {\n const contents = {\n Bucket: undefined,\n Account: undefined,\n StorageClass: undefined,\n AccessControlTranslation: undefined,\n EncryptionConfiguration: undefined,\n ReplicationTime: undefined,\n Metrics: undefined,\n };\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(output[\"Bucket\"]);\n }\n if (output[\"Account\"] !== undefined) {\n contents.Account = (0, smithy_client_1.expectString)(output[\"Account\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"AccessControlTranslation\"] !== undefined) {\n contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(output[\"AccessControlTranslation\"], context);\n }\n if (output[\"EncryptionConfiguration\"] !== undefined) {\n contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(output[\"EncryptionConfiguration\"], context);\n }\n if (output[\"ReplicationTime\"] !== undefined) {\n contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output[\"ReplicationTime\"], context);\n }\n if (output[\"Metrics\"] !== undefined) {\n contents.Metrics = deserializeAws_restXmlMetrics(output[\"Metrics\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlEncryptionConfiguration = (output, context) => {\n const contents = {\n ReplicaKmsKeyID: undefined,\n };\n if (output[\"ReplicaKmsKeyID\"] !== undefined) {\n contents.ReplicaKmsKeyID = (0, smithy_client_1.expectString)(output[\"ReplicaKmsKeyID\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlEndEvent = (output, context) => {\n const contents = {};\n return contents;\n};\nconst deserializeAws_restXml_Error = (output, context) => {\n const contents = {\n Key: undefined,\n VersionId: undefined,\n Code: undefined,\n Message: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = (0, smithy_client_1.expectString)(output[\"VersionId\"]);\n }\n if (output[\"Code\"] !== undefined) {\n contents.Code = (0, smithy_client_1.expectString)(output[\"Code\"]);\n }\n if (output[\"Message\"] !== undefined) {\n contents.Message = (0, smithy_client_1.expectString)(output[\"Message\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlErrorDocument = (output, context) => {\n const contents = {\n Key: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlErrors = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXml_Error(entry, context);\n });\n};\nconst deserializeAws_restXmlEventBridgeConfiguration = (output, context) => {\n const contents = {};\n return contents;\n};\nconst deserializeAws_restXmlEventList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlExistingObjectReplication = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlExposeHeaders = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlFilterRule = (output, context) => {\n const contents = {\n Name: undefined,\n Value: undefined,\n };\n if (output[\"Name\"] !== undefined) {\n contents.Name = (0, smithy_client_1.expectString)(output[\"Name\"]);\n }\n if (output[\"Value\"] !== undefined) {\n contents.Value = (0, smithy_client_1.expectString)(output[\"Value\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlFilterRuleList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlFilterRule(entry, context);\n });\n};\nconst deserializeAws_restXmlGetObjectAttributesParts = (output, context) => {\n const contents = {\n TotalPartsCount: undefined,\n PartNumberMarker: undefined,\n NextPartNumberMarker: undefined,\n MaxParts: undefined,\n IsTruncated: undefined,\n Parts: undefined,\n };\n if (output[\"PartsCount\"] !== undefined) {\n contents.TotalPartsCount = (0, smithy_client_1.strictParseInt32)(output[\"PartsCount\"]);\n }\n if (output[\"PartNumberMarker\"] !== undefined) {\n contents.PartNumberMarker = (0, smithy_client_1.expectString)(output[\"PartNumberMarker\"]);\n }\n if (output[\"NextPartNumberMarker\"] !== undefined) {\n contents.NextPartNumberMarker = (0, smithy_client_1.expectString)(output[\"NextPartNumberMarker\"]);\n }\n if (output[\"MaxParts\"] !== undefined) {\n contents.MaxParts = (0, smithy_client_1.strictParseInt32)(output[\"MaxParts\"]);\n }\n if (output[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = (0, smithy_client_1.parseBoolean)(output[\"IsTruncated\"]);\n }\n if (output.Part === \"\") {\n contents.Parts = [];\n }\n else if (output[\"Part\"] !== undefined) {\n contents.Parts = deserializeAws_restXmlPartsList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Part\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlGrant = (output, context) => {\n const contents = {\n Grantee: undefined,\n Permission: undefined,\n };\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = (0, smithy_client_1.expectString)(output[\"Permission\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlGrantee = (output, context) => {\n const contents = {\n DisplayName: undefined,\n EmailAddress: undefined,\n ID: undefined,\n URI: undefined,\n Type: undefined,\n };\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = (0, smithy_client_1.expectString)(output[\"DisplayName\"]);\n }\n if (output[\"EmailAddress\"] !== undefined) {\n contents.EmailAddress = (0, smithy_client_1.expectString)(output[\"EmailAddress\"]);\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output[\"URI\"] !== undefined) {\n contents.URI = (0, smithy_client_1.expectString)(output[\"URI\"]);\n }\n if (output[\"xsi:type\"] !== undefined) {\n contents.Type = (0, smithy_client_1.expectString)(output[\"xsi:type\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlGrants = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlGrant(entry, context);\n });\n};\nconst deserializeAws_restXmlIndexDocument = (output, context) => {\n const contents = {\n Suffix: undefined,\n };\n if (output[\"Suffix\"] !== undefined) {\n contents.Suffix = (0, smithy_client_1.expectString)(output[\"Suffix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlInitiator = (output, context) => {\n const contents = {\n ID: undefined,\n DisplayName: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = (0, smithy_client_1.expectString)(output[\"DisplayName\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlIntelligentTieringAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlIntelligentTieringConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n Filter: undefined,\n Status: undefined,\n Tierings: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlIntelligentTieringFilter(output[\"Filter\"], context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output.Tiering === \"\") {\n contents.Tierings = [];\n }\n else if (output[\"Tiering\"] !== undefined) {\n contents.Tierings = deserializeAws_restXmlTieringList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tiering\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlIntelligentTieringConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlIntelligentTieringConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlIntelligentTieringFilter = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tag: undefined,\n And: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlIntelligentTieringAndOperator(output[\"And\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryConfiguration = (output, context) => {\n const contents = {\n Destination: undefined,\n IsEnabled: undefined,\n Filter: undefined,\n Id: undefined,\n IncludedObjectVersions: undefined,\n OptionalFields: undefined,\n Schedule: undefined,\n };\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlInventoryDestination(output[\"Destination\"], context);\n }\n if (output[\"IsEnabled\"] !== undefined) {\n contents.IsEnabled = (0, smithy_client_1.parseBoolean)(output[\"IsEnabled\"]);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlInventoryFilter(output[\"Filter\"], context);\n }\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"IncludedObjectVersions\"] !== undefined) {\n contents.IncludedObjectVersions = (0, smithy_client_1.expectString)(output[\"IncludedObjectVersions\"]);\n }\n if (output.OptionalFields === \"\") {\n contents.OptionalFields = [];\n }\n else if (output[\"OptionalFields\"] !== undefined && output[\"OptionalFields\"][\"Field\"] !== undefined) {\n contents.OptionalFields = deserializeAws_restXmlInventoryOptionalFields((0, smithy_client_1.getArrayIfSingleItem)(output[\"OptionalFields\"][\"Field\"]), context);\n }\n if (output[\"Schedule\"] !== undefined) {\n contents.Schedule = deserializeAws_restXmlInventorySchedule(output[\"Schedule\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlInventoryConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlInventoryDestination = (output, context) => {\n const contents = {\n S3BucketDestination: undefined,\n };\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlInventoryS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryEncryption = (output, context) => {\n const contents = {\n SSES3: undefined,\n SSEKMS: undefined,\n };\n if (output[\"SSE-S3\"] !== undefined) {\n contents.SSES3 = deserializeAws_restXmlSSES3(output[\"SSE-S3\"], context);\n }\n if (output[\"SSE-KMS\"] !== undefined) {\n contents.SSEKMS = deserializeAws_restXmlSSEKMS(output[\"SSE-KMS\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryFilter = (output, context) => {\n const contents = {\n Prefix: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventoryOptionalFields = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return (0, smithy_client_1.expectString)(entry);\n });\n};\nconst deserializeAws_restXmlInventoryS3BucketDestination = (output, context) => {\n const contents = {\n AccountId: undefined,\n Bucket: undefined,\n Format: undefined,\n Prefix: undefined,\n Encryption: undefined,\n };\n if (output[\"AccountId\"] !== undefined) {\n contents.AccountId = (0, smithy_client_1.expectString)(output[\"AccountId\"]);\n }\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = (0, smithy_client_1.expectString)(output[\"Bucket\"]);\n }\n if (output[\"Format\"] !== undefined) {\n contents.Format = (0, smithy_client_1.expectString)(output[\"Format\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output[\"Encryption\"] !== undefined) {\n contents.Encryption = deserializeAws_restXmlInventoryEncryption(output[\"Encryption\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlInventorySchedule = (output, context) => {\n const contents = {\n Frequency: undefined,\n };\n if (output[\"Frequency\"] !== undefined) {\n contents.Frequency = (0, smithy_client_1.expectString)(output[\"Frequency\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlLambdaFunctionConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n LambdaFunctionArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"CloudFunction\"] !== undefined) {\n contents.LambdaFunctionArn = (0, smithy_client_1.expectString)(output[\"CloudFunction\"]);\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n else if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlLambdaFunctionConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlLifecycleExpiration = (output, context) => {\n const contents = {\n Date: undefined,\n Days: undefined,\n ExpiredObjectDeleteMarker: undefined,\n };\n if (output[\"Date\"] !== undefined) {\n contents.Date = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"Date\"]));\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = (0, smithy_client_1.strictParseInt32)(output[\"Days\"]);\n }\n if (output[\"ExpiredObjectDeleteMarker\"] !== undefined) {\n contents.ExpiredObjectDeleteMarker = (0, smithy_client_1.parseBoolean)(output[\"ExpiredObjectDeleteMarker\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlLifecycleRule = (output, context) => {\n const contents = {\n Expiration: undefined,\n ID: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n Transitions: undefined,\n NoncurrentVersionTransitions: undefined,\n NoncurrentVersionExpiration: undefined,\n AbortIncompleteMultipartUpload: undefined,\n };\n if (output[\"Expiration\"] !== undefined) {\n contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output[\"Expiration\"], context);\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Filter === \"\") {\n }\n else if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlLifecycleRuleFilter((0, smithy_client_1.expectUnion)(output[\"Filter\"]), context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output.Transition === \"\") {\n contents.Transitions = [];\n }\n else if (output[\"Transition\"] !== undefined) {\n contents.Transitions = deserializeAws_restXmlTransitionList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Transition\"]), context);\n }\n if (output.NoncurrentVersionTransition === \"\") {\n contents.NoncurrentVersionTransitions = [];\n }\n else if (output[\"NoncurrentVersionTransition\"] !== undefined) {\n contents.NoncurrentVersionTransitions = deserializeAws_restXmlNoncurrentVersionTransitionList((0, smithy_client_1.getArrayIfSingleItem)(output[\"NoncurrentVersionTransition\"]), context);\n }\n if (output[\"NoncurrentVersionExpiration\"] !== undefined) {\n contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration(output[\"NoncurrentVersionExpiration\"], context);\n }\n if (output[\"AbortIncompleteMultipartUpload\"] !== undefined) {\n contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload(output[\"AbortIncompleteMultipartUpload\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlLifecycleRuleAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n ObjectSizeGreaterThan: undefined,\n ObjectSizeLessThan: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n if (output[\"ObjectSizeGreaterThan\"] !== undefined) {\n contents.ObjectSizeGreaterThan = (0, smithy_client_1.strictParseLong)(output[\"ObjectSizeGreaterThan\"]);\n }\n if (output[\"ObjectSizeLessThan\"] !== undefined) {\n contents.ObjectSizeLessThan = (0, smithy_client_1.strictParseLong)(output[\"ObjectSizeLessThan\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlLifecycleRuleFilter = (output, context) => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: (0, smithy_client_1.expectString)(output[\"Prefix\"]),\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"ObjectSizeGreaterThan\"] !== undefined) {\n return {\n ObjectSizeGreaterThan: (0, smithy_client_1.strictParseLong)(output[\"ObjectSizeGreaterThan\"]),\n };\n }\n if (output[\"ObjectSizeLessThan\"] !== undefined) {\n return {\n ObjectSizeLessThan: (0, smithy_client_1.strictParseLong)(output[\"ObjectSizeLessThan\"]),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlLifecycleRuleAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst deserializeAws_restXmlLifecycleRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlLifecycleRule(entry, context);\n });\n};\nconst deserializeAws_restXmlLoggingEnabled = (output, context) => {\n const contents = {\n TargetBucket: undefined,\n TargetGrants: undefined,\n TargetPrefix: undefined,\n };\n if (output[\"TargetBucket\"] !== undefined) {\n contents.TargetBucket = (0, smithy_client_1.expectString)(output[\"TargetBucket\"]);\n }\n if (output.TargetGrants === \"\") {\n contents.TargetGrants = [];\n }\n else if (output[\"TargetGrants\"] !== undefined && output[\"TargetGrants\"][\"Grant\"] !== undefined) {\n contents.TargetGrants = deserializeAws_restXmlTargetGrants((0, smithy_client_1.getArrayIfSingleItem)(output[\"TargetGrants\"][\"Grant\"]), context);\n }\n if (output[\"TargetPrefix\"] !== undefined) {\n contents.TargetPrefix = (0, smithy_client_1.expectString)(output[\"TargetPrefix\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlMetrics = (output, context) => {\n const contents = {\n Status: undefined,\n EventThreshold: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output[\"EventThreshold\"] !== undefined) {\n contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output[\"EventThreshold\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlMetricsAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n AccessPointArn: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n if (output[\"AccessPointArn\"] !== undefined) {\n contents.AccessPointArn = (0, smithy_client_1.expectString)(output[\"AccessPointArn\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlMetricsConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output.Filter === \"\") {\n }\n else if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlMetricsFilter((0, smithy_client_1.expectUnion)(output[\"Filter\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlMetricsConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlMetricsConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlMetricsFilter = (output, context) => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: (0, smithy_client_1.expectString)(output[\"Prefix\"]),\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"AccessPointArn\"] !== undefined) {\n return {\n AccessPointArn: (0, smithy_client_1.expectString)(output[\"AccessPointArn\"]),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlMetricsAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst deserializeAws_restXmlMultipartUpload = (output, context) => {\n const contents = {\n UploadId: undefined,\n Key: undefined,\n Initiated: undefined,\n StorageClass: undefined,\n Owner: undefined,\n Initiator: undefined,\n ChecksumAlgorithm: undefined,\n };\n if (output[\"UploadId\"] !== undefined) {\n contents.UploadId = (0, smithy_client_1.expectString)(output[\"UploadId\"]);\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"Initiated\"] !== undefined) {\n contents.Initiated = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"Initiated\"]));\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n if (output[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(output[\"Initiator\"], context);\n }\n if (output[\"ChecksumAlgorithm\"] !== undefined) {\n contents.ChecksumAlgorithm = (0, smithy_client_1.expectString)(output[\"ChecksumAlgorithm\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlMultipartUploadList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlMultipartUpload(entry, context);\n });\n};\nconst deserializeAws_restXmlNoncurrentVersionExpiration = (output, context) => {\n const contents = {\n NoncurrentDays: undefined,\n NewerNoncurrentVersions: undefined,\n };\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = (0, smithy_client_1.strictParseInt32)(output[\"NoncurrentDays\"]);\n }\n if (output[\"NewerNoncurrentVersions\"] !== undefined) {\n contents.NewerNoncurrentVersions = (0, smithy_client_1.strictParseInt32)(output[\"NewerNoncurrentVersions\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlNoncurrentVersionTransition = (output, context) => {\n const contents = {\n NoncurrentDays: undefined,\n StorageClass: undefined,\n NewerNoncurrentVersions: undefined,\n };\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = (0, smithy_client_1.strictParseInt32)(output[\"NoncurrentDays\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"NewerNoncurrentVersions\"] !== undefined) {\n contents.NewerNoncurrentVersions = (0, smithy_client_1.strictParseInt32)(output[\"NewerNoncurrentVersions\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlNoncurrentVersionTransitionList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlNoncurrentVersionTransition(entry, context);\n });\n};\nconst deserializeAws_restXmlNotificationConfigurationFilter = (output, context) => {\n const contents = {\n Key: undefined,\n };\n if (output[\"S3Key\"] !== undefined) {\n contents.Key = deserializeAws_restXmlS3KeyFilter(output[\"S3Key\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXml_Object = (output, context) => {\n const contents = {\n Key: undefined,\n LastModified: undefined,\n ETag: undefined,\n ChecksumAlgorithm: undefined,\n Size: undefined,\n StorageClass: undefined,\n Owner: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output.ChecksumAlgorithm === \"\") {\n contents.ChecksumAlgorithm = [];\n }\n else if (output[\"ChecksumAlgorithm\"] !== undefined) {\n contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList((0, smithy_client_1.getArrayIfSingleItem)(output[\"ChecksumAlgorithm\"]), context);\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = (0, smithy_client_1.strictParseLong)(output[\"Size\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXml_Object(entry, context);\n });\n};\nconst deserializeAws_restXmlObjectLockConfiguration = (output, context) => {\n const contents = {\n ObjectLockEnabled: undefined,\n Rule: undefined,\n };\n if (output[\"ObjectLockEnabled\"] !== undefined) {\n contents.ObjectLockEnabled = (0, smithy_client_1.expectString)(output[\"ObjectLockEnabled\"]);\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rule = deserializeAws_restXmlObjectLockRule(output[\"Rule\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectLockLegalHold = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectLockRetention = (output, context) => {\n const contents = {\n Mode: undefined,\n RetainUntilDate: undefined,\n };\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = (0, smithy_client_1.expectString)(output[\"Mode\"]);\n }\n if (output[\"RetainUntilDate\"] !== undefined) {\n contents.RetainUntilDate = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"RetainUntilDate\"]));\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectLockRule = (output, context) => {\n const contents = {\n DefaultRetention: undefined,\n };\n if (output[\"DefaultRetention\"] !== undefined) {\n contents.DefaultRetention = deserializeAws_restXmlDefaultRetention(output[\"DefaultRetention\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectPart = (output, context) => {\n const contents = {\n PartNumber: undefined,\n Size: undefined,\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"PartNumber\"] !== undefined) {\n contents.PartNumber = (0, smithy_client_1.strictParseInt32)(output[\"PartNumber\"]);\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = (0, smithy_client_1.strictParseLong)(output[\"Size\"]);\n }\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectVersion = (output, context) => {\n const contents = {\n ETag: undefined,\n ChecksumAlgorithm: undefined,\n Size: undefined,\n StorageClass: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n Owner: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output.ChecksumAlgorithm === \"\") {\n contents.ChecksumAlgorithm = [];\n }\n else if (output[\"ChecksumAlgorithm\"] !== undefined) {\n contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList((0, smithy_client_1.getArrayIfSingleItem)(output[\"ChecksumAlgorithm\"]), context);\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = (0, smithy_client_1.strictParseLong)(output[\"Size\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = (0, smithy_client_1.expectString)(output[\"VersionId\"]);\n }\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = (0, smithy_client_1.parseBoolean)(output[\"IsLatest\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlObjectVersionList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlObjectVersion(entry, context);\n });\n};\nconst deserializeAws_restXmlOwner = (output, context) => {\n const contents = {\n DisplayName: undefined,\n ID: undefined,\n };\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = (0, smithy_client_1.expectString)(output[\"DisplayName\"]);\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlOwnershipControls = (output, context) => {\n const contents = {\n Rules: undefined,\n };\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n else if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlOwnershipControlsRules((0, smithy_client_1.getArrayIfSingleItem)(output[\"Rule\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlOwnershipControlsRule = (output, context) => {\n const contents = {\n ObjectOwnership: undefined,\n };\n if (output[\"ObjectOwnership\"] !== undefined) {\n contents.ObjectOwnership = (0, smithy_client_1.expectString)(output[\"ObjectOwnership\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlOwnershipControlsRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlOwnershipControlsRule(entry, context);\n });\n};\nconst deserializeAws_restXmlPart = (output, context) => {\n const contents = {\n PartNumber: undefined,\n LastModified: undefined,\n ETag: undefined,\n Size: undefined,\n ChecksumCRC32: undefined,\n ChecksumCRC32C: undefined,\n ChecksumSHA1: undefined,\n ChecksumSHA256: undefined,\n };\n if (output[\"PartNumber\"] !== undefined) {\n contents.PartNumber = (0, smithy_client_1.strictParseInt32)(output[\"PartNumber\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"LastModified\"]));\n }\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = (0, smithy_client_1.expectString)(output[\"ETag\"]);\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = (0, smithy_client_1.strictParseLong)(output[\"Size\"]);\n }\n if (output[\"ChecksumCRC32\"] !== undefined) {\n contents.ChecksumCRC32 = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32\"]);\n }\n if (output[\"ChecksumCRC32C\"] !== undefined) {\n contents.ChecksumCRC32C = (0, smithy_client_1.expectString)(output[\"ChecksumCRC32C\"]);\n }\n if (output[\"ChecksumSHA1\"] !== undefined) {\n contents.ChecksumSHA1 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA1\"]);\n }\n if (output[\"ChecksumSHA256\"] !== undefined) {\n contents.ChecksumSHA256 = (0, smithy_client_1.expectString)(output[\"ChecksumSHA256\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlParts = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlPart(entry, context);\n });\n};\nconst deserializeAws_restXmlPartsList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlObjectPart(entry, context);\n });\n};\nconst deserializeAws_restXmlPolicyStatus = (output, context) => {\n const contents = {\n IsPublic: undefined,\n };\n if (output[\"IsPublic\"] !== undefined) {\n contents.IsPublic = (0, smithy_client_1.parseBoolean)(output[\"IsPublic\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlProgress = (output, context) => {\n const contents = {\n BytesScanned: undefined,\n BytesProcessed: undefined,\n BytesReturned: undefined,\n };\n if (output[\"BytesScanned\"] !== undefined) {\n contents.BytesScanned = (0, smithy_client_1.strictParseLong)(output[\"BytesScanned\"]);\n }\n if (output[\"BytesProcessed\"] !== undefined) {\n contents.BytesProcessed = (0, smithy_client_1.strictParseLong)(output[\"BytesProcessed\"]);\n }\n if (output[\"BytesReturned\"] !== undefined) {\n contents.BytesReturned = (0, smithy_client_1.strictParseLong)(output[\"BytesReturned\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlPublicAccessBlockConfiguration = (output, context) => {\n const contents = {\n BlockPublicAcls: undefined,\n IgnorePublicAcls: undefined,\n BlockPublicPolicy: undefined,\n RestrictPublicBuckets: undefined,\n };\n if (output[\"BlockPublicAcls\"] !== undefined) {\n contents.BlockPublicAcls = (0, smithy_client_1.parseBoolean)(output[\"BlockPublicAcls\"]);\n }\n if (output[\"IgnorePublicAcls\"] !== undefined) {\n contents.IgnorePublicAcls = (0, smithy_client_1.parseBoolean)(output[\"IgnorePublicAcls\"]);\n }\n if (output[\"BlockPublicPolicy\"] !== undefined) {\n contents.BlockPublicPolicy = (0, smithy_client_1.parseBoolean)(output[\"BlockPublicPolicy\"]);\n }\n if (output[\"RestrictPublicBuckets\"] !== undefined) {\n contents.RestrictPublicBuckets = (0, smithy_client_1.parseBoolean)(output[\"RestrictPublicBuckets\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlQueueConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n QueueArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"Queue\"] !== undefined) {\n contents.QueueArn = (0, smithy_client_1.expectString)(output[\"Queue\"]);\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n else if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlQueueConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlQueueConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlRedirect = (output, context) => {\n const contents = {\n HostName: undefined,\n HttpRedirectCode: undefined,\n Protocol: undefined,\n ReplaceKeyPrefixWith: undefined,\n ReplaceKeyWith: undefined,\n };\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = (0, smithy_client_1.expectString)(output[\"HostName\"]);\n }\n if (output[\"HttpRedirectCode\"] !== undefined) {\n contents.HttpRedirectCode = (0, smithy_client_1.expectString)(output[\"HttpRedirectCode\"]);\n }\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = (0, smithy_client_1.expectString)(output[\"Protocol\"]);\n }\n if (output[\"ReplaceKeyPrefixWith\"] !== undefined) {\n contents.ReplaceKeyPrefixWith = (0, smithy_client_1.expectString)(output[\"ReplaceKeyPrefixWith\"]);\n }\n if (output[\"ReplaceKeyWith\"] !== undefined) {\n contents.ReplaceKeyWith = (0, smithy_client_1.expectString)(output[\"ReplaceKeyWith\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlRedirectAllRequestsTo = (output, context) => {\n const contents = {\n HostName: undefined,\n Protocol: undefined,\n };\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = (0, smithy_client_1.expectString)(output[\"HostName\"]);\n }\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = (0, smithy_client_1.expectString)(output[\"Protocol\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicaModifications = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationConfiguration = (output, context) => {\n const contents = {\n Role: undefined,\n Rules: undefined,\n };\n if (output[\"Role\"] !== undefined) {\n contents.Role = (0, smithy_client_1.expectString)(output[\"Role\"]);\n }\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n else if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlReplicationRules((0, smithy_client_1.getArrayIfSingleItem)(output[\"Rule\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationRule = (output, context) => {\n const contents = {\n ID: undefined,\n Priority: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n SourceSelectionCriteria: undefined,\n ExistingObjectReplication: undefined,\n Destination: undefined,\n DeleteMarkerReplication: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = (0, smithy_client_1.expectString)(output[\"ID\"]);\n }\n if (output[\"Priority\"] !== undefined) {\n contents.Priority = (0, smithy_client_1.strictParseInt32)(output[\"Priority\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Filter === \"\") {\n }\n else if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlReplicationRuleFilter((0, smithy_client_1.expectUnion)(output[\"Filter\"]), context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output[\"SourceSelectionCriteria\"] !== undefined) {\n contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(output[\"SourceSelectionCriteria\"], context);\n }\n if (output[\"ExistingObjectReplication\"] !== undefined) {\n contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(output[\"ExistingObjectReplication\"], context);\n }\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlDestination(output[\"Destination\"], context);\n }\n if (output[\"DeleteMarkerReplication\"] !== undefined) {\n contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(output[\"DeleteMarkerReplication\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationRuleAndOperator = (output, context) => {\n const contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = (0, smithy_client_1.expectString)(output[\"Prefix\"]);\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n else if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output[\"Tag\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationRuleFilter = (output, context) => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: (0, smithy_client_1.expectString)(output[\"Prefix\"]),\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlReplicationRuleAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst deserializeAws_restXmlReplicationRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlReplicationRule(entry, context);\n });\n};\nconst deserializeAws_restXmlReplicationTime = (output, context) => {\n const contents = {\n Status: undefined,\n Time: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n if (output[\"Time\"] !== undefined) {\n contents.Time = deserializeAws_restXmlReplicationTimeValue(output[\"Time\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlReplicationTimeValue = (output, context) => {\n const contents = {\n Minutes: undefined,\n };\n if (output[\"Minutes\"] !== undefined) {\n contents.Minutes = (0, smithy_client_1.strictParseInt32)(output[\"Minutes\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlRoutingRule = (output, context) => {\n const contents = {\n Condition: undefined,\n Redirect: undefined,\n };\n if (output[\"Condition\"] !== undefined) {\n contents.Condition = deserializeAws_restXmlCondition(output[\"Condition\"], context);\n }\n if (output[\"Redirect\"] !== undefined) {\n contents.Redirect = deserializeAws_restXmlRedirect(output[\"Redirect\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlRoutingRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlRoutingRule(entry, context);\n });\n};\nconst deserializeAws_restXmlS3KeyFilter = (output, context) => {\n const contents = {\n FilterRules: undefined,\n };\n if (output.FilterRule === \"\") {\n contents.FilterRules = [];\n }\n else if (output[\"FilterRule\"] !== undefined) {\n contents.FilterRules = deserializeAws_restXmlFilterRuleList((0, smithy_client_1.getArrayIfSingleItem)(output[\"FilterRule\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlServerSideEncryptionByDefault = (output, context) => {\n const contents = {\n SSEAlgorithm: undefined,\n KMSMasterKeyID: undefined,\n };\n if (output[\"SSEAlgorithm\"] !== undefined) {\n contents.SSEAlgorithm = (0, smithy_client_1.expectString)(output[\"SSEAlgorithm\"]);\n }\n if (output[\"KMSMasterKeyID\"] !== undefined) {\n contents.KMSMasterKeyID = (0, smithy_client_1.expectString)(output[\"KMSMasterKeyID\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlServerSideEncryptionConfiguration = (output, context) => {\n const contents = {\n Rules: undefined,\n };\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n else if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlServerSideEncryptionRules((0, smithy_client_1.getArrayIfSingleItem)(output[\"Rule\"]), context);\n }\n return contents;\n};\nconst deserializeAws_restXmlServerSideEncryptionRule = (output, context) => {\n const contents = {\n ApplyServerSideEncryptionByDefault: undefined,\n BucketKeyEnabled: undefined,\n };\n if (output[\"ApplyServerSideEncryptionByDefault\"] !== undefined) {\n contents.ApplyServerSideEncryptionByDefault = deserializeAws_restXmlServerSideEncryptionByDefault(output[\"ApplyServerSideEncryptionByDefault\"], context);\n }\n if (output[\"BucketKeyEnabled\"] !== undefined) {\n contents.BucketKeyEnabled = (0, smithy_client_1.parseBoolean)(output[\"BucketKeyEnabled\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlServerSideEncryptionRules = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlServerSideEncryptionRule(entry, context);\n });\n};\nconst deserializeAws_restXmlSourceSelectionCriteria = (output, context) => {\n const contents = {\n SseKmsEncryptedObjects: undefined,\n ReplicaModifications: undefined,\n };\n if (output[\"SseKmsEncryptedObjects\"] !== undefined) {\n contents.SseKmsEncryptedObjects = deserializeAws_restXmlSseKmsEncryptedObjects(output[\"SseKmsEncryptedObjects\"], context);\n }\n if (output[\"ReplicaModifications\"] !== undefined) {\n contents.ReplicaModifications = deserializeAws_restXmlReplicaModifications(output[\"ReplicaModifications\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlSSEKMS = (output, context) => {\n const contents = {\n KeyId: undefined,\n };\n if (output[\"KeyId\"] !== undefined) {\n contents.KeyId = (0, smithy_client_1.expectString)(output[\"KeyId\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlSseKmsEncryptedObjects = (output, context) => {\n const contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = (0, smithy_client_1.expectString)(output[\"Status\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlSSES3 = (output, context) => {\n const contents = {};\n return contents;\n};\nconst deserializeAws_restXmlStats = (output, context) => {\n const contents = {\n BytesScanned: undefined,\n BytesProcessed: undefined,\n BytesReturned: undefined,\n };\n if (output[\"BytesScanned\"] !== undefined) {\n contents.BytesScanned = (0, smithy_client_1.strictParseLong)(output[\"BytesScanned\"]);\n }\n if (output[\"BytesProcessed\"] !== undefined) {\n contents.BytesProcessed = (0, smithy_client_1.strictParseLong)(output[\"BytesProcessed\"]);\n }\n if (output[\"BytesReturned\"] !== undefined) {\n contents.BytesReturned = (0, smithy_client_1.strictParseLong)(output[\"BytesReturned\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlStorageClassAnalysis = (output, context) => {\n const contents = {\n DataExport: undefined,\n };\n if (output[\"DataExport\"] !== undefined) {\n contents.DataExport = deserializeAws_restXmlStorageClassAnalysisDataExport(output[\"DataExport\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlStorageClassAnalysisDataExport = (output, context) => {\n const contents = {\n OutputSchemaVersion: undefined,\n Destination: undefined,\n };\n if (output[\"OutputSchemaVersion\"] !== undefined) {\n contents.OutputSchemaVersion = (0, smithy_client_1.expectString)(output[\"OutputSchemaVersion\"]);\n }\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output[\"Destination\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlTag = (output, context) => {\n const contents = {\n Key: undefined,\n Value: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = (0, smithy_client_1.expectString)(output[\"Key\"]);\n }\n if (output[\"Value\"] !== undefined) {\n contents.Value = (0, smithy_client_1.expectString)(output[\"Value\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlTagSet = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTag(entry, context);\n });\n};\nconst deserializeAws_restXmlTargetGrant = (output, context) => {\n const contents = {\n Grantee: undefined,\n Permission: undefined,\n };\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = (0, smithy_client_1.expectString)(output[\"Permission\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlTargetGrants = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTargetGrant(entry, context);\n });\n};\nconst deserializeAws_restXmlTiering = (output, context) => {\n const contents = {\n Days: undefined,\n AccessTier: undefined,\n };\n if (output[\"Days\"] !== undefined) {\n contents.Days = (0, smithy_client_1.strictParseInt32)(output[\"Days\"]);\n }\n if (output[\"AccessTier\"] !== undefined) {\n contents.AccessTier = (0, smithy_client_1.expectString)(output[\"AccessTier\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlTieringList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTiering(entry, context);\n });\n};\nconst deserializeAws_restXmlTopicConfiguration = (output, context) => {\n const contents = {\n Id: undefined,\n TopicArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = (0, smithy_client_1.expectString)(output[\"Id\"]);\n }\n if (output[\"Topic\"] !== undefined) {\n contents.TopicArn = (0, smithy_client_1.expectString)(output[\"Topic\"]);\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n else if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nconst deserializeAws_restXmlTopicConfigurationList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTopicConfiguration(entry, context);\n });\n};\nconst deserializeAws_restXmlTransition = (output, context) => {\n const contents = {\n Date: undefined,\n Days: undefined,\n StorageClass: undefined,\n };\n if (output[\"Date\"] !== undefined) {\n contents.Date = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"Date\"]));\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = (0, smithy_client_1.strictParseInt32)(output[\"Days\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = (0, smithy_client_1.expectString)(output[\"StorageClass\"]);\n }\n return contents;\n};\nconst deserializeAws_restXmlTransitionList = (output, context) => {\n return (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return deserializeAws_restXmlTransition(entry, context);\n });\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parser = new fast_xml_parser_1.XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n const parsedObj = parser.parse(encoded);\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return (0, smithy_client_1.getValueFromTextNode)(parsedObjToReturn);\n }\n return {};\n});\nconst parseErrorBody = async (errorBody, context) => {\n const value = await parseBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nconst loadRestXmlErrorCode = (output, data) => {\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst client_sts_1 = require(\"@aws-sdk/client-sts\");\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst credential_provider_node_1 = require(\"@aws-sdk/credential-provider-node\");\nconst eventstream_serde_node_1 = require(\"@aws-sdk/eventstream-serde-node\");\nconst hash_node_1 = require(\"@aws-sdk/hash-node\");\nconst hash_stream_node_1 = require(\"@aws-sdk/hash-stream-node\");\nconst middleware_bucket_endpoint_1 = require(\"@aws-sdk/middleware-bucket-endpoint\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_body_length_node_1 = require(\"@aws-sdk/util-body-length-node\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst util_stream_node_1 = require(\"@aws-sdk/util-stream-node\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst util_defaults_mode_node_1 = require(\"@aws-sdk/util-defaults-mode-node\");\nconst smithy_client_2 = require(\"@aws-sdk/smithy-client\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, client_sts_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider),\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventstream_serde_node_1.eventStreamSerdeProvider,\n getAwsChunkedEncodingStream: config?.getAwsChunkedEncodingStream ?? util_stream_node_1.getAwsChunkedEncodingStream,\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n md5: config?.md5 ?? hash_node_1.Hash.bind(null, \"md5\"),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }),\n sdkStreamMixin: config?.sdkStreamMixin ?? util_stream_node_1.sdkStreamMixin,\n sha1: config?.sha1 ?? hash_node_1.Hash.bind(null, \"sha1\"),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n streamHasher: config?.streamHasher ?? hash_stream_node_1.readableStreamHasher,\n useArnRegion: config?.useArnRegion ?? (0, node_config_provider_1.loadConfig)(middleware_bucket_endpoint_1.NODE_USE_ARN_REGION_CONFIG_OPTIONS),\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst signature_v4_multi_region_1 = require(\"@aws-sdk/signature-v4-multi-region\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst util_base64_1 = require(\"@aws-sdk/util-base64\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => ({\n apiVersion: \"2006-03-01\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n serviceId: config?.serviceId ?? \"S3\",\n signerConstructor: config?.signerConstructor ?? signature_v4_multi_region_1.SignatureV4MultiRegion,\n signingEscapePath: config?.signingEscapePath ?? false,\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n useArnRegion: config?.useArnRegion ?? false,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n});\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./waitForBucketExists\"), exports);\ntslib_1.__exportStar(require(\"./waitForBucketNotExists\"), exports);\ntslib_1.__exportStar(require(\"./waitForObjectExists\"), exports);\ntslib_1.__exportStar(require(\"./waitForObjectNotExists\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.waitUntilBucketExists = exports.waitForBucketExists = void 0;\nconst util_waiter_1 = require(\"@aws-sdk/util-waiter\");\nconst HeadBucketCommand_1 = require(\"../commands/HeadBucketCommand\");\nconst checkState = async (client, input) => {\n let reason;\n try {\n const result = await client.send(new HeadBucketCommand_1.HeadBucketCommand(input));\n reason = result;\n return { state: util_waiter_1.WaiterState.SUCCESS, reason };\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n }\n }\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n};\nconst waitForBucketExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n};\nexports.waitForBucketExists = waitForBucketExists;\nconst waitUntilBucketExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n return (0, util_waiter_1.checkExceptions)(result);\n};\nexports.waitUntilBucketExists = waitUntilBucketExists;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.waitUntilBucketNotExists = exports.waitForBucketNotExists = void 0;\nconst util_waiter_1 = require(\"@aws-sdk/util-waiter\");\nconst HeadBucketCommand_1 = require(\"../commands/HeadBucketCommand\");\nconst checkState = async (client, input) => {\n let reason;\n try {\n const result = await client.send(new HeadBucketCommand_1.HeadBucketCommand(input));\n reason = result;\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: util_waiter_1.WaiterState.SUCCESS, reason };\n }\n }\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n};\nconst waitForBucketNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n};\nexports.waitForBucketNotExists = waitForBucketNotExists;\nconst waitUntilBucketNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n return (0, util_waiter_1.checkExceptions)(result);\n};\nexports.waitUntilBucketNotExists = waitUntilBucketNotExists;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.waitUntilObjectExists = exports.waitForObjectExists = void 0;\nconst util_waiter_1 = require(\"@aws-sdk/util-waiter\");\nconst HeadObjectCommand_1 = require(\"../commands/HeadObjectCommand\");\nconst checkState = async (client, input) => {\n let reason;\n try {\n const result = await client.send(new HeadObjectCommand_1.HeadObjectCommand(input));\n reason = result;\n return { state: util_waiter_1.WaiterState.SUCCESS, reason };\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n }\n }\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n};\nconst waitForObjectExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n};\nexports.waitForObjectExists = waitForObjectExists;\nconst waitUntilObjectExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n return (0, util_waiter_1.checkExceptions)(result);\n};\nexports.waitUntilObjectExists = waitUntilObjectExists;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.waitUntilObjectNotExists = exports.waitForObjectNotExists = void 0;\nconst util_waiter_1 = require(\"@aws-sdk/util-waiter\");\nconst HeadObjectCommand_1 = require(\"../commands/HeadObjectCommand\");\nconst checkState = async (client, input) => {\n let reason;\n try {\n const result = await client.send(new HeadObjectCommand_1.HeadObjectCommand(input));\n reason = result;\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: util_waiter_1.WaiterState.SUCCESS, reason };\n }\n }\n return { state: util_waiter_1.WaiterState.RETRY, reason };\n};\nconst waitForObjectNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n};\nexports.waitForObjectNotExists = waitForObjectNotExists;\nconst waitUntilObjectNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);\n return (0, util_waiter_1.checkExceptions)(result);\n};\nexports.waitUntilObjectNotExists = waitUntilObjectNotExists;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOOIDC = void 0;\nconst CreateTokenCommand_1 = require(\"./commands/CreateTokenCommand\");\nconst RegisterClientCommand_1 = require(\"./commands/RegisterClientCommand\");\nconst StartDeviceAuthorizationCommand_1 = require(\"./commands/StartDeviceAuthorizationCommand\");\nconst SSOOIDCClient_1 = require(\"./SSOOIDCClient\");\nclass SSOOIDC extends SSOOIDCClient_1.SSOOIDCClient {\n createToken(args, optionsOrCb, cb) {\n const command = new CreateTokenCommand_1.CreateTokenCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n registerClient(args, optionsOrCb, cb) {\n const command = new RegisterClientCommand_1.RegisterClientCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n startDeviceAuthorization(args, optionsOrCb, cb) {\n const command = new StartDeviceAuthorizationCommand_1.StartDeviceAuthorizationCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n}\nexports.SSOOIDC = SSOOIDC;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOOIDCClient = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst middleware_content_length_1 = require(\"@aws-sdk/middleware-content-length\");\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_host_header_1 = require(\"@aws-sdk/middleware-host-header\");\nconst middleware_logger_1 = require(\"@aws-sdk/middleware-logger\");\nconst middleware_recursion_detection_1 = require(\"@aws-sdk/middleware-recursion-detection\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst middleware_user_agent_1 = require(\"@aws-sdk/middleware-user-agent\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst EndpointParameters_1 = require(\"./endpoint/EndpointParameters\");\nconst runtimeConfig_1 = require(\"./runtimeConfig\");\nclass SSOOIDCClient extends smithy_client_1.Client {\n constructor(configuration) {\n const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration);\n const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);\n const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1);\n const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);\n const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);\n const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);\n const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5);\n super(_config_6);\n this.config = _config_6;\n this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));\n this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));\n this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));\n this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));\n this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\nexports.SSOOIDCClient = SSOOIDCClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateTokenCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass CreateTokenCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, CreateTokenCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOOIDCClient\";\n const commandName = \"CreateTokenCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.CreateTokenRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.CreateTokenResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1CreateTokenCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1CreateTokenCommand)(output, context);\n }\n}\nexports.CreateTokenCommand = CreateTokenCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegisterClientCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass RegisterClientCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, RegisterClientCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOOIDCClient\";\n const commandName = \"RegisterClientCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.RegisterClientRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.RegisterClientResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1RegisterClientCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1RegisterClientCommand)(output, context);\n }\n}\nexports.RegisterClientCommand = RegisterClientCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StartDeviceAuthorizationCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass StartDeviceAuthorizationCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, StartDeviceAuthorizationCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOOIDCClient\";\n const commandName = \"StartDeviceAuthorizationCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.StartDeviceAuthorizationRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.StartDeviceAuthorizationResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1StartDeviceAuthorizationCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1StartDeviceAuthorizationCommand)(output, context);\n }\n}\nexports.StartDeviceAuthorizationCommand = StartDeviceAuthorizationCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./CreateTokenCommand\"), exports);\ntslib_1.__exportStar(require(\"./RegisterClientCommand\"), exports);\ntslib_1.__exportStar(require(\"./StartDeviceAuthorizationCommand\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveClientEndpointParameters = void 0;\nconst resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"awsssooidc\",\n };\n};\nexports.resolveClientEndpointParameters = resolveClientEndpointParameters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst p = \"required\", q = \"fn\", r = \"argv\", s = \"ref\";\nconst a = \"PartitionResult\", b = \"tree\", c = \"error\", d = \"endpoint\", e = { [p]: false, \"type\": \"String\" }, f = { [p]: true, \"default\": false, \"type\": \"Boolean\" }, g = { [s]: \"Endpoint\" }, h = { [q]: \"booleanEquals\", [r]: [{ [s]: \"UseFIPS\" }, true] }, i = { [q]: \"booleanEquals\", [r]: [{ [s]: \"UseDualStack\" }, true] }, j = {}, k = { [q]: \"booleanEquals\", [r]: [true, { [q]: \"getAttr\", [r]: [{ [s]: a }, \"supportsFIPS\"] }] }, l = { [q]: \"booleanEquals\", [r]: [true, { [q]: \"getAttr\", [r]: [{ [s]: a }, \"supportsDualStack\"] }] }, m = [g], n = [h], o = [i];\nconst _data = { version: \"1.0\", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: \"aws.partition\", [r]: [{ [s]: \"Region\" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: \"isSet\", [r]: m }, { [q]: \"parseURL\", [r]: m, assign: \"url\" }], type: b, rules: [{ conditions: n, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: c }, { type: b, rules: [{ conditions: o, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: \"https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: j, headers: j }, type: d }] }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: \"https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: j, headers: j }, type: d }] }] }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: \"https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: j, headers: j }, type: d }] }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: c }] }, { endpoint: { url: \"https://oidc.{Region}.{PartitionResult#dnsSuffix}\", properties: j, headers: j }, type: d }] }] };\nexports.ruleSet = _data;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOOIDCServiceException = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./SSOOIDC\"), exports);\ntslib_1.__exportStar(require(\"./SSOOIDCClient\"), exports);\ntslib_1.__exportStar(require(\"./commands\"), exports);\ntslib_1.__exportStar(require(\"./models\"), exports);\nvar SSOOIDCServiceException_1 = require(\"./models/SSOOIDCServiceException\");\nObject.defineProperty(exports, \"SSOOIDCServiceException\", { enumerable: true, get: function () { return SSOOIDCServiceException_1.SSOOIDCServiceException; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOOIDCServiceException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nclass SSOOIDCServiceException extends smithy_client_1.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOOIDCServiceException.prototype);\n }\n}\nexports.SSOOIDCServiceException = SSOOIDCServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./models_0\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StartDeviceAuthorizationResponseFilterSensitiveLog = exports.StartDeviceAuthorizationRequestFilterSensitiveLog = exports.RegisterClientResponseFilterSensitiveLog = exports.RegisterClientRequestFilterSensitiveLog = exports.CreateTokenResponseFilterSensitiveLog = exports.CreateTokenRequestFilterSensitiveLog = exports.InvalidClientMetadataException = exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidGrantException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0;\nconst SSOOIDCServiceException_1 = require(\"./SSOOIDCServiceException\");\nclass AccessDeniedException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AccessDeniedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.AccessDeniedException = AccessDeniedException;\nclass AuthorizationPendingException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"AuthorizationPendingException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AuthorizationPendingException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AuthorizationPendingException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.AuthorizationPendingException = AuthorizationPendingException;\nclass ExpiredTokenException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ExpiredTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.ExpiredTokenException = ExpiredTokenException;\nclass InternalServerException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n this.name = \"InternalServerException\";\n this.$fault = \"server\";\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InternalServerException = InternalServerException;\nclass InvalidClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidClientException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidClientException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidClientException = InvalidClientException;\nclass InvalidGrantException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidGrantException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidGrantException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidGrantException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidGrantException = InvalidGrantException;\nclass InvalidRequestException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidRequestException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidRequestException = InvalidRequestException;\nclass InvalidScopeException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidScopeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidScopeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidScopeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidScopeException = InvalidScopeException;\nclass SlowDownException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"SlowDownException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"SlowDownException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, SlowDownException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.SlowDownException = SlowDownException;\nclass UnauthorizedClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"UnauthorizedClientException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnauthorizedClientException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnauthorizedClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.UnauthorizedClientException = UnauthorizedClientException;\nclass UnsupportedGrantTypeException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"UnsupportedGrantTypeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnsupportedGrantTypeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnsupportedGrantTypeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.UnsupportedGrantTypeException = UnsupportedGrantTypeException;\nclass InvalidClientMetadataException extends SSOOIDCServiceException_1.SSOOIDCServiceException {\n constructor(opts) {\n super({\n name: \"InvalidClientMetadataException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidClientMetadataException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidClientMetadataException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexports.InvalidClientMetadataException = InvalidClientMetadataException;\nconst CreateTokenRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateTokenRequestFilterSensitiveLog = CreateTokenRequestFilterSensitiveLog;\nconst CreateTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CreateTokenResponseFilterSensitiveLog = CreateTokenResponseFilterSensitiveLog;\nconst RegisterClientRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RegisterClientRequestFilterSensitiveLog = RegisterClientRequestFilterSensitiveLog;\nconst RegisterClientResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RegisterClientResponseFilterSensitiveLog = RegisterClientResponseFilterSensitiveLog;\nconst StartDeviceAuthorizationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StartDeviceAuthorizationRequestFilterSensitiveLog = StartDeviceAuthorizationRequestFilterSensitiveLog;\nconst StartDeviceAuthorizationResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.StartDeviceAuthorizationResponseFilterSensitiveLog = StartDeviceAuthorizationResponseFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserializeAws_restJson1StartDeviceAuthorizationCommand = exports.deserializeAws_restJson1RegisterClientCommand = exports.deserializeAws_restJson1CreateTokenCommand = exports.serializeAws_restJson1StartDeviceAuthorizationCommand = exports.serializeAws_restJson1RegisterClientCommand = exports.serializeAws_restJson1CreateTokenCommand = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst SSOOIDCServiceException_1 = require(\"../models/SSOOIDCServiceException\");\nconst serializeAws_restJson1CreateTokenCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/json\",\n };\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/token\";\n let body;\n body = JSON.stringify({\n ...(input.clientId != null && { clientId: input.clientId }),\n ...(input.clientSecret != null && { clientSecret: input.clientSecret }),\n ...(input.code != null && { code: input.code }),\n ...(input.deviceCode != null && { deviceCode: input.deviceCode }),\n ...(input.grantType != null && { grantType: input.grantType }),\n ...(input.redirectUri != null && { redirectUri: input.redirectUri }),\n ...(input.refreshToken != null && { refreshToken: input.refreshToken }),\n ...(input.scope != null && { scope: serializeAws_restJson1Scopes(input.scope, context) }),\n });\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restJson1CreateTokenCommand = serializeAws_restJson1CreateTokenCommand;\nconst serializeAws_restJson1RegisterClientCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/json\",\n };\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/client/register\";\n let body;\n body = JSON.stringify({\n ...(input.clientName != null && { clientName: input.clientName }),\n ...(input.clientType != null && { clientType: input.clientType }),\n ...(input.scopes != null && { scopes: serializeAws_restJson1Scopes(input.scopes, context) }),\n });\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restJson1RegisterClientCommand = serializeAws_restJson1RegisterClientCommand;\nconst serializeAws_restJson1StartDeviceAuthorizationCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = {\n \"content-type\": \"application/json\",\n };\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/device_authorization\";\n let body;\n body = JSON.stringify({\n ...(input.clientId != null && { clientId: input.clientId }),\n ...(input.clientSecret != null && { clientSecret: input.clientSecret }),\n ...(input.startUrl != null && { startUrl: input.startUrl }),\n });\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restJson1StartDeviceAuthorizationCommand = serializeAws_restJson1StartDeviceAuthorizationCommand;\nconst deserializeAws_restJson1CreateTokenCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1CreateTokenCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.accessToken != null) {\n contents.accessToken = (0, smithy_client_1.expectString)(data.accessToken);\n }\n if (data.expiresIn != null) {\n contents.expiresIn = (0, smithy_client_1.expectInt32)(data.expiresIn);\n }\n if (data.idToken != null) {\n contents.idToken = (0, smithy_client_1.expectString)(data.idToken);\n }\n if (data.refreshToken != null) {\n contents.refreshToken = (0, smithy_client_1.expectString)(data.refreshToken);\n }\n if (data.tokenType != null) {\n contents.tokenType = (0, smithy_client_1.expectString)(data.tokenType);\n }\n return contents;\n};\nexports.deserializeAws_restJson1CreateTokenCommand = deserializeAws_restJson1CreateTokenCommand;\nconst deserializeAws_restJson1CreateTokenCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"AccessDeniedException\":\n case \"com.amazonaws.ssooidc#AccessDeniedException\":\n throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);\n case \"AuthorizationPendingException\":\n case \"com.amazonaws.ssooidc#AuthorizationPendingException\":\n throw await deserializeAws_restJson1AuthorizationPendingExceptionResponse(parsedOutput, context);\n case \"ExpiredTokenException\":\n case \"com.amazonaws.ssooidc#ExpiredTokenException\":\n throw await deserializeAws_restJson1ExpiredTokenExceptionResponse(parsedOutput, context);\n case \"InternalServerException\":\n case \"com.amazonaws.ssooidc#InternalServerException\":\n throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);\n case \"InvalidClientException\":\n case \"com.amazonaws.ssooidc#InvalidClientException\":\n throw await deserializeAws_restJson1InvalidClientExceptionResponse(parsedOutput, context);\n case \"InvalidGrantException\":\n case \"com.amazonaws.ssooidc#InvalidGrantException\":\n throw await deserializeAws_restJson1InvalidGrantExceptionResponse(parsedOutput, context);\n case \"InvalidRequestException\":\n case \"com.amazonaws.ssooidc#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"InvalidScopeException\":\n case \"com.amazonaws.ssooidc#InvalidScopeException\":\n throw await deserializeAws_restJson1InvalidScopeExceptionResponse(parsedOutput, context);\n case \"SlowDownException\":\n case \"com.amazonaws.ssooidc#SlowDownException\":\n throw await deserializeAws_restJson1SlowDownExceptionResponse(parsedOutput, context);\n case \"UnauthorizedClientException\":\n case \"com.amazonaws.ssooidc#UnauthorizedClientException\":\n throw await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context);\n case \"UnsupportedGrantTypeException\":\n case \"com.amazonaws.ssooidc#UnsupportedGrantTypeException\":\n throw await deserializeAws_restJson1UnsupportedGrantTypeExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOOIDCServiceException_1.SSOOIDCServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1RegisterClientCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1RegisterClientCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.authorizationEndpoint != null) {\n contents.authorizationEndpoint = (0, smithy_client_1.expectString)(data.authorizationEndpoint);\n }\n if (data.clientId != null) {\n contents.clientId = (0, smithy_client_1.expectString)(data.clientId);\n }\n if (data.clientIdIssuedAt != null) {\n contents.clientIdIssuedAt = (0, smithy_client_1.expectLong)(data.clientIdIssuedAt);\n }\n if (data.clientSecret != null) {\n contents.clientSecret = (0, smithy_client_1.expectString)(data.clientSecret);\n }\n if (data.clientSecretExpiresAt != null) {\n contents.clientSecretExpiresAt = (0, smithy_client_1.expectLong)(data.clientSecretExpiresAt);\n }\n if (data.tokenEndpoint != null) {\n contents.tokenEndpoint = (0, smithy_client_1.expectString)(data.tokenEndpoint);\n }\n return contents;\n};\nexports.deserializeAws_restJson1RegisterClientCommand = deserializeAws_restJson1RegisterClientCommand;\nconst deserializeAws_restJson1RegisterClientCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalServerException\":\n case \"com.amazonaws.ssooidc#InternalServerException\":\n throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);\n case \"InvalidClientMetadataException\":\n case \"com.amazonaws.ssooidc#InvalidClientMetadataException\":\n throw await deserializeAws_restJson1InvalidClientMetadataExceptionResponse(parsedOutput, context);\n case \"InvalidRequestException\":\n case \"com.amazonaws.ssooidc#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"InvalidScopeException\":\n case \"com.amazonaws.ssooidc#InvalidScopeException\":\n throw await deserializeAws_restJson1InvalidScopeExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOOIDCServiceException_1.SSOOIDCServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1StartDeviceAuthorizationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1StartDeviceAuthorizationCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.deviceCode != null) {\n contents.deviceCode = (0, smithy_client_1.expectString)(data.deviceCode);\n }\n if (data.expiresIn != null) {\n contents.expiresIn = (0, smithy_client_1.expectInt32)(data.expiresIn);\n }\n if (data.interval != null) {\n contents.interval = (0, smithy_client_1.expectInt32)(data.interval);\n }\n if (data.userCode != null) {\n contents.userCode = (0, smithy_client_1.expectString)(data.userCode);\n }\n if (data.verificationUri != null) {\n contents.verificationUri = (0, smithy_client_1.expectString)(data.verificationUri);\n }\n if (data.verificationUriComplete != null) {\n contents.verificationUriComplete = (0, smithy_client_1.expectString)(data.verificationUriComplete);\n }\n return contents;\n};\nexports.deserializeAws_restJson1StartDeviceAuthorizationCommand = deserializeAws_restJson1StartDeviceAuthorizationCommand;\nconst deserializeAws_restJson1StartDeviceAuthorizationCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalServerException\":\n case \"com.amazonaws.ssooidc#InternalServerException\":\n throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);\n case \"InvalidClientException\":\n case \"com.amazonaws.ssooidc#InvalidClientException\":\n throw await deserializeAws_restJson1InvalidClientExceptionResponse(parsedOutput, context);\n case \"InvalidRequestException\":\n case \"com.amazonaws.ssooidc#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"SlowDownException\":\n case \"com.amazonaws.ssooidc#SlowDownException\":\n throw await deserializeAws_restJson1SlowDownExceptionResponse(parsedOutput, context);\n case \"UnauthorizedClientException\":\n case \"com.amazonaws.ssooidc#UnauthorizedClientException\":\n throw await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOOIDCServiceException_1.SSOOIDCServiceException,\n errorCode,\n });\n }\n};\nconst map = smithy_client_1.map;\nconst deserializeAws_restJson1AccessDeniedExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.AccessDeniedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1AuthorizationPendingExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.AuthorizationPendingException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1ExpiredTokenExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.ExpiredTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InternalServerExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InternalServerException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidClientExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidClientException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidClientMetadataExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidClientMetadataException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidGrantExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidGrantException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidRequestExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidRequestException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1InvalidScopeExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.InvalidScopeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1SlowDownExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.SlowDownException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1UnauthorizedClientExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.UnauthorizedClientException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1UnsupportedGrantTypeExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.error != null) {\n contents.error = (0, smithy_client_1.expectString)(data.error);\n }\n if (data.error_description != null) {\n contents.error_description = (0, smithy_client_1.expectString)(data.error_description);\n }\n const exception = new models_0_1.UnsupportedGrantTypeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst serializeAws_restJson1Scopes = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n return entry;\n });\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n});\nconst parseErrorBody = async (errorBody, context) => {\n const value = await parseBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nconst loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst hash_node_1 = require(\"@aws-sdk/hash-node\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_body_length_node_1 = require(\"@aws-sdk/util-body-length-node\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst util_defaults_mode_node_1 = require(\"@aws-sdk/util-defaults-mode-node\");\nconst smithy_client_2 = require(\"@aws-sdk/smithy-client\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst util_base64_1 = require(\"@aws-sdk/util-base64\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => ({\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n serviceId: config?.serviceId ?? \"SSO OIDC\",\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n});\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSO = void 0;\nconst GetRoleCredentialsCommand_1 = require(\"./commands/GetRoleCredentialsCommand\");\nconst ListAccountRolesCommand_1 = require(\"./commands/ListAccountRolesCommand\");\nconst ListAccountsCommand_1 = require(\"./commands/ListAccountsCommand\");\nconst LogoutCommand_1 = require(\"./commands/LogoutCommand\");\nconst SSOClient_1 = require(\"./SSOClient\");\nclass SSO extends SSOClient_1.SSOClient {\n getRoleCredentials(args, optionsOrCb, cb) {\n const command = new GetRoleCredentialsCommand_1.GetRoleCredentialsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listAccountRoles(args, optionsOrCb, cb) {\n const command = new ListAccountRolesCommand_1.ListAccountRolesCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n listAccounts(args, optionsOrCb, cb) {\n const command = new ListAccountsCommand_1.ListAccountsCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n logout(args, optionsOrCb, cb) {\n const command = new LogoutCommand_1.LogoutCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n}\nexports.SSO = SSO;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOClient = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst middleware_content_length_1 = require(\"@aws-sdk/middleware-content-length\");\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_host_header_1 = require(\"@aws-sdk/middleware-host-header\");\nconst middleware_logger_1 = require(\"@aws-sdk/middleware-logger\");\nconst middleware_recursion_detection_1 = require(\"@aws-sdk/middleware-recursion-detection\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst middleware_user_agent_1 = require(\"@aws-sdk/middleware-user-agent\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst EndpointParameters_1 = require(\"./endpoint/EndpointParameters\");\nconst runtimeConfig_1 = require(\"./runtimeConfig\");\nclass SSOClient extends smithy_client_1.Client {\n constructor(configuration) {\n const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration);\n const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);\n const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1);\n const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);\n const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);\n const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);\n const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5);\n super(_config_6);\n this.config = _config_6;\n this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));\n this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));\n this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));\n this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));\n this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\nexports.SSOClient = SSOClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetRoleCredentialsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass GetRoleCredentialsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetRoleCredentialsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOClient\";\n const commandName = \"GetRoleCredentialsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetRoleCredentialsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetRoleCredentialsResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1GetRoleCredentialsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1GetRoleCredentialsCommand)(output, context);\n }\n}\nexports.GetRoleCredentialsCommand = GetRoleCredentialsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListAccountRolesCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass ListAccountRolesCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListAccountRolesCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOClient\";\n const commandName = \"ListAccountRolesCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListAccountRolesRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListAccountRolesResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1ListAccountRolesCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1ListAccountRolesCommand)(output, context);\n }\n}\nexports.ListAccountRolesCommand = ListAccountRolesCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListAccountsCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass ListAccountsCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, ListAccountsCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOClient\";\n const commandName = \"ListAccountsCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.ListAccountsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.ListAccountsResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1ListAccountsCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1ListAccountsCommand)(output, context);\n }\n}\nexports.ListAccountsCommand = ListAccountsCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogoutCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_restJson1_1 = require(\"../protocols/Aws_restJson1\");\nclass LogoutCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, LogoutCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"SSOClient\";\n const commandName = \"LogoutCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.LogoutRequestFilterSensitiveLog,\n outputFilterSensitiveLog: (output) => output,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_restJson1_1.serializeAws_restJson1LogoutCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_restJson1_1.deserializeAws_restJson1LogoutCommand)(output, context);\n }\n}\nexports.LogoutCommand = LogoutCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./GetRoleCredentialsCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListAccountRolesCommand\"), exports);\ntslib_1.__exportStar(require(\"./ListAccountsCommand\"), exports);\ntslib_1.__exportStar(require(\"./LogoutCommand\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveClientEndpointParameters = void 0;\nconst resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"awsssoportal\",\n };\n};\nexports.resolveClientEndpointParameters = resolveClientEndpointParameters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst p = \"required\", q = \"fn\", r = \"argv\", s = \"ref\";\nconst a = \"PartitionResult\", b = \"tree\", c = \"error\", d = \"endpoint\", e = { [p]: false, \"type\": \"String\" }, f = { [p]: true, \"default\": false, \"type\": \"Boolean\" }, g = { [s]: \"Endpoint\" }, h = { [q]: \"booleanEquals\", [r]: [{ [s]: \"UseFIPS\" }, true] }, i = { [q]: \"booleanEquals\", [r]: [{ [s]: \"UseDualStack\" }, true] }, j = {}, k = { [q]: \"booleanEquals\", [r]: [true, { [q]: \"getAttr\", [r]: [{ [s]: a }, \"supportsFIPS\"] }] }, l = { [q]: \"booleanEquals\", [r]: [true, { [q]: \"getAttr\", [r]: [{ [s]: a }, \"supportsDualStack\"] }] }, m = [g], n = [h], o = [i];\nconst _data = { version: \"1.0\", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: \"aws.partition\", [r]: [{ [s]: \"Region\" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: \"isSet\", [r]: m }, { [q]: \"parseURL\", [r]: m, assign: \"url\" }], type: b, rules: [{ conditions: n, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: c }, { type: b, rules: [{ conditions: o, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: \"https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: j, headers: j }, type: d }] }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: \"https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: j, headers: j }, type: d }] }] }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: \"https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: j, headers: j }, type: d }] }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: c }] }, { endpoint: { url: \"https://portal.sso.{Region}.{PartitionResult#dnsSuffix}\", properties: j, headers: j }, type: d }] }] };\nexports.ruleSet = _data;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOServiceException = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./SSO\"), exports);\ntslib_1.__exportStar(require(\"./SSOClient\"), exports);\ntslib_1.__exportStar(require(\"./commands\"), exports);\ntslib_1.__exportStar(require(\"./models\"), exports);\ntslib_1.__exportStar(require(\"./pagination\"), exports);\nvar SSOServiceException_1 = require(\"./models/SSOServiceException\");\nObject.defineProperty(exports, \"SSOServiceException\", { enumerable: true, get: function () { return SSOServiceException_1.SSOServiceException; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SSOServiceException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nclass SSOServiceException extends smithy_client_1.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOServiceException.prototype);\n }\n}\nexports.SSOServiceException = SSOServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./models_0\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogoutRequestFilterSensitiveLog = exports.ListAccountsResponseFilterSensitiveLog = exports.ListAccountsRequestFilterSensitiveLog = exports.ListAccountRolesResponseFilterSensitiveLog = exports.RoleInfoFilterSensitiveLog = exports.ListAccountRolesRequestFilterSensitiveLog = exports.GetRoleCredentialsResponseFilterSensitiveLog = exports.RoleCredentialsFilterSensitiveLog = exports.GetRoleCredentialsRequestFilterSensitiveLog = exports.AccountInfoFilterSensitiveLog = exports.UnauthorizedException = exports.TooManyRequestsException = exports.ResourceNotFoundException = exports.InvalidRequestException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst SSOServiceException_1 = require(\"./SSOServiceException\");\nclass InvalidRequestException extends SSOServiceException_1.SSOServiceException {\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidRequestException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n }\n}\nexports.InvalidRequestException = InvalidRequestException;\nclass ResourceNotFoundException extends SSOServiceException_1.SSOServiceException {\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ResourceNotFoundException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nexports.ResourceNotFoundException = ResourceNotFoundException;\nclass TooManyRequestsException extends SSOServiceException_1.SSOServiceException {\n constructor(opts) {\n super({\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"TooManyRequestsException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, TooManyRequestsException.prototype);\n }\n}\nexports.TooManyRequestsException = TooManyRequestsException;\nclass UnauthorizedException extends SSOServiceException_1.SSOServiceException {\n constructor(opts) {\n super({\n name: \"UnauthorizedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnauthorizedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnauthorizedException.prototype);\n }\n}\nexports.UnauthorizedException = UnauthorizedException;\nconst AccountInfoFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AccountInfoFilterSensitiveLog = AccountInfoFilterSensitiveLog;\nconst GetRoleCredentialsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.GetRoleCredentialsRequestFilterSensitiveLog = GetRoleCredentialsRequestFilterSensitiveLog;\nconst RoleCredentialsFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.secretAccessKey && { secretAccessKey: smithy_client_1.SENSITIVE_STRING }),\n ...(obj.sessionToken && { sessionToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.RoleCredentialsFilterSensitiveLog = RoleCredentialsFilterSensitiveLog;\nconst GetRoleCredentialsResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.roleCredentials && { roleCredentials: (0, exports.RoleCredentialsFilterSensitiveLog)(obj.roleCredentials) }),\n});\nexports.GetRoleCredentialsResponseFilterSensitiveLog = GetRoleCredentialsResponseFilterSensitiveLog;\nconst ListAccountRolesRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.ListAccountRolesRequestFilterSensitiveLog = ListAccountRolesRequestFilterSensitiveLog;\nconst RoleInfoFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.RoleInfoFilterSensitiveLog = RoleInfoFilterSensitiveLog;\nconst ListAccountRolesResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListAccountRolesResponseFilterSensitiveLog = ListAccountRolesResponseFilterSensitiveLog;\nconst ListAccountsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.ListAccountsRequestFilterSensitiveLog = ListAccountsRequestFilterSensitiveLog;\nconst ListAccountsResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.ListAccountsResponseFilterSensitiveLog = ListAccountsResponseFilterSensitiveLog;\nconst LogoutRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING }),\n});\nexports.LogoutRequestFilterSensitiveLog = LogoutRequestFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.paginateListAccountRoles = void 0;\nconst ListAccountRolesCommand_1 = require(\"../commands/ListAccountRolesCommand\");\nconst SSO_1 = require(\"../SSO\");\nconst SSOClient_1 = require(\"../SSOClient\");\nconst makePagedClientRequest = async (client, input, ...args) => {\n return await client.send(new ListAccountRolesCommand_1.ListAccountRolesCommand(input), ...args);\n};\nconst makePagedRequest = async (client, input, ...args) => {\n return await client.listAccountRoles(input, ...args);\n};\nasync function* paginateListAccountRoles(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\n let hasNext = true;\n let page;\n while (hasNext) {\n input.nextToken = token;\n input[\"maxResults\"] = config.pageSize;\n if (config.client instanceof SSO_1.SSO) {\n page = await makePagedRequest(config.client, input, ...additionalArguments);\n }\n else if (config.client instanceof SSOClient_1.SSOClient) {\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\n }\n else {\n throw new Error(\"Invalid client, expected SSO | SSOClient\");\n }\n yield page;\n const prevToken = token;\n token = page.nextToken;\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n}\nexports.paginateListAccountRoles = paginateListAccountRoles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.paginateListAccounts = void 0;\nconst ListAccountsCommand_1 = require(\"../commands/ListAccountsCommand\");\nconst SSO_1 = require(\"../SSO\");\nconst SSOClient_1 = require(\"../SSOClient\");\nconst makePagedClientRequest = async (client, input, ...args) => {\n return await client.send(new ListAccountsCommand_1.ListAccountsCommand(input), ...args);\n};\nconst makePagedRequest = async (client, input, ...args) => {\n return await client.listAccounts(input, ...args);\n};\nasync function* paginateListAccounts(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\n let hasNext = true;\n let page;\n while (hasNext) {\n input.nextToken = token;\n input[\"maxResults\"] = config.pageSize;\n if (config.client instanceof SSO_1.SSO) {\n page = await makePagedRequest(config.client, input, ...additionalArguments);\n }\n else if (config.client instanceof SSOClient_1.SSOClient) {\n page = await makePagedClientRequest(config.client, input, ...additionalArguments);\n }\n else {\n throw new Error(\"Invalid client, expected SSO | SSOClient\");\n }\n yield page;\n const prevToken = token;\n token = page.nextToken;\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n}\nexports.paginateListAccounts = paginateListAccounts;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./Interfaces\"), exports);\ntslib_1.__exportStar(require(\"./ListAccountRolesPaginator\"), exports);\ntslib_1.__exportStar(require(\"./ListAccountsPaginator\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserializeAws_restJson1LogoutCommand = exports.deserializeAws_restJson1ListAccountsCommand = exports.deserializeAws_restJson1ListAccountRolesCommand = exports.deserializeAws_restJson1GetRoleCredentialsCommand = exports.serializeAws_restJson1LogoutCommand = exports.serializeAws_restJson1ListAccountsCommand = exports.serializeAws_restJson1ListAccountRolesCommand = exports.serializeAws_restJson1GetRoleCredentialsCommand = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst SSOServiceException_1 = require(\"../models/SSOServiceException\");\nconst serializeAws_restJson1GetRoleCredentialsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-sso_bearer_token\": input.accessToken,\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/federation/credentials\";\n const query = map({\n role_name: [, (0, smithy_client_1.expectNonNull)(input.roleName, `roleName`)],\n account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restJson1GetRoleCredentialsCommand = serializeAws_restJson1GetRoleCredentialsCommand;\nconst serializeAws_restJson1ListAccountRolesCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-sso_bearer_token\": input.accessToken,\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/assignment/roles\";\n const query = map({\n next_token: [, input.nextToken],\n max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()],\n account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restJson1ListAccountRolesCommand = serializeAws_restJson1ListAccountRolesCommand;\nconst serializeAws_restJson1ListAccountsCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-sso_bearer_token\": input.accessToken,\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/assignment/accounts\";\n const query = map({\n next_token: [, input.nextToken],\n max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()],\n });\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\nexports.serializeAws_restJson1ListAccountsCommand = serializeAws_restJson1ListAccountsCommand;\nconst serializeAws_restJson1LogoutCommand = async (input, context) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const headers = map({}, isSerializableHeaderValue, {\n \"x-amz-sso_bearer_token\": input.accessToken,\n });\n const resolvedPath = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + \"/logout\";\n let body;\n return new protocol_http_1.HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n body,\n });\n};\nexports.serializeAws_restJson1LogoutCommand = serializeAws_restJson1LogoutCommand;\nconst deserializeAws_restJson1GetRoleCredentialsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1GetRoleCredentialsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.roleCredentials != null) {\n contents.roleCredentials = deserializeAws_restJson1RoleCredentials(data.roleCredentials, context);\n }\n return contents;\n};\nexports.deserializeAws_restJson1GetRoleCredentialsCommand = deserializeAws_restJson1GetRoleCredentialsCommand;\nconst deserializeAws_restJson1GetRoleCredentialsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.sso#ResourceNotFoundException\":\n throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOServiceException_1.SSOServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1ListAccountRolesCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1ListAccountRolesCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.nextToken != null) {\n contents.nextToken = (0, smithy_client_1.expectString)(data.nextToken);\n }\n if (data.roleList != null) {\n contents.roleList = deserializeAws_restJson1RoleListType(data.roleList, context);\n }\n return contents;\n};\nexports.deserializeAws_restJson1ListAccountRolesCommand = deserializeAws_restJson1ListAccountRolesCommand;\nconst deserializeAws_restJson1ListAccountRolesCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.sso#ResourceNotFoundException\":\n throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOServiceException_1.SSOServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1ListAccountsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1ListAccountsCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), \"body\");\n if (data.accountList != null) {\n contents.accountList = deserializeAws_restJson1AccountListType(data.accountList, context);\n }\n if (data.nextToken != null) {\n contents.nextToken = (0, smithy_client_1.expectString)(data.nextToken);\n }\n return contents;\n};\nexports.deserializeAws_restJson1ListAccountsCommand = deserializeAws_restJson1ListAccountsCommand;\nconst deserializeAws_restJson1ListAccountsCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.sso#ResourceNotFoundException\":\n throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOServiceException_1.SSOServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_restJson1LogoutCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restJson1LogoutCommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexports.deserializeAws_restJson1LogoutCommand = deserializeAws_restJson1LogoutCommand;\nconst deserializeAws_restJson1LogoutCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody,\n exceptionCtor: SSOServiceException_1.SSOServiceException,\n errorCode,\n });\n }\n};\nconst map = smithy_client_1.map;\nconst deserializeAws_restJson1InvalidRequestExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.message != null) {\n contents.message = (0, smithy_client_1.expectString)(data.message);\n }\n const exception = new models_0_1.InvalidRequestException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1ResourceNotFoundExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.message != null) {\n contents.message = (0, smithy_client_1.expectString)(data.message);\n }\n const exception = new models_0_1.ResourceNotFoundException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1TooManyRequestsExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.message != null) {\n contents.message = (0, smithy_client_1.expectString)(data.message);\n }\n const exception = new models_0_1.TooManyRequestsException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1UnauthorizedExceptionResponse = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n if (data.message != null) {\n contents.message = (0, smithy_client_1.expectString)(data.message);\n }\n const exception = new models_0_1.UnauthorizedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);\n};\nconst deserializeAws_restJson1AccountInfo = (output, context) => {\n return {\n accountId: (0, smithy_client_1.expectString)(output.accountId),\n accountName: (0, smithy_client_1.expectString)(output.accountName),\n emailAddress: (0, smithy_client_1.expectString)(output.emailAddress),\n };\n};\nconst deserializeAws_restJson1AccountListType = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1AccountInfo(entry, context);\n });\n return retVal;\n};\nconst deserializeAws_restJson1RoleCredentials = (output, context) => {\n return {\n accessKeyId: (0, smithy_client_1.expectString)(output.accessKeyId),\n expiration: (0, smithy_client_1.expectLong)(output.expiration),\n secretAccessKey: (0, smithy_client_1.expectString)(output.secretAccessKey),\n sessionToken: (0, smithy_client_1.expectString)(output.sessionToken),\n };\n};\nconst deserializeAws_restJson1RoleInfo = (output, context) => {\n return {\n accountId: (0, smithy_client_1.expectString)(output.accountId),\n roleName: (0, smithy_client_1.expectString)(output.roleName),\n };\n};\nconst deserializeAws_restJson1RoleListType = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1RoleInfo(entry, context);\n });\n return retVal;\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n});\nconst parseErrorBody = async (errorBody, context) => {\n const value = await parseBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nconst loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst hash_node_1 = require(\"@aws-sdk/hash-node\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_body_length_node_1 = require(\"@aws-sdk/util-body-length-node\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst util_defaults_mode_node_1 = require(\"@aws-sdk/util-defaults-mode-node\");\nconst smithy_client_2 = require(\"@aws-sdk/smithy-client\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst util_base64_1 = require(\"@aws-sdk/util-base64\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => ({\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n serviceId: config?.serviceId ?? \"SSO\",\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n});\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STS = void 0;\nconst AssumeRoleCommand_1 = require(\"./commands/AssumeRoleCommand\");\nconst AssumeRoleWithSAMLCommand_1 = require(\"./commands/AssumeRoleWithSAMLCommand\");\nconst AssumeRoleWithWebIdentityCommand_1 = require(\"./commands/AssumeRoleWithWebIdentityCommand\");\nconst DecodeAuthorizationMessageCommand_1 = require(\"./commands/DecodeAuthorizationMessageCommand\");\nconst GetAccessKeyInfoCommand_1 = require(\"./commands/GetAccessKeyInfoCommand\");\nconst GetCallerIdentityCommand_1 = require(\"./commands/GetCallerIdentityCommand\");\nconst GetFederationTokenCommand_1 = require(\"./commands/GetFederationTokenCommand\");\nconst GetSessionTokenCommand_1 = require(\"./commands/GetSessionTokenCommand\");\nconst STSClient_1 = require(\"./STSClient\");\nclass STS extends STSClient_1.STSClient {\n assumeRole(args, optionsOrCb, cb) {\n const command = new AssumeRoleCommand_1.AssumeRoleCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n assumeRoleWithSAML(args, optionsOrCb, cb) {\n const command = new AssumeRoleWithSAMLCommand_1.AssumeRoleWithSAMLCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n assumeRoleWithWebIdentity(args, optionsOrCb, cb) {\n const command = new AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n decodeAuthorizationMessage(args, optionsOrCb, cb) {\n const command = new DecodeAuthorizationMessageCommand_1.DecodeAuthorizationMessageCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getAccessKeyInfo(args, optionsOrCb, cb) {\n const command = new GetAccessKeyInfoCommand_1.GetAccessKeyInfoCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getCallerIdentity(args, optionsOrCb, cb) {\n const command = new GetCallerIdentityCommand_1.GetCallerIdentityCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getFederationToken(args, optionsOrCb, cb) {\n const command = new GetFederationTokenCommand_1.GetFederationTokenCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n getSessionToken(args, optionsOrCb, cb) {\n const command = new GetSessionTokenCommand_1.GetSessionTokenCommand(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expect http options but get ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n }\n}\nexports.STS = STS;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STSClient = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst middleware_content_length_1 = require(\"@aws-sdk/middleware-content-length\");\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_host_header_1 = require(\"@aws-sdk/middleware-host-header\");\nconst middleware_logger_1 = require(\"@aws-sdk/middleware-logger\");\nconst middleware_recursion_detection_1 = require(\"@aws-sdk/middleware-recursion-detection\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst middleware_sdk_sts_1 = require(\"@aws-sdk/middleware-sdk-sts\");\nconst middleware_user_agent_1 = require(\"@aws-sdk/middleware-user-agent\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst EndpointParameters_1 = require(\"./endpoint/EndpointParameters\");\nconst runtimeConfig_1 = require(\"./runtimeConfig\");\nclass STSClient extends smithy_client_1.Client {\n constructor(configuration) {\n const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration);\n const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);\n const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1);\n const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);\n const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);\n const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);\n const _config_6 = (0, middleware_sdk_sts_1.resolveStsAuthConfig)(_config_5, { stsClientCtor: STSClient });\n const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6);\n super(_config_7);\n this.config = _config_7;\n this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));\n this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));\n this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));\n this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));\n this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));\n this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\nexports.STSClient = STSClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssumeRoleCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass AssumeRoleCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, AssumeRoleCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"AssumeRoleCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.AssumeRoleRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.AssumeRoleResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryAssumeRoleCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryAssumeRoleCommand)(output, context);\n }\n}\nexports.AssumeRoleCommand = AssumeRoleCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssumeRoleWithSAMLCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass AssumeRoleWithSAMLCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, AssumeRoleWithSAMLCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"AssumeRoleWithSAMLCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryAssumeRoleWithSAMLCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryAssumeRoleWithSAMLCommand)(output, context);\n }\n}\nexports.AssumeRoleWithSAMLCommand = AssumeRoleWithSAMLCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssumeRoleWithWebIdentityCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass AssumeRoleWithWebIdentityCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, AssumeRoleWithWebIdentityCommand.getEndpointParameterInstructions()));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"AssumeRoleWithWebIdentityCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryAssumeRoleWithWebIdentityCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryAssumeRoleWithWebIdentityCommand)(output, context);\n }\n}\nexports.AssumeRoleWithWebIdentityCommand = AssumeRoleWithWebIdentityCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DecodeAuthorizationMessageCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass DecodeAuthorizationMessageCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, DecodeAuthorizationMessageCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"DecodeAuthorizationMessageCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.DecodeAuthorizationMessageRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.DecodeAuthorizationMessageResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryDecodeAuthorizationMessageCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryDecodeAuthorizationMessageCommand)(output, context);\n }\n}\nexports.DecodeAuthorizationMessageCommand = DecodeAuthorizationMessageCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetAccessKeyInfoCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass GetAccessKeyInfoCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetAccessKeyInfoCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"GetAccessKeyInfoCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetAccessKeyInfoRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetAccessKeyInfoResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryGetAccessKeyInfoCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryGetAccessKeyInfoCommand)(output, context);\n }\n}\nexports.GetAccessKeyInfoCommand = GetAccessKeyInfoCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetCallerIdentityCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass GetCallerIdentityCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetCallerIdentityCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"GetCallerIdentityCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetCallerIdentityRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetCallerIdentityResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryGetCallerIdentityCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryGetCallerIdentityCommand)(output, context);\n }\n}\nexports.GetCallerIdentityCommand = GetCallerIdentityCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetFederationTokenCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass GetFederationTokenCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetFederationTokenCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"GetFederationTokenCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetFederationTokenRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetFederationTokenResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryGetFederationTokenCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryGetFederationTokenCommand)(output, context);\n }\n}\nexports.GetFederationTokenCommand = GetFederationTokenCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetSessionTokenCommand = void 0;\nconst middleware_endpoint_1 = require(\"@aws-sdk/middleware-endpoint\");\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst models_0_1 = require(\"../models/models_0\");\nconst Aws_query_1 = require(\"../protocols/Aws_query\");\nclass GetSessionTokenCommand extends smithy_client_1.Command {\n constructor(input) {\n super();\n this.input = input;\n }\n static getEndpointParameterInstructions() {\n return {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n };\n }\n resolveMiddleware(clientStack, configuration, options) {\n this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, GetSessionTokenCommand.getEndpointParameterInstructions()));\n this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration));\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const clientName = \"STSClient\";\n const commandName = \"GetSessionTokenCommand\";\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: models_0_1.GetSessionTokenRequestFilterSensitiveLog,\n outputFilterSensitiveLog: models_0_1.GetSessionTokenResponseFilterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n serialize(input, context) {\n return (0, Aws_query_1.serializeAws_queryGetSessionTokenCommand)(input, context);\n }\n deserialize(output, context) {\n return (0, Aws_query_1.deserializeAws_queryGetSessionTokenCommand)(output, context);\n }\n}\nexports.GetSessionTokenCommand = GetSessionTokenCommand;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AssumeRoleCommand\"), exports);\ntslib_1.__exportStar(require(\"./AssumeRoleWithSAMLCommand\"), exports);\ntslib_1.__exportStar(require(\"./AssumeRoleWithWebIdentityCommand\"), exports);\ntslib_1.__exportStar(require(\"./DecodeAuthorizationMessageCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetAccessKeyInfoCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetCallerIdentityCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetFederationTokenCommand\"), exports);\ntslib_1.__exportStar(require(\"./GetSessionTokenCommand\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0;\nconst defaultStsRoleAssumers_1 = require(\"./defaultStsRoleAssumers\");\nconst STSClient_1 = require(\"./STSClient\");\nconst getCustomizableStsClientCtor = (baseCtor, customizations) => {\n if (!customizations)\n return baseCtor;\n else\n return class CustomizableSTSClient extends baseCtor {\n constructor(config) {\n super(config);\n for (const customization of customizations) {\n this.middlewareStack.use(customization);\n }\n }\n };\n};\nconst getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumer)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins));\nexports.getDefaultRoleAssumer = getDefaultRoleAssumer;\nconst getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumerWithWebIdentity)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins));\nexports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity;\nconst decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: (0, exports.getDefaultRoleAssumer)(input),\n roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input),\n ...input,\n});\nexports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0;\nconst AssumeRoleCommand_1 = require(\"./commands/AssumeRoleCommand\");\nconst AssumeRoleWithWebIdentityCommand_1 = require(\"./commands/AssumeRoleWithWebIdentityCommand\");\nconst ASSUME_ROLE_DEFAULT_REGION = \"us-east-1\";\nconst decorateDefaultRegion = (region) => {\n if (typeof region !== \"function\") {\n return region === undefined ? ASSUME_ROLE_DEFAULT_REGION : region;\n }\n return async () => {\n try {\n return await region();\n }\n catch (e) {\n return ASSUME_ROLE_DEFAULT_REGION;\n }\n };\n};\nconst getDefaultRoleAssumer = (stsOptions, stsClientCtor) => {\n let stsClient;\n let closureSourceCreds;\n return async (sourceCreds, params) => {\n closureSourceCreds = sourceCreds;\n if (!stsClient) {\n const { logger, region, requestHandler } = stsOptions;\n stsClient = new stsClientCtor({\n logger,\n credentialDefaultProvider: () => async () => closureSourceCreds,\n region: decorateDefaultRegion(region || stsOptions.region),\n ...(requestHandler ? { requestHandler } : {}),\n });\n }\n const { Credentials } = await stsClient.send(new AssumeRoleCommand_1.AssumeRoleCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);\n }\n return {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n };\n };\n};\nexports.getDefaultRoleAssumer = getDefaultRoleAssumer;\nconst getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => {\n let stsClient;\n return async (params) => {\n if (!stsClient) {\n const { logger, region, requestHandler } = stsOptions;\n stsClient = new stsClientCtor({\n logger,\n region: decorateDefaultRegion(region || stsOptions.region),\n ...(requestHandler ? { requestHandler } : {}),\n });\n }\n const { Credentials } = await stsClient.send(new AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);\n }\n return {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n };\n };\n};\nexports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity;\nconst decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: (0, exports.getDefaultRoleAssumer)(input, input.stsClientCtor),\n roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input, input.stsClientCtor),\n ...input,\n});\nexports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveClientEndpointParameters = void 0;\nconst resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n defaultSigningName: \"sts\",\n };\n};\nexports.resolveClientEndpointParameters = resolveClientEndpointParameters;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst G = \"required\", H = \"type\", I = \"fn\", J = \"argv\", K = \"ref\", L = \"properties\", M = \"headers\";\nconst a = false, b = true, c = \"PartitionResult\", d = \"tree\", e = \"booleanEquals\", f = \"stringEquals\", g = \"sigv4\", h = \"us-east-1\", i = \"sts\", j = \"endpoint\", k = \"https://sts.{Region}.{PartitionResult#dnsSuffix}\", l = \"error\", m = \"getAttr\", n = { [G]: false, [H]: \"String\" }, o = { [G]: true, \"default\": false, [H]: \"Boolean\" }, p = { [K]: \"Region\" }, q = { [K]: \"UseFIPS\" }, r = { [K]: \"UseDualStack\" }, s = { [I]: \"isSet\", [J]: [{ [K]: \"Endpoint\" }] }, t = { [K]: \"Endpoint\" }, u = { \"url\": \"https://sts.amazonaws.com\", [L]: { \"authSchemes\": [{ \"name\": g, \"signingRegion\": h, \"signingName\": i }] }, [M]: {} }, v = {}, w = { \"conditions\": [{ [I]: f, [J]: [p, \"aws-global\"] }], [j]: u, [H]: j }, x = { [I]: e, [J]: [q, true] }, y = { [I]: e, [J]: [r, true] }, z = { [I]: e, [J]: [true, { [I]: m, [J]: [{ [K]: c }, \"supportsFIPS\"] }] }, A = { [K]: c }, B = { [I]: e, [J]: [true, { [I]: m, [J]: [A, \"supportsDualStack\"] }] }, C = { \"url\": k, [L]: {}, [M]: {} }, D = [t], E = [x], F = [y];\nconst _data = { version: \"1.0\", parameters: { Region: n, UseDualStack: o, UseFIPS: o, Endpoint: n, UseGlobalEndpoint: o }, rules: [{ conditions: [{ [I]: \"aws.partition\", [J]: [p], assign: c }], [H]: d, rules: [{ conditions: [{ [I]: e, [J]: [{ [K]: \"UseGlobalEndpoint\" }, b] }, { [I]: e, [J]: [q, a] }, { [I]: e, [J]: [r, a] }, { [I]: \"not\", [J]: [s] }], [H]: d, rules: [{ conditions: [{ [I]: f, [J]: [p, \"ap-northeast-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"ap-south-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"ap-southeast-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"ap-southeast-2\"] }], endpoint: u, [H]: j }, w, { conditions: [{ [I]: f, [J]: [p, \"ca-central-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-central-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-north-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-west-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-west-2\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"eu-west-3\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"sa-east-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, h] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"us-east-2\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"us-west-1\"] }], endpoint: u, [H]: j }, { conditions: [{ [I]: f, [J]: [p, \"us-west-2\"] }], endpoint: u, [H]: j }, { endpoint: { url: k, [L]: { authSchemes: [{ name: g, signingRegion: \"{Region}\", signingName: i }] }, [M]: v }, [H]: j }] }, { conditions: [s, { [I]: \"parseURL\", [J]: D, assign: \"url\" }], [H]: d, rules: [{ conditions: E, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", [H]: l }, { [H]: d, rules: [{ conditions: F, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", [H]: l }, { endpoint: { url: t, [L]: v, [M]: v }, [H]: j }] }] }, { conditions: [x, y], [H]: d, rules: [{ conditions: [z, B], [H]: d, rules: [{ endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", [L]: v, [M]: v }, [H]: j }] }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", [H]: l }] }, { conditions: E, [H]: d, rules: [{ conditions: [z], [H]: d, rules: [{ [H]: d, rules: [{ conditions: [{ [I]: f, [J]: [\"aws-us-gov\", { [I]: m, [J]: [A, \"name\"] }] }], endpoint: C, [H]: j }, { endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dnsSuffix}\", [L]: v, [M]: v }, [H]: j }] }] }, { error: \"FIPS is enabled but this partition does not support FIPS\", [H]: l }] }, { conditions: F, [H]: d, rules: [{ conditions: [B], [H]: d, rules: [{ endpoint: { url: \"https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}\", [L]: v, [M]: v }, [H]: j }] }, { error: \"DualStack is enabled but this partition does not support DualStack\", [H]: l }] }, { [H]: d, rules: [w, { endpoint: C, [H]: j }] }] }] };\nexports.ruleSet = _data;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STSServiceException = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./STS\"), exports);\ntslib_1.__exportStar(require(\"./STSClient\"), exports);\ntslib_1.__exportStar(require(\"./commands\"), exports);\ntslib_1.__exportStar(require(\"./defaultRoleAssumers\"), exports);\ntslib_1.__exportStar(require(\"./models\"), exports);\nvar STSServiceException_1 = require(\"./models/STSServiceException\");\nObject.defineProperty(exports, \"STSServiceException\", { enumerable: true, get: function () { return STSServiceException_1.STSServiceException; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STSServiceException = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nclass STSServiceException extends smithy_client_1.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, STSServiceException.prototype);\n }\n}\nexports.STSServiceException = STSServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./models_0\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetSessionTokenResponseFilterSensitiveLog = exports.GetSessionTokenRequestFilterSensitiveLog = exports.GetFederationTokenResponseFilterSensitiveLog = exports.FederatedUserFilterSensitiveLog = exports.GetFederationTokenRequestFilterSensitiveLog = exports.GetCallerIdentityResponseFilterSensitiveLog = exports.GetCallerIdentityRequestFilterSensitiveLog = exports.GetAccessKeyInfoResponseFilterSensitiveLog = exports.GetAccessKeyInfoRequestFilterSensitiveLog = exports.DecodeAuthorizationMessageResponseFilterSensitiveLog = exports.DecodeAuthorizationMessageRequestFilterSensitiveLog = exports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = exports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = exports.AssumeRoleWithSAMLResponseFilterSensitiveLog = exports.AssumeRoleWithSAMLRequestFilterSensitiveLog = exports.AssumeRoleResponseFilterSensitiveLog = exports.CredentialsFilterSensitiveLog = exports.AssumeRoleRequestFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.PolicyDescriptorTypeFilterSensitiveLog = exports.AssumedRoleUserFilterSensitiveLog = exports.InvalidAuthorizationMessageException = exports.IDPCommunicationErrorException = exports.InvalidIdentityTokenException = exports.IDPRejectedClaimException = exports.RegionDisabledException = exports.PackedPolicyTooLargeException = exports.MalformedPolicyDocumentException = exports.ExpiredTokenException = void 0;\nconst STSServiceException_1 = require(\"./STSServiceException\");\nclass ExpiredTokenException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ExpiredTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n }\n}\nexports.ExpiredTokenException = ExpiredTokenException;\nclass MalformedPolicyDocumentException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"MalformedPolicyDocumentException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"MalformedPolicyDocumentException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);\n }\n}\nexports.MalformedPolicyDocumentException = MalformedPolicyDocumentException;\nclass PackedPolicyTooLargeException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"PackedPolicyTooLargeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"PackedPolicyTooLargeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, PackedPolicyTooLargeException.prototype);\n }\n}\nexports.PackedPolicyTooLargeException = PackedPolicyTooLargeException;\nclass RegionDisabledException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"RegionDisabledException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"RegionDisabledException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, RegionDisabledException.prototype);\n }\n}\nexports.RegionDisabledException = RegionDisabledException;\nclass IDPRejectedClaimException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"IDPRejectedClaimException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"IDPRejectedClaimException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, IDPRejectedClaimException.prototype);\n }\n}\nexports.IDPRejectedClaimException = IDPRejectedClaimException;\nclass InvalidIdentityTokenException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"InvalidIdentityTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidIdentityTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidIdentityTokenException.prototype);\n }\n}\nexports.InvalidIdentityTokenException = InvalidIdentityTokenException;\nclass IDPCommunicationErrorException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"IDPCommunicationErrorException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"IDPCommunicationErrorException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, IDPCommunicationErrorException.prototype);\n }\n}\nexports.IDPCommunicationErrorException = IDPCommunicationErrorException;\nclass InvalidAuthorizationMessageException extends STSServiceException_1.STSServiceException {\n constructor(opts) {\n super({\n name: \"InvalidAuthorizationMessageException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidAuthorizationMessageException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidAuthorizationMessageException.prototype);\n }\n}\nexports.InvalidAuthorizationMessageException = InvalidAuthorizationMessageException;\nconst AssumedRoleUserFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumedRoleUserFilterSensitiveLog = AssumedRoleUserFilterSensitiveLog;\nconst PolicyDescriptorTypeFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.PolicyDescriptorTypeFilterSensitiveLog = PolicyDescriptorTypeFilterSensitiveLog;\nconst TagFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.TagFilterSensitiveLog = TagFilterSensitiveLog;\nconst AssumeRoleRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleRequestFilterSensitiveLog = AssumeRoleRequestFilterSensitiveLog;\nconst CredentialsFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.CredentialsFilterSensitiveLog = CredentialsFilterSensitiveLog;\nconst AssumeRoleResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleResponseFilterSensitiveLog = AssumeRoleResponseFilterSensitiveLog;\nconst AssumeRoleWithSAMLRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleWithSAMLRequestFilterSensitiveLog = AssumeRoleWithSAMLRequestFilterSensitiveLog;\nconst AssumeRoleWithSAMLResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleWithSAMLResponseFilterSensitiveLog = AssumeRoleWithSAMLResponseFilterSensitiveLog;\nconst AssumeRoleWithWebIdentityRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = AssumeRoleWithWebIdentityRequestFilterSensitiveLog;\nconst AssumeRoleWithWebIdentityResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = AssumeRoleWithWebIdentityResponseFilterSensitiveLog;\nconst DecodeAuthorizationMessageRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DecodeAuthorizationMessageRequestFilterSensitiveLog = DecodeAuthorizationMessageRequestFilterSensitiveLog;\nconst DecodeAuthorizationMessageResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.DecodeAuthorizationMessageResponseFilterSensitiveLog = DecodeAuthorizationMessageResponseFilterSensitiveLog;\nconst GetAccessKeyInfoRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetAccessKeyInfoRequestFilterSensitiveLog = GetAccessKeyInfoRequestFilterSensitiveLog;\nconst GetAccessKeyInfoResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetAccessKeyInfoResponseFilterSensitiveLog = GetAccessKeyInfoResponseFilterSensitiveLog;\nconst GetCallerIdentityRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetCallerIdentityRequestFilterSensitiveLog = GetCallerIdentityRequestFilterSensitiveLog;\nconst GetCallerIdentityResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetCallerIdentityResponseFilterSensitiveLog = GetCallerIdentityResponseFilterSensitiveLog;\nconst GetFederationTokenRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetFederationTokenRequestFilterSensitiveLog = GetFederationTokenRequestFilterSensitiveLog;\nconst FederatedUserFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.FederatedUserFilterSensitiveLog = FederatedUserFilterSensitiveLog;\nconst GetFederationTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetFederationTokenResponseFilterSensitiveLog = GetFederationTokenResponseFilterSensitiveLog;\nconst GetSessionTokenRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetSessionTokenRequestFilterSensitiveLog = GetSessionTokenRequestFilterSensitiveLog;\nconst GetSessionTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n});\nexports.GetSessionTokenResponseFilterSensitiveLog = GetSessionTokenResponseFilterSensitiveLog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserializeAws_queryGetSessionTokenCommand = exports.deserializeAws_queryGetFederationTokenCommand = exports.deserializeAws_queryGetCallerIdentityCommand = exports.deserializeAws_queryGetAccessKeyInfoCommand = exports.deserializeAws_queryDecodeAuthorizationMessageCommand = exports.deserializeAws_queryAssumeRoleWithWebIdentityCommand = exports.deserializeAws_queryAssumeRoleWithSAMLCommand = exports.deserializeAws_queryAssumeRoleCommand = exports.serializeAws_queryGetSessionTokenCommand = exports.serializeAws_queryGetFederationTokenCommand = exports.serializeAws_queryGetCallerIdentityCommand = exports.serializeAws_queryGetAccessKeyInfoCommand = exports.serializeAws_queryDecodeAuthorizationMessageCommand = exports.serializeAws_queryAssumeRoleWithWebIdentityCommand = exports.serializeAws_queryAssumeRoleWithSAMLCommand = exports.serializeAws_queryAssumeRoleCommand = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst fast_xml_parser_1 = require(\"fast-xml-parser\");\nconst models_0_1 = require(\"../models/models_0\");\nconst STSServiceException_1 = require(\"../models/STSServiceException\");\nconst serializeAws_queryAssumeRoleCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryAssumeRoleRequest(input, context),\n Action: \"AssumeRole\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryAssumeRoleCommand = serializeAws_queryAssumeRoleCommand;\nconst serializeAws_queryAssumeRoleWithSAMLCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryAssumeRoleWithSAMLRequest(input, context),\n Action: \"AssumeRoleWithSAML\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryAssumeRoleWithSAMLCommand = serializeAws_queryAssumeRoleWithSAMLCommand;\nconst serializeAws_queryAssumeRoleWithWebIdentityCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryAssumeRoleWithWebIdentityRequest(input, context),\n Action: \"AssumeRoleWithWebIdentity\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryAssumeRoleWithWebIdentityCommand = serializeAws_queryAssumeRoleWithWebIdentityCommand;\nconst serializeAws_queryDecodeAuthorizationMessageCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryDecodeAuthorizationMessageRequest(input, context),\n Action: \"DecodeAuthorizationMessage\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryDecodeAuthorizationMessageCommand = serializeAws_queryDecodeAuthorizationMessageCommand;\nconst serializeAws_queryGetAccessKeyInfoCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryGetAccessKeyInfoRequest(input, context),\n Action: \"GetAccessKeyInfo\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryGetAccessKeyInfoCommand = serializeAws_queryGetAccessKeyInfoCommand;\nconst serializeAws_queryGetCallerIdentityCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryGetCallerIdentityRequest(input, context),\n Action: \"GetCallerIdentity\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryGetCallerIdentityCommand = serializeAws_queryGetCallerIdentityCommand;\nconst serializeAws_queryGetFederationTokenCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryGetFederationTokenRequest(input, context),\n Action: \"GetFederationToken\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryGetFederationTokenCommand = serializeAws_queryGetFederationTokenCommand;\nconst serializeAws_queryGetSessionTokenCommand = async (input, context) => {\n const headers = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n };\n let body;\n body = buildFormUrlencodedString({\n ...serializeAws_queryGetSessionTokenRequest(input, context),\n Action: \"GetSessionToken\",\n Version: \"2011-06-15\",\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexports.serializeAws_queryGetSessionTokenCommand = serializeAws_queryGetSessionTokenCommand;\nconst deserializeAws_queryAssumeRoleCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryAssumeRoleCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryAssumeRoleResponse(data.AssumeRoleResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryAssumeRoleCommand = deserializeAws_queryAssumeRoleCommand;\nconst deserializeAws_queryAssumeRoleCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExpiredTokenException\":\n case \"com.amazonaws.sts#ExpiredTokenException\":\n throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context);\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryAssumeRoleWithSAMLCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryAssumeRoleWithSAMLCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryAssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryAssumeRoleWithSAMLCommand = deserializeAws_queryAssumeRoleWithSAMLCommand;\nconst deserializeAws_queryAssumeRoleWithSAMLCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExpiredTokenException\":\n case \"com.amazonaws.sts#ExpiredTokenException\":\n throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context);\n case \"IDPRejectedClaim\":\n case \"com.amazonaws.sts#IDPRejectedClaimException\":\n throw await deserializeAws_queryIDPRejectedClaimExceptionResponse(parsedOutput, context);\n case \"InvalidIdentityToken\":\n case \"com.amazonaws.sts#InvalidIdentityTokenException\":\n throw await deserializeAws_queryInvalidIdentityTokenExceptionResponse(parsedOutput, context);\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryAssumeRoleWithWebIdentityCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryAssumeRoleWithWebIdentityCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryAssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryAssumeRoleWithWebIdentityCommand = deserializeAws_queryAssumeRoleWithWebIdentityCommand;\nconst deserializeAws_queryAssumeRoleWithWebIdentityCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExpiredTokenException\":\n case \"com.amazonaws.sts#ExpiredTokenException\":\n throw await deserializeAws_queryExpiredTokenExceptionResponse(parsedOutput, context);\n case \"IDPCommunicationError\":\n case \"com.amazonaws.sts#IDPCommunicationErrorException\":\n throw await deserializeAws_queryIDPCommunicationErrorExceptionResponse(parsedOutput, context);\n case \"IDPRejectedClaim\":\n case \"com.amazonaws.sts#IDPRejectedClaimException\":\n throw await deserializeAws_queryIDPRejectedClaimExceptionResponse(parsedOutput, context);\n case \"InvalidIdentityToken\":\n case \"com.amazonaws.sts#InvalidIdentityTokenException\":\n throw await deserializeAws_queryInvalidIdentityTokenExceptionResponse(parsedOutput, context);\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryDecodeAuthorizationMessageCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryDecodeAuthorizationMessageCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryDecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryDecodeAuthorizationMessageCommand = deserializeAws_queryDecodeAuthorizationMessageCommand;\nconst deserializeAws_queryDecodeAuthorizationMessageCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidAuthorizationMessageException\":\n case \"com.amazonaws.sts#InvalidAuthorizationMessageException\":\n throw await deserializeAws_queryInvalidAuthorizationMessageExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryGetAccessKeyInfoCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryGetAccessKeyInfoCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryGetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryGetAccessKeyInfoCommand = deserializeAws_queryGetAccessKeyInfoCommand;\nconst deserializeAws_queryGetAccessKeyInfoCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n};\nconst deserializeAws_queryGetCallerIdentityCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryGetCallerIdentityCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryGetCallerIdentityResponse(data.GetCallerIdentityResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryGetCallerIdentityCommand = deserializeAws_queryGetCallerIdentityCommand;\nconst deserializeAws_queryGetCallerIdentityCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n};\nconst deserializeAws_queryGetFederationTokenCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryGetFederationTokenCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryGetFederationTokenResponse(data.GetFederationTokenResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryGetFederationTokenCommand = deserializeAws_queryGetFederationTokenCommand;\nconst deserializeAws_queryGetFederationTokenCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await deserializeAws_queryMalformedPolicyDocumentExceptionResponse(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await deserializeAws_queryPackedPolicyTooLargeExceptionResponse(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryGetSessionTokenCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return deserializeAws_queryGetSessionTokenCommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = deserializeAws_queryGetSessionTokenResponse(data.GetSessionTokenResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\nexports.deserializeAws_queryGetSessionTokenCommand = deserializeAws_queryGetSessionTokenCommand;\nconst deserializeAws_queryGetSessionTokenCommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await deserializeAws_queryRegionDisabledExceptionResponse(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n (0, smithy_client_1.throwDefaultError)({\n output,\n parsedBody: parsedBody.Error,\n exceptionCtor: STSServiceException_1.STSServiceException,\n errorCode,\n });\n }\n};\nconst deserializeAws_queryExpiredTokenExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryExpiredTokenException(body.Error, context);\n const exception = new models_0_1.ExpiredTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryIDPCommunicationErrorExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryIDPCommunicationErrorException(body.Error, context);\n const exception = new models_0_1.IDPCommunicationErrorException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryIDPRejectedClaimExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryIDPRejectedClaimException(body.Error, context);\n const exception = new models_0_1.IDPRejectedClaimException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryInvalidAuthorizationMessageExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryInvalidAuthorizationMessageException(body.Error, context);\n const exception = new models_0_1.InvalidAuthorizationMessageException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryInvalidIdentityTokenExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryInvalidIdentityTokenException(body.Error, context);\n const exception = new models_0_1.InvalidIdentityTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryMalformedPolicyDocumentExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryMalformedPolicyDocumentException(body.Error, context);\n const exception = new models_0_1.MalformedPolicyDocumentException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryPackedPolicyTooLargeExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryPackedPolicyTooLargeException(body.Error, context);\n const exception = new models_0_1.PackedPolicyTooLargeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst deserializeAws_queryRegionDisabledExceptionResponse = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = deserializeAws_queryRegionDisabledException(body.Error, context);\n const exception = new models_0_1.RegionDisabledException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return (0, smithy_client_1.decorateServiceException)(exception, body);\n};\nconst serializeAws_queryAssumeRoleRequest = (input, context) => {\n const entries = {};\n if (input.RoleArn != null) {\n entries[\"RoleArn\"] = input.RoleArn;\n }\n if (input.RoleSessionName != null) {\n entries[\"RoleSessionName\"] = input.RoleSessionName;\n }\n if (input.PolicyArns != null) {\n const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context);\n if (input.PolicyArns?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input.Policy != null) {\n entries[\"Policy\"] = input.Policy;\n }\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n if (input.Tags != null) {\n const memberEntries = serializeAws_querytagListType(input.Tags, context);\n if (input.Tags?.length === 0) {\n entries.Tags = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `Tags.${key}`;\n entries[loc] = value;\n });\n }\n if (input.TransitiveTagKeys != null) {\n const memberEntries = serializeAws_querytagKeyListType(input.TransitiveTagKeys, context);\n if (input.TransitiveTagKeys?.length === 0) {\n entries.TransitiveTagKeys = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `TransitiveTagKeys.${key}`;\n entries[loc] = value;\n });\n }\n if (input.ExternalId != null) {\n entries[\"ExternalId\"] = input.ExternalId;\n }\n if (input.SerialNumber != null) {\n entries[\"SerialNumber\"] = input.SerialNumber;\n }\n if (input.TokenCode != null) {\n entries[\"TokenCode\"] = input.TokenCode;\n }\n if (input.SourceIdentity != null) {\n entries[\"SourceIdentity\"] = input.SourceIdentity;\n }\n return entries;\n};\nconst serializeAws_queryAssumeRoleWithSAMLRequest = (input, context) => {\n const entries = {};\n if (input.RoleArn != null) {\n entries[\"RoleArn\"] = input.RoleArn;\n }\n if (input.PrincipalArn != null) {\n entries[\"PrincipalArn\"] = input.PrincipalArn;\n }\n if (input.SAMLAssertion != null) {\n entries[\"SAMLAssertion\"] = input.SAMLAssertion;\n }\n if (input.PolicyArns != null) {\n const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context);\n if (input.PolicyArns?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input.Policy != null) {\n entries[\"Policy\"] = input.Policy;\n }\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n return entries;\n};\nconst serializeAws_queryAssumeRoleWithWebIdentityRequest = (input, context) => {\n const entries = {};\n if (input.RoleArn != null) {\n entries[\"RoleArn\"] = input.RoleArn;\n }\n if (input.RoleSessionName != null) {\n entries[\"RoleSessionName\"] = input.RoleSessionName;\n }\n if (input.WebIdentityToken != null) {\n entries[\"WebIdentityToken\"] = input.WebIdentityToken;\n }\n if (input.ProviderId != null) {\n entries[\"ProviderId\"] = input.ProviderId;\n }\n if (input.PolicyArns != null) {\n const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context);\n if (input.PolicyArns?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input.Policy != null) {\n entries[\"Policy\"] = input.Policy;\n }\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n return entries;\n};\nconst serializeAws_queryDecodeAuthorizationMessageRequest = (input, context) => {\n const entries = {};\n if (input.EncodedMessage != null) {\n entries[\"EncodedMessage\"] = input.EncodedMessage;\n }\n return entries;\n};\nconst serializeAws_queryGetAccessKeyInfoRequest = (input, context) => {\n const entries = {};\n if (input.AccessKeyId != null) {\n entries[\"AccessKeyId\"] = input.AccessKeyId;\n }\n return entries;\n};\nconst serializeAws_queryGetCallerIdentityRequest = (input, context) => {\n const entries = {};\n return entries;\n};\nconst serializeAws_queryGetFederationTokenRequest = (input, context) => {\n const entries = {};\n if (input.Name != null) {\n entries[\"Name\"] = input.Name;\n }\n if (input.Policy != null) {\n entries[\"Policy\"] = input.Policy;\n }\n if (input.PolicyArns != null) {\n const memberEntries = serializeAws_querypolicyDescriptorListType(input.PolicyArns, context);\n if (input.PolicyArns?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n if (input.Tags != null) {\n const memberEntries = serializeAws_querytagListType(input.Tags, context);\n if (input.Tags?.length === 0) {\n entries.Tags = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `Tags.${key}`;\n entries[loc] = value;\n });\n }\n return entries;\n};\nconst serializeAws_queryGetSessionTokenRequest = (input, context) => {\n const entries = {};\n if (input.DurationSeconds != null) {\n entries[\"DurationSeconds\"] = input.DurationSeconds;\n }\n if (input.SerialNumber != null) {\n entries[\"SerialNumber\"] = input.SerialNumber;\n }\n if (input.TokenCode != null) {\n entries[\"TokenCode\"] = input.TokenCode;\n }\n return entries;\n};\nconst serializeAws_querypolicyDescriptorListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = serializeAws_queryPolicyDescriptorType(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst serializeAws_queryPolicyDescriptorType = (input, context) => {\n const entries = {};\n if (input.arn != null) {\n entries[\"arn\"] = input.arn;\n }\n return entries;\n};\nconst serializeAws_queryTag = (input, context) => {\n const entries = {};\n if (input.Key != null) {\n entries[\"Key\"] = input.Key;\n }\n if (input.Value != null) {\n entries[\"Value\"] = input.Value;\n }\n return entries;\n};\nconst serializeAws_querytagKeyListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n entries[`member.${counter}`] = entry;\n counter++;\n }\n return entries;\n};\nconst serializeAws_querytagListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = serializeAws_queryTag(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst deserializeAws_queryAssumedRoleUser = (output, context) => {\n const contents = {\n AssumedRoleId: undefined,\n Arn: undefined,\n };\n if (output[\"AssumedRoleId\"] !== undefined) {\n contents.AssumedRoleId = (0, smithy_client_1.expectString)(output[\"AssumedRoleId\"]);\n }\n if (output[\"Arn\"] !== undefined) {\n contents.Arn = (0, smithy_client_1.expectString)(output[\"Arn\"]);\n }\n return contents;\n};\nconst deserializeAws_queryAssumeRoleResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n AssumedRoleUser: undefined,\n PackedPolicySize: undefined,\n SourceIdentity: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n if (output[\"AssumedRoleUser\"] !== undefined) {\n contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output[\"AssumedRoleUser\"], context);\n }\n if (output[\"PackedPolicySize\"] !== undefined) {\n contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output[\"PackedPolicySize\"]);\n }\n if (output[\"SourceIdentity\"] !== undefined) {\n contents.SourceIdentity = (0, smithy_client_1.expectString)(output[\"SourceIdentity\"]);\n }\n return contents;\n};\nconst deserializeAws_queryAssumeRoleWithSAMLResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n AssumedRoleUser: undefined,\n PackedPolicySize: undefined,\n Subject: undefined,\n SubjectType: undefined,\n Issuer: undefined,\n Audience: undefined,\n NameQualifier: undefined,\n SourceIdentity: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n if (output[\"AssumedRoleUser\"] !== undefined) {\n contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output[\"AssumedRoleUser\"], context);\n }\n if (output[\"PackedPolicySize\"] !== undefined) {\n contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output[\"PackedPolicySize\"]);\n }\n if (output[\"Subject\"] !== undefined) {\n contents.Subject = (0, smithy_client_1.expectString)(output[\"Subject\"]);\n }\n if (output[\"SubjectType\"] !== undefined) {\n contents.SubjectType = (0, smithy_client_1.expectString)(output[\"SubjectType\"]);\n }\n if (output[\"Issuer\"] !== undefined) {\n contents.Issuer = (0, smithy_client_1.expectString)(output[\"Issuer\"]);\n }\n if (output[\"Audience\"] !== undefined) {\n contents.Audience = (0, smithy_client_1.expectString)(output[\"Audience\"]);\n }\n if (output[\"NameQualifier\"] !== undefined) {\n contents.NameQualifier = (0, smithy_client_1.expectString)(output[\"NameQualifier\"]);\n }\n if (output[\"SourceIdentity\"] !== undefined) {\n contents.SourceIdentity = (0, smithy_client_1.expectString)(output[\"SourceIdentity\"]);\n }\n return contents;\n};\nconst deserializeAws_queryAssumeRoleWithWebIdentityResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n SubjectFromWebIdentityToken: undefined,\n AssumedRoleUser: undefined,\n PackedPolicySize: undefined,\n Provider: undefined,\n Audience: undefined,\n SourceIdentity: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n if (output[\"SubjectFromWebIdentityToken\"] !== undefined) {\n contents.SubjectFromWebIdentityToken = (0, smithy_client_1.expectString)(output[\"SubjectFromWebIdentityToken\"]);\n }\n if (output[\"AssumedRoleUser\"] !== undefined) {\n contents.AssumedRoleUser = deserializeAws_queryAssumedRoleUser(output[\"AssumedRoleUser\"], context);\n }\n if (output[\"PackedPolicySize\"] !== undefined) {\n contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output[\"PackedPolicySize\"]);\n }\n if (output[\"Provider\"] !== undefined) {\n contents.Provider = (0, smithy_client_1.expectString)(output[\"Provider\"]);\n }\n if (output[\"Audience\"] !== undefined) {\n contents.Audience = (0, smithy_client_1.expectString)(output[\"Audience\"]);\n }\n if (output[\"SourceIdentity\"] !== undefined) {\n contents.SourceIdentity = (0, smithy_client_1.expectString)(output[\"SourceIdentity\"]);\n }\n return contents;\n};\nconst deserializeAws_queryCredentials = (output, context) => {\n const contents = {\n AccessKeyId: undefined,\n SecretAccessKey: undefined,\n SessionToken: undefined,\n Expiration: undefined,\n };\n if (output[\"AccessKeyId\"] !== undefined) {\n contents.AccessKeyId = (0, smithy_client_1.expectString)(output[\"AccessKeyId\"]);\n }\n if (output[\"SecretAccessKey\"] !== undefined) {\n contents.SecretAccessKey = (0, smithy_client_1.expectString)(output[\"SecretAccessKey\"]);\n }\n if (output[\"SessionToken\"] !== undefined) {\n contents.SessionToken = (0, smithy_client_1.expectString)(output[\"SessionToken\"]);\n }\n if (output[\"Expiration\"] !== undefined) {\n contents.Expiration = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output[\"Expiration\"]));\n }\n return contents;\n};\nconst deserializeAws_queryDecodeAuthorizationMessageResponse = (output, context) => {\n const contents = {\n DecodedMessage: undefined,\n };\n if (output[\"DecodedMessage\"] !== undefined) {\n contents.DecodedMessage = (0, smithy_client_1.expectString)(output[\"DecodedMessage\"]);\n }\n return contents;\n};\nconst deserializeAws_queryExpiredTokenException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryFederatedUser = (output, context) => {\n const contents = {\n FederatedUserId: undefined,\n Arn: undefined,\n };\n if (output[\"FederatedUserId\"] !== undefined) {\n contents.FederatedUserId = (0, smithy_client_1.expectString)(output[\"FederatedUserId\"]);\n }\n if (output[\"Arn\"] !== undefined) {\n contents.Arn = (0, smithy_client_1.expectString)(output[\"Arn\"]);\n }\n return contents;\n};\nconst deserializeAws_queryGetAccessKeyInfoResponse = (output, context) => {\n const contents = {\n Account: undefined,\n };\n if (output[\"Account\"] !== undefined) {\n contents.Account = (0, smithy_client_1.expectString)(output[\"Account\"]);\n }\n return contents;\n};\nconst deserializeAws_queryGetCallerIdentityResponse = (output, context) => {\n const contents = {\n UserId: undefined,\n Account: undefined,\n Arn: undefined,\n };\n if (output[\"UserId\"] !== undefined) {\n contents.UserId = (0, smithy_client_1.expectString)(output[\"UserId\"]);\n }\n if (output[\"Account\"] !== undefined) {\n contents.Account = (0, smithy_client_1.expectString)(output[\"Account\"]);\n }\n if (output[\"Arn\"] !== undefined) {\n contents.Arn = (0, smithy_client_1.expectString)(output[\"Arn\"]);\n }\n return contents;\n};\nconst deserializeAws_queryGetFederationTokenResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n FederatedUser: undefined,\n PackedPolicySize: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n if (output[\"FederatedUser\"] !== undefined) {\n contents.FederatedUser = deserializeAws_queryFederatedUser(output[\"FederatedUser\"], context);\n }\n if (output[\"PackedPolicySize\"] !== undefined) {\n contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output[\"PackedPolicySize\"]);\n }\n return contents;\n};\nconst deserializeAws_queryGetSessionTokenResponse = (output, context) => {\n const contents = {\n Credentials: undefined,\n };\n if (output[\"Credentials\"] !== undefined) {\n contents.Credentials = deserializeAws_queryCredentials(output[\"Credentials\"], context);\n }\n return contents;\n};\nconst deserializeAws_queryIDPCommunicationErrorException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryIDPRejectedClaimException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryInvalidAuthorizationMessageException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryInvalidIdentityTokenException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryMalformedPolicyDocumentException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryPackedPolicyTooLargeException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeAws_queryRegionDisabledException = (output, context) => {\n const contents = {\n message: undefined,\n };\n if (output[\"message\"] !== undefined) {\n contents.message = (0, smithy_client_1.expectString)(output[\"message\"]);\n }\n return contents;\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const contents = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path: basePath.endsWith(\"/\") ? basePath.slice(0, -1) + path : basePath + path,\n headers,\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n }\n return new protocol_http_1.HttpRequest(contents);\n};\nconst parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parser = new fast_xml_parser_1.XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n const parsedObj = parser.parse(encoded);\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return (0, smithy_client_1.getValueFromTextNode)(parsedObjToReturn);\n }\n return {};\n});\nconst parseErrorBody = async (errorBody, context) => {\n const value = await parseBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nconst buildFormUrlencodedString = (formEntries) => Object.entries(formEntries)\n .map(([key, value]) => (0, smithy_client_1.extendedEncodeURIComponent)(key) + \"=\" + (0, smithy_client_1.extendedEncodeURIComponent)(value))\n .join(\"&\");\nconst loadQueryErrorCode = (output, data) => {\n if (data.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst defaultStsRoleAssumers_1 = require(\"./defaultStsRoleAssumers\");\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst credential_provider_node_1 = require(\"@aws-sdk/credential-provider-node\");\nconst hash_node_1 = require(\"@aws-sdk/hash-node\");\nconst middleware_retry_1 = require(\"@aws-sdk/middleware-retry\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_body_length_node_1 = require(\"@aws-sdk/util-body-length-node\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst util_defaults_mode_node_1 = require(\"@aws-sdk/util-defaults-mode-node\");\nconst smithy_client_2 = require(\"@aws-sdk/smithy-client\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, defaultStsRoleAssumers_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider),\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst smithy_client_1 = require(\"@aws-sdk/smithy-client\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst util_base64_1 = require(\"@aws-sdk/util-base64\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => ({\n apiVersion: \"2011-06-15\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n serviceId: config?.serviceId ?? \"STS\",\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n});\nexports.getRuntimeConfig = getRuntimeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_DUALSTACK_ENDPOINT = exports.CONFIG_USE_DUALSTACK_ENDPOINT = exports.ENV_USE_DUALSTACK_ENDPOINT = void 0;\nconst util_config_provider_1 = require(\"@aws-sdk/util-config-provider\");\nexports.ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexports.CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexports.DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.ENV),\n configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.CONFIG),\n default: false,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_FIPS_ENDPOINT = exports.CONFIG_USE_FIPS_ENDPOINT = exports.ENV_USE_FIPS_ENDPOINT = void 0;\nconst util_config_provider_1 = require(\"@aws-sdk/util-config-provider\");\nexports.ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexports.CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexports.DEFAULT_USE_FIPS_ENDPOINT = false;\nexports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.ENV),\n configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.CONFIG),\n default: false,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./NodeUseDualstackEndpointConfigOptions\"), exports);\ntslib_1.__exportStar(require(\"./NodeUseFipsEndpointConfigOptions\"), exports);\ntslib_1.__exportStar(require(\"./resolveCustomEndpointsConfig\"), exports);\ntslib_1.__exportStar(require(\"./resolveEndpointsConfig\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCustomEndpointsConfig = void 0;\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst resolveCustomEndpointsConfig = (input) => {\n var _a, _b;\n const { endpoint, urlParser } = input;\n return {\n ...input,\n tls: (_a = input.tls) !== null && _a !== void 0 ? _a : true,\n endpoint: (0, util_middleware_1.normalizeProvider)(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false),\n };\n};\nexports.resolveCustomEndpointsConfig = resolveCustomEndpointsConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveEndpointsConfig = void 0;\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst getEndpointFromRegion_1 = require(\"./utils/getEndpointFromRegion\");\nconst resolveEndpointsConfig = (input) => {\n var _a, _b;\n const useDualstackEndpoint = (0, util_middleware_1.normalizeProvider)((_a = input.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false);\n const { endpoint, useFipsEndpoint, urlParser } = input;\n return {\n ...input,\n tls: (_b = input.tls) !== null && _b !== void 0 ? _b : true,\n endpoint: endpoint\n ? (0, util_middleware_1.normalizeProvider)(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : () => (0, getEndpointFromRegion_1.getEndpointFromRegion)({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint,\n };\n};\nexports.resolveEndpointsConfig = resolveEndpointsConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointFromRegion = void 0;\nconst getEndpointFromRegion = async (input) => {\n var _a;\n const { tls = true } = input;\n const region = await input.region();\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n const useDualstackEndpoint = await input.useDualstackEndpoint();\n const useFipsEndpoint = await input.useFipsEndpoint();\n const { hostname } = (_a = (await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint }))) !== null && _a !== void 0 ? _a : {};\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n return input.urlParser(`${tls ? \"https:\" : \"http:\"}//${hostname}`);\n};\nexports.getEndpointFromRegion = getEndpointFromRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./endpointsConfig\"), exports);\ntslib_1.__exportStar(require(\"./regionConfig\"), exports);\ntslib_1.__exportStar(require(\"./regionInfo\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_REGION_CONFIG_FILE_OPTIONS = exports.NODE_REGION_CONFIG_OPTIONS = exports.REGION_INI_NAME = exports.REGION_ENV_NAME = void 0;\nexports.REGION_ENV_NAME = \"AWS_REGION\";\nexports.REGION_INI_NAME = \"region\";\nexports.NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[exports.REGION_ENV_NAME],\n configFileSelector: (profile) => profile[exports.REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\nexports.NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRealRegion = void 0;\nconst isFipsRegion_1 = require(\"./isFipsRegion\");\nconst getRealRegion = (region) => (0, isFipsRegion_1.isFipsRegion)(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\nexports.getRealRegion = getRealRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./config\"), exports);\ntslib_1.__exportStar(require(\"./resolveRegionConfig\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFipsRegion = void 0;\nconst isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\nexports.isFipsRegion = isFipsRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveRegionConfig = void 0;\nconst getRealRegion_1 = require(\"./getRealRegion\");\nconst isFipsRegion_1 = require(\"./isFipsRegion\");\nconst resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return {\n ...input,\n region: async () => {\n if (typeof region === \"string\") {\n return (0, getRealRegion_1.getRealRegion)(region);\n }\n const providedRegion = await region();\n return (0, getRealRegion_1.getRealRegion)(providedRegion);\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if ((0, isFipsRegion_1.isFipsRegion)(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n };\n};\nexports.resolveRegionConfig = resolveRegionConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHostnameFromVariants = void 0;\nconst getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => {\n var _a;\n return (_a = variants.find(({ tags }) => useFipsEndpoint === tags.includes(\"fips\") && useDualstackEndpoint === tags.includes(\"dualstack\"))) === null || _a === void 0 ? void 0 : _a.hostname;\n};\nexports.getHostnameFromVariants = getHostnameFromVariants;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRegionInfo = void 0;\nconst getHostnameFromVariants_1 = require(\"./getHostnameFromVariants\");\nconst getResolvedHostname_1 = require(\"./getResolvedHostname\");\nconst getResolvedPartition_1 = require(\"./getResolvedPartition\");\nconst getResolvedSigningRegion_1 = require(\"./getResolvedSigningRegion\");\nconst getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {\n var _a, _b, _c, _d, _e, _f;\n const partition = (0, getResolvedPartition_1.getResolvedPartition)(region, { partitionHash });\n const resolvedRegion = region in regionHash ? region : (_b = (_a = partitionHash[partition]) === null || _a === void 0 ? void 0 : _a.endpoint) !== null && _b !== void 0 ? _b : region;\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\n const regionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_c = regionHash[resolvedRegion]) === null || _c === void 0 ? void 0 : _c.variants, hostnameOptions);\n const partitionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_d = partitionHash[partition]) === null || _d === void 0 ? void 0 : _d.variants, hostnameOptions);\n const hostname = (0, getResolvedHostname_1.getResolvedHostname)(resolvedRegion, { regionHostname, partitionHostname });\n if (hostname === undefined) {\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\n }\n const signingRegion = (0, getResolvedSigningRegion_1.getResolvedSigningRegion)(hostname, {\n signingRegion: (_e = regionHash[resolvedRegion]) === null || _e === void 0 ? void 0 : _e.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint,\n });\n return {\n partition,\n signingService,\n hostname,\n ...(signingRegion && { signingRegion }),\n ...(((_f = regionHash[resolvedRegion]) === null || _f === void 0 ? void 0 : _f.signingService) && {\n signingService: regionHash[resolvedRegion].signingService,\n }),\n };\n};\nexports.getRegionInfo = getRegionInfo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getResolvedHostname = void 0;\nconst getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname\n ? regionHostname\n : partitionHostname\n ? partitionHostname.replace(\"{region}\", resolvedRegion)\n : undefined;\nexports.getResolvedHostname = getResolvedHostname;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getResolvedPartition = void 0;\nconst getResolvedPartition = (region, { partitionHash }) => { var _a; return (_a = Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region))) !== null && _a !== void 0 ? _a : \"aws\"; };\nexports.getResolvedPartition = getResolvedPartition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getResolvedSigningRegion = void 0;\nconst getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {\n if (signingRegion) {\n return signingRegion;\n }\n else if (useFipsEndpoint) {\n const regionRegexJs = regionRegex.replace(\"\\\\\\\\\", \"\\\\\").replace(/^\\^/g, \"\\\\.\").replace(/\\$$/g, \"\\\\.\");\n const regionRegexmatchArray = hostname.match(regionRegexJs);\n if (regionRegexmatchArray) {\n return regionRegexmatchArray[0].slice(1, -1);\n }\n }\n};\nexports.getResolvedSigningRegion = getResolvedSigningRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./PartitionHash\"), exports);\ntslib_1.__exportStar(require(\"./RegionHash\"), exports);\ntslib_1.__exportStar(require(\"./getRegionInfo\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromEnv = exports.ENV_EXPIRATION = exports.ENV_SESSION = exports.ENV_SECRET = exports.ENV_KEY = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nexports.ENV_KEY = \"AWS_ACCESS_KEY_ID\";\nexports.ENV_SECRET = \"AWS_SECRET_ACCESS_KEY\";\nexports.ENV_SESSION = \"AWS_SESSION_TOKEN\";\nexports.ENV_EXPIRATION = \"AWS_CREDENTIAL_EXPIRATION\";\nconst fromEnv = () => async () => {\n const accessKeyId = process.env[exports.ENV_KEY];\n const secretAccessKey = process.env[exports.ENV_SECRET];\n const sessionToken = process.env[exports.ENV_SESSION];\n const expiry = process.env[exports.ENV_EXPIRATION];\n if (accessKeyId && secretAccessKey) {\n return {\n accessKeyId,\n secretAccessKey,\n ...(sessionToken && { sessionToken }),\n ...(expiry && { expiration: new Date(expiry) }),\n };\n }\n throw new property_provider_1.CredentialsProviderError(\"Unable to find environment variable credentials.\");\n};\nexports.fromEnv = fromEnv;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromEnv\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Endpoint = void 0;\nvar Endpoint;\n(function (Endpoint) {\n Endpoint[\"IPv4\"] = \"http://169.254.169.254\";\n Endpoint[\"IPv6\"] = \"http://[fd00:ec2::254]\";\n})(Endpoint = exports.Endpoint || (exports.Endpoint = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ENDPOINT_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_NAME = exports.ENV_ENDPOINT_NAME = void 0;\nexports.ENV_ENDPOINT_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT\";\nexports.CONFIG_ENDPOINT_NAME = \"ec2_metadata_service_endpoint\";\nexports.ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_NAME],\n configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_NAME],\n default: undefined,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointMode = void 0;\nvar EndpointMode;\n(function (EndpointMode) {\n EndpointMode[\"IPv4\"] = \"IPv4\";\n EndpointMode[\"IPv6\"] = \"IPv6\";\n})(EndpointMode = exports.EndpointMode || (exports.EndpointMode = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ENDPOINT_MODE_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_MODE_NAME = exports.ENV_ENDPOINT_MODE_NAME = void 0;\nconst EndpointMode_1 = require(\"./EndpointMode\");\nexports.ENV_ENDPOINT_MODE_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE\";\nexports.CONFIG_ENDPOINT_MODE_NAME = \"ec2_metadata_service_endpoint_mode\";\nexports.ENDPOINT_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_MODE_NAME],\n configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_MODE_NAME],\n default: EndpointMode_1.EndpointMode.IPv4,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromContainerMetadata = exports.ENV_CMDS_AUTH_TOKEN = exports.ENV_CMDS_RELATIVE_URI = exports.ENV_CMDS_FULL_URI = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst url_1 = require(\"url\");\nconst httpRequest_1 = require(\"./remoteProvider/httpRequest\");\nconst ImdsCredentials_1 = require(\"./remoteProvider/ImdsCredentials\");\nconst RemoteProviderInit_1 = require(\"./remoteProvider/RemoteProviderInit\");\nconst retry_1 = require(\"./remoteProvider/retry\");\nexports.ENV_CMDS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nexports.ENV_CMDS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nexports.ENV_CMDS_AUTH_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nconst fromContainerMetadata = (init = {}) => {\n const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init);\n return () => (0, retry_1.retry)(async () => {\n const requestOptions = await getCmdsUri();\n const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));\n if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) {\n throw new property_provider_1.CredentialsProviderError(\"Invalid response received from instance metadata service.\");\n }\n return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse);\n }, maxRetries);\n};\nexports.fromContainerMetadata = fromContainerMetadata;\nconst requestFromEcsImds = async (timeout, options) => {\n if (process.env[exports.ENV_CMDS_AUTH_TOKEN]) {\n options.headers = {\n ...options.headers,\n Authorization: process.env[exports.ENV_CMDS_AUTH_TOKEN],\n };\n }\n const buffer = await (0, httpRequest_1.httpRequest)({\n ...options,\n timeout,\n });\n return buffer.toString();\n};\nconst CMDS_IP = \"169.254.170.2\";\nconst GREENGRASS_HOSTS = {\n localhost: true,\n \"127.0.0.1\": true,\n};\nconst GREENGRASS_PROTOCOLS = {\n \"http:\": true,\n \"https:\": true,\n};\nconst getCmdsUri = async () => {\n if (process.env[exports.ENV_CMDS_RELATIVE_URI]) {\n return {\n hostname: CMDS_IP,\n path: process.env[exports.ENV_CMDS_RELATIVE_URI],\n };\n }\n if (process.env[exports.ENV_CMDS_FULL_URI]) {\n const parsed = (0, url_1.parse)(process.env[exports.ENV_CMDS_FULL_URI]);\n if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {\n throw new property_provider_1.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false);\n }\n if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {\n throw new property_provider_1.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false);\n }\n return {\n ...parsed,\n port: parsed.port ? parseInt(parsed.port, 10) : undefined,\n };\n }\n throw new property_provider_1.CredentialsProviderError(\"The container metadata credential provider cannot be used unless\" +\n ` the ${exports.ENV_CMDS_RELATIVE_URI} or ${exports.ENV_CMDS_FULL_URI} environment` +\n \" variable is set\", false);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromInstanceMetadata = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst httpRequest_1 = require(\"./remoteProvider/httpRequest\");\nconst ImdsCredentials_1 = require(\"./remoteProvider/ImdsCredentials\");\nconst RemoteProviderInit_1 = require(\"./remoteProvider/RemoteProviderInit\");\nconst retry_1 = require(\"./remoteProvider/retry\");\nconst getInstanceMetadataEndpoint_1 = require(\"./utils/getInstanceMetadataEndpoint\");\nconst staticStabilityProvider_1 = require(\"./utils/staticStabilityProvider\");\nconst IMDS_PATH = \"/latest/meta-data/iam/security-credentials/\";\nconst IMDS_TOKEN_PATH = \"/latest/api/token\";\nconst fromInstanceMetadata = (init = {}) => (0, staticStabilityProvider_1.staticStabilityProvider)(getInstanceImdsProvider(init), { logger: init.logger });\nexports.fromInstanceMetadata = fromInstanceMetadata;\nconst getInstanceImdsProvider = (init) => {\n let disableFetchToken = false;\n const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init);\n const getCredentials = async (maxRetries, options) => {\n const profile = (await (0, retry_1.retry)(async () => {\n let profile;\n try {\n profile = await getProfile(options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return profile;\n }, maxRetries)).trim();\n return (0, retry_1.retry)(async () => {\n let creds;\n try {\n creds = await getCredentialsFromProfile(profile, options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return creds;\n }, maxRetries);\n };\n return async () => {\n const endpoint = await (0, getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint)();\n if (disableFetchToken) {\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n else {\n let token;\n try {\n token = (await getMetadataToken({ ...endpoint, timeout })).toString();\n }\n catch (error) {\n if ((error === null || error === void 0 ? void 0 : error.statusCode) === 400) {\n throw Object.assign(error, {\n message: \"EC2 Metadata token request returned error\",\n });\n }\n else if (error.message === \"TimeoutError\" || [403, 404, 405].includes(error.statusCode)) {\n disableFetchToken = true;\n }\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n return getCredentials(maxRetries, {\n ...endpoint,\n headers: {\n \"x-aws-ec2-metadata-token\": token,\n },\n timeout,\n });\n }\n };\n};\nconst getMetadataToken = async (options) => (0, httpRequest_1.httpRequest)({\n ...options,\n path: IMDS_TOKEN_PATH,\n method: \"PUT\",\n headers: {\n \"x-aws-ec2-metadata-token-ttl-seconds\": \"21600\",\n },\n});\nconst getProfile = async (options) => (await (0, httpRequest_1.httpRequest)({ ...options, path: IMDS_PATH })).toString();\nconst getCredentialsFromProfile = async (profile, options) => {\n const credsResponse = JSON.parse((await (0, httpRequest_1.httpRequest)({\n ...options,\n path: IMDS_PATH + profile,\n })).toString());\n if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) {\n throw new property_provider_1.CredentialsProviderError(\"Invalid response received from instance metadata service.\");\n }\n return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInstanceMetadataEndpoint = exports.httpRequest = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromContainerMetadata\"), exports);\ntslib_1.__exportStar(require(\"./fromInstanceMetadata\"), exports);\ntslib_1.__exportStar(require(\"./remoteProvider/RemoteProviderInit\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\nvar httpRequest_1 = require(\"./remoteProvider/httpRequest\");\nObject.defineProperty(exports, \"httpRequest\", { enumerable: true, get: function () { return httpRequest_1.httpRequest; } });\nvar getInstanceMetadataEndpoint_1 = require(\"./utils/getInstanceMetadataEndpoint\");\nObject.defineProperty(exports, \"getInstanceMetadataEndpoint\", { enumerable: true, get: function () { return getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromImdsCredentials = exports.isImdsCredentials = void 0;\nconst isImdsCredentials = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.AccessKeyId === \"string\" &&\n typeof arg.SecretAccessKey === \"string\" &&\n typeof arg.Token === \"string\" &&\n typeof arg.Expiration === \"string\";\nexports.isImdsCredentials = isImdsCredentials;\nconst fromImdsCredentials = (creds) => ({\n accessKeyId: creds.AccessKeyId,\n secretAccessKey: creds.SecretAccessKey,\n sessionToken: creds.Token,\n expiration: new Date(creds.Expiration),\n});\nexports.fromImdsCredentials = fromImdsCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.providerConfigFromInit = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT = void 0;\nexports.DEFAULT_TIMEOUT = 1000;\nexports.DEFAULT_MAX_RETRIES = 0;\nconst providerConfigFromInit = ({ maxRetries = exports.DEFAULT_MAX_RETRIES, timeout = exports.DEFAULT_TIMEOUT, }) => ({ maxRetries, timeout });\nexports.providerConfigFromInit = providerConfigFromInit;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.httpRequest = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst buffer_1 = require(\"buffer\");\nconst http_1 = require(\"http\");\nfunction httpRequest(options) {\n return new Promise((resolve, reject) => {\n var _a;\n const req = (0, http_1.request)({\n method: \"GET\",\n ...options,\n hostname: (_a = options.hostname) === null || _a === void 0 ? void 0 : _a.replace(/^\\[(.+)\\]$/, \"$1\"),\n });\n req.on(\"error\", (err) => {\n reject(Object.assign(new property_provider_1.ProviderError(\"Unable to connect to instance metadata service\"), err));\n req.destroy();\n });\n req.on(\"timeout\", () => {\n reject(new property_provider_1.ProviderError(\"TimeoutError from instance metadata service\"));\n req.destroy();\n });\n req.on(\"response\", (res) => {\n const { statusCode = 400 } = res;\n if (statusCode < 200 || 300 <= statusCode) {\n reject(Object.assign(new property_provider_1.ProviderError(\"Error response received from instance metadata service\"), { statusCode }));\n req.destroy();\n }\n const chunks = [];\n res.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n res.on(\"end\", () => {\n resolve(buffer_1.Buffer.concat(chunks));\n req.destroy();\n });\n });\n req.end();\n });\n}\nexports.httpRequest = httpRequest;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nconst retry = (toRetry, maxRetries) => {\n let promise = toRetry();\n for (let i = 0; i < maxRetries; i++) {\n promise = promise.catch(toRetry);\n }\n return promise;\n};\nexports.retry = retry;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getExtendedInstanceMetadataCredentials = void 0;\nconst STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;\nconst STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;\nconst STATIC_STABILITY_DOC_URL = \"https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html\";\nconst getExtendedInstanceMetadataCredentials = (credentials, logger) => {\n var _a;\n const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS +\n Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);\n const newExpiration = new Date(Date.now() + refreshInterval * 1000);\n logger.warn(\"Attempting credential expiration extension due to a credential service availability issue. A refresh of these \" +\n \"credentials will be attempted after ${new Date(newExpiration)}.\\nFor more information, please visit: \" +\n STATIC_STABILITY_DOC_URL);\n const originalExpiration = (_a = credentials.originalExpiration) !== null && _a !== void 0 ? _a : credentials.expiration;\n return {\n ...credentials,\n ...(originalExpiration ? { originalExpiration } : {}),\n expiration: newExpiration,\n };\n};\nexports.getExtendedInstanceMetadataCredentials = getExtendedInstanceMetadataCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInstanceMetadataEndpoint = void 0;\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst Endpoint_1 = require(\"../config/Endpoint\");\nconst EndpointConfigOptions_1 = require(\"../config/EndpointConfigOptions\");\nconst EndpointMode_1 = require(\"../config/EndpointMode\");\nconst EndpointModeConfigOptions_1 = require(\"../config/EndpointModeConfigOptions\");\nconst getInstanceMetadataEndpoint = async () => (0, url_parser_1.parseUrl)((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));\nexports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint;\nconst getFromEndpointConfig = async () => (0, node_config_provider_1.loadConfig)(EndpointConfigOptions_1.ENDPOINT_CONFIG_OPTIONS)();\nconst getFromEndpointModeConfig = async () => {\n const endpointMode = await (0, node_config_provider_1.loadConfig)(EndpointModeConfigOptions_1.ENDPOINT_MODE_CONFIG_OPTIONS)();\n switch (endpointMode) {\n case EndpointMode_1.EndpointMode.IPv4:\n return Endpoint_1.Endpoint.IPv4;\n case EndpointMode_1.EndpointMode.IPv6:\n return Endpoint_1.Endpoint.IPv6;\n default:\n throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode_1.EndpointMode)}`);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.staticStabilityProvider = void 0;\nconst getExtendedInstanceMetadataCredentials_1 = require(\"./getExtendedInstanceMetadataCredentials\");\nconst staticStabilityProvider = (provider, options = {}) => {\n const logger = (options === null || options === void 0 ? void 0 : options.logger) || console;\n let pastCredentials;\n return async () => {\n let credentials;\n try {\n credentials = await provider();\n if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {\n credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(credentials, logger);\n }\n }\n catch (e) {\n if (pastCredentials) {\n logger.warn(\"Credential renew failed: \", e);\n credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(pastCredentials, logger);\n }\n else {\n throw e;\n }\n }\n pastCredentials = credentials;\n return credentials;\n };\n};\nexports.staticStabilityProvider = staticStabilityProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromIni = void 0;\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst resolveProfileData_1 = require(\"./resolveProfileData\");\nconst fromIni = (init = {}) => async () => {\n const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);\n return (0, resolveProfileData_1.resolveProfileData)((0, shared_ini_file_loader_1.getProfileName)(init), profiles, init);\n};\nexports.fromIni = fromIni;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromIni\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveAssumeRoleCredentials = exports.isAssumeRoleProfile = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst resolveCredentialSource_1 = require(\"./resolveCredentialSource\");\nconst resolveProfileData_1 = require(\"./resolveProfileData\");\nconst isAssumeRoleProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.external_id) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.mfa_serial) > -1 &&\n (isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg));\nexports.isAssumeRoleProfile = isAssumeRoleProfile;\nconst isAssumeRoleWithSourceProfile = (arg) => typeof arg.source_profile === \"string\" && typeof arg.credential_source === \"undefined\";\nconst isAssumeRoleWithProviderProfile = (arg) => typeof arg.credential_source === \"string\" && typeof arg.source_profile === \"undefined\";\nconst resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => {\n const data = profiles[profileName];\n if (!options.roleAssumer) {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires a role to be assumed, but no role assumption callback was provided.`, false);\n }\n const { source_profile } = data;\n if (source_profile && source_profile in visitedProfiles) {\n throw new property_provider_1.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +\n ` ${(0, shared_ini_file_loader_1.getProfileName)(options)}. Profiles visited: ` +\n Object.keys(visitedProfiles).join(\", \"), false);\n }\n const sourceCredsProvider = source_profile\n ? (0, resolveProfileData_1.resolveProfileData)(source_profile, profiles, options, {\n ...visitedProfiles,\n [source_profile]: true,\n })\n : (0, resolveCredentialSource_1.resolveCredentialSource)(data.credential_source, profileName)();\n const params = {\n RoleArn: data.role_arn,\n RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`,\n ExternalId: data.external_id,\n };\n const { mfa_serial } = data;\n if (mfa_serial) {\n if (!options.mfaCodeProvider) {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, false);\n }\n params.SerialNumber = mfa_serial;\n params.TokenCode = await options.mfaCodeProvider(mfa_serial);\n }\n const sourceCreds = await sourceCredsProvider;\n return options.roleAssumer(sourceCreds, params);\n};\nexports.resolveAssumeRoleCredentials = resolveAssumeRoleCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCredentialSource = void 0;\nconst credential_provider_env_1 = require(\"@aws-sdk/credential-provider-env\");\nconst credential_provider_imds_1 = require(\"@aws-sdk/credential-provider-imds\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst resolveCredentialSource = (credentialSource, profileName) => {\n const sourceProvidersMap = {\n EcsContainer: credential_provider_imds_1.fromContainerMetadata,\n Ec2InstanceMetadata: credential_provider_imds_1.fromInstanceMetadata,\n Environment: credential_provider_env_1.fromEnv,\n };\n if (credentialSource in sourceProvidersMap) {\n return sourceProvidersMap[credentialSource]();\n }\n else {\n throw new property_provider_1.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +\n `expected EcsContainer or Ec2InstanceMetadata or Environment.`);\n }\n};\nexports.resolveCredentialSource = resolveCredentialSource;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveProcessCredentials = exports.isProcessProfile = void 0;\nconst credential_provider_process_1 = require(\"@aws-sdk/credential-provider-process\");\nconst isProcessProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.credential_process === \"string\";\nexports.isProcessProfile = isProcessProfile;\nconst resolveProcessCredentials = async (options, profile) => (0, credential_provider_process_1.fromProcess)({\n ...options,\n profile,\n})();\nexports.resolveProcessCredentials = resolveProcessCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveProfileData = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst resolveAssumeRoleCredentials_1 = require(\"./resolveAssumeRoleCredentials\");\nconst resolveProcessCredentials_1 = require(\"./resolveProcessCredentials\");\nconst resolveSsoCredentials_1 = require(\"./resolveSsoCredentials\");\nconst resolveStaticCredentials_1 = require(\"./resolveStaticCredentials\");\nconst resolveWebIdentityCredentials_1 = require(\"./resolveWebIdentityCredentials\");\nconst resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => {\n const data = profiles[profileName];\n if (Object.keys(visitedProfiles).length > 0 && (0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) {\n return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data);\n }\n if ((0, resolveAssumeRoleCredentials_1.isAssumeRoleProfile)(data)) {\n return (0, resolveAssumeRoleCredentials_1.resolveAssumeRoleCredentials)(profileName, profiles, options, visitedProfiles);\n }\n if ((0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) {\n return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data);\n }\n if ((0, resolveWebIdentityCredentials_1.isWebIdentityProfile)(data)) {\n return (0, resolveWebIdentityCredentials_1.resolveWebIdentityCredentials)(data, options);\n }\n if ((0, resolveProcessCredentials_1.isProcessProfile)(data)) {\n return (0, resolveProcessCredentials_1.resolveProcessCredentials)(options, profileName);\n }\n if ((0, resolveSsoCredentials_1.isSsoProfile)(data)) {\n return (0, resolveSsoCredentials_1.resolveSsoCredentials)(data);\n }\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`);\n};\nexports.resolveProfileData = resolveProfileData;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveSsoCredentials = exports.isSsoProfile = void 0;\nconst credential_provider_sso_1 = require(\"@aws-sdk/credential-provider-sso\");\nvar credential_provider_sso_2 = require(\"@aws-sdk/credential-provider-sso\");\nObject.defineProperty(exports, \"isSsoProfile\", { enumerable: true, get: function () { return credential_provider_sso_2.isSsoProfile; } });\nconst resolveSsoCredentials = (data) => {\n const { sso_start_url, sso_account_id, sso_session, sso_region, sso_role_name } = (0, credential_provider_sso_1.validateSsoProfile)(data);\n return (0, credential_provider_sso_1.fromSSO)({\n ssoStartUrl: sso_start_url,\n ssoAccountId: sso_account_id,\n ssoSession: sso_session,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n })();\n};\nexports.resolveSsoCredentials = resolveSsoCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveStaticCredentials = exports.isStaticCredsProfile = void 0;\nconst isStaticCredsProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.aws_access_key_id === \"string\" &&\n typeof arg.aws_secret_access_key === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_session_token) > -1;\nexports.isStaticCredsProfile = isStaticCredsProfile;\nconst resolveStaticCredentials = (profile) => Promise.resolve({\n accessKeyId: profile.aws_access_key_id,\n secretAccessKey: profile.aws_secret_access_key,\n sessionToken: profile.aws_session_token,\n});\nexports.resolveStaticCredentials = resolveStaticCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0;\nconst credential_provider_web_identity_1 = require(\"@aws-sdk/credential-provider-web-identity\");\nconst isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nexports.isWebIdentityProfile = isWebIdentityProfile;\nconst resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n})();\nexports.resolveWebIdentityCredentials = resolveWebIdentityCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultProvider = void 0;\nconst credential_provider_env_1 = require(\"@aws-sdk/credential-provider-env\");\nconst credential_provider_ini_1 = require(\"@aws-sdk/credential-provider-ini\");\nconst credential_provider_process_1 = require(\"@aws-sdk/credential-provider-process\");\nconst credential_provider_sso_1 = require(\"@aws-sdk/credential-provider-sso\");\nconst credential_provider_web_identity_1 = require(\"@aws-sdk/credential-provider-web-identity\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst remoteProvider_1 = require(\"./remoteProvider\");\nconst defaultProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)(...(init.profile || process.env[shared_ini_file_loader_1.ENV_PROFILE] ? [] : [(0, credential_provider_env_1.fromEnv)()]), (0, credential_provider_sso_1.fromSSO)(init), (0, credential_provider_ini_1.fromIni)(init), (0, credential_provider_process_1.fromProcess)(init), (0, credential_provider_web_identity_1.fromTokenFile)(init), (0, remoteProvider_1.remoteProvider)(init), async () => {\n throw new property_provider_1.CredentialsProviderError(\"Could not load credentials from any providers\", false);\n}), (credentials) => credentials.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000, (credentials) => credentials.expiration !== undefined);\nexports.defaultProvider = defaultProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./defaultProvider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.remoteProvider = exports.ENV_IMDS_DISABLED = void 0;\nconst credential_provider_imds_1 = require(\"@aws-sdk/credential-provider-imds\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nexports.ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nconst remoteProvider = (init) => {\n if (process.env[credential_provider_imds_1.ENV_CMDS_RELATIVE_URI] || process.env[credential_provider_imds_1.ENV_CMDS_FULL_URI]) {\n return (0, credential_provider_imds_1.fromContainerMetadata)(init);\n }\n if (process.env[exports.ENV_IMDS_DISABLED]) {\n return async () => {\n throw new property_provider_1.CredentialsProviderError(\"EC2 Instance Metadata Service access disabled\");\n };\n }\n return (0, credential_provider_imds_1.fromInstanceMetadata)(init);\n};\nexports.remoteProvider = remoteProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromProcess = void 0;\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst resolveProcessCredentials_1 = require(\"./resolveProcessCredentials\");\nconst fromProcess = (init = {}) => async () => {\n const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);\n return (0, resolveProcessCredentials_1.resolveProcessCredentials)((0, shared_ini_file_loader_1.getProfileName)(init), profiles);\n};\nexports.fromProcess = fromProcess;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getValidatedProcessCredentials = void 0;\nconst getValidatedProcessCredentials = (profileName, data) => {\n if (data.Version !== 1) {\n throw Error(`Profile ${profileName} credential_process did not return Version 1.`);\n }\n if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {\n throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);\n }\n if (data.Expiration) {\n const currentTime = new Date();\n const expireTime = new Date(data.Expiration);\n if (expireTime < currentTime) {\n throw Error(`Profile ${profileName} credential_process returned expired credentials.`);\n }\n }\n return {\n accessKeyId: data.AccessKeyId,\n secretAccessKey: data.SecretAccessKey,\n ...(data.SessionToken && { sessionToken: data.SessionToken }),\n ...(data.Expiration && { expiration: new Date(data.Expiration) }),\n };\n};\nexports.getValidatedProcessCredentials = getValidatedProcessCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromProcess\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveProcessCredentials = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst child_process_1 = require(\"child_process\");\nconst util_1 = require(\"util\");\nconst getValidatedProcessCredentials_1 = require(\"./getValidatedProcessCredentials\");\nconst resolveProcessCredentials = async (profileName, profiles) => {\n const profile = profiles[profileName];\n if (profiles[profileName]) {\n const credentialProcess = profile[\"credential_process\"];\n if (credentialProcess !== undefined) {\n const execPromise = (0, util_1.promisify)(child_process_1.exec);\n try {\n const { stdout } = await execPromise(credentialProcess);\n let data;\n try {\n data = JSON.parse(stdout.trim());\n }\n catch (_a) {\n throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);\n }\n return (0, getValidatedProcessCredentials_1.getValidatedProcessCredentials)(profileName, data);\n }\n catch (error) {\n throw new property_provider_1.CredentialsProviderError(error.message);\n }\n }\n else {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`);\n }\n }\n else {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`);\n }\n};\nexports.resolveProcessCredentials = resolveProcessCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromSSO = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst isSsoProfile_1 = require(\"./isSsoProfile\");\nconst resolveSSOCredentials_1 = require(\"./resolveSSOCredentials\");\nconst validateSsoProfile_1 = require(\"./validateSsoProfile\");\nconst fromSSO = (init = {}) => async () => {\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, ssoSession } = init;\n const profileName = (0, shared_ini_file_loader_1.getProfileName)(init);\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} was not found.`);\n }\n if (!(0, isSsoProfile_1.isSsoProfile)(profile)) {\n throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`);\n }\n if (profile === null || profile === void 0 ? void 0 : profile.sso_session) {\n const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new property_provider_1.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, false);\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new property_provider_1.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, false);\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = (0, validateSsoProfile_1.validateSsoProfile)(profile);\n return (0, resolveSSOCredentials_1.resolveSSOCredentials)({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n profile: profileName,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new property_provider_1.CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"');\n }\n else {\n return (0, resolveSSOCredentials_1.resolveSSOCredentials)({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n profile: profileName,\n });\n }\n};\nexports.fromSSO = fromSSO;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromSSO\"), exports);\ntslib_1.__exportStar(require(\"./isSsoProfile\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./validateSsoProfile\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSsoProfile = void 0;\nconst isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\nexports.isSsoProfile = isSsoProfile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveSSOCredentials = void 0;\nconst client_sso_1 = require(\"@aws-sdk/client-sso\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst token_providers_1 = require(\"@aws-sdk/token-providers\");\nconst EXPIRE_WINDOW_MS = 15 * 60 * 1000;\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nconst resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, profile, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await (0, token_providers_1.fromSso)({ profile })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(e.message, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n }\n else {\n try {\n token = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoStartUrl);\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= EXPIRE_WINDOW_MS) {\n throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n const { accessToken } = token;\n const sso = ssoClient || new client_sso_1.SSOClient({ region: ssoRegion });\n let ssoResp;\n try {\n ssoResp = await sso.send(new client_sso_1.GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw property_provider_1.CredentialsProviderError.from(e, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration } = {} } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new property_provider_1.CredentialsProviderError(\"SSO returns an invalid temporary credential.\", SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration) };\n};\nexports.resolveSSOCredentials = resolveSSOCredentials;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateSsoProfile = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst validateSsoProfile = (profile) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new property_provider_1.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, false);\n }\n return profile;\n};\nexports.validateSsoProfile = validateSsoProfile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromTokenFile = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fs_1 = require(\"fs\");\nconst fromWebToken_1 = require(\"./fromWebToken\");\nconst ENV_TOKEN_FILE = \"AWS_WEB_IDENTITY_TOKEN_FILE\";\nconst ENV_ROLE_ARN = \"AWS_ROLE_ARN\";\nconst ENV_ROLE_SESSION_NAME = \"AWS_ROLE_SESSION_NAME\";\nconst fromTokenFile = (init = {}) => async () => {\n return resolveTokenFile(init);\n};\nexports.fromTokenFile = fromTokenFile;\nconst resolveTokenFile = (init) => {\n var _a, _b, _c;\n const webIdentityTokenFile = (_a = init === null || init === void 0 ? void 0 : init.webIdentityTokenFile) !== null && _a !== void 0 ? _a : process.env[ENV_TOKEN_FILE];\n const roleArn = (_b = init === null || init === void 0 ? void 0 : init.roleArn) !== null && _b !== void 0 ? _b : process.env[ENV_ROLE_ARN];\n const roleSessionName = (_c = init === null || init === void 0 ? void 0 : init.roleSessionName) !== null && _c !== void 0 ? _c : process.env[ENV_ROLE_SESSION_NAME];\n if (!webIdentityTokenFile || !roleArn) {\n throw new property_provider_1.CredentialsProviderError(\"Web identity configuration not specified\");\n }\n return (0, fromWebToken_1.fromWebToken)({\n ...init,\n webIdentityToken: (0, fs_1.readFileSync)(webIdentityTokenFile, { encoding: \"ascii\" }),\n roleArn,\n roleSessionName,\n })();\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromWebToken = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromWebToken = (init) => () => {\n const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds, roleAssumerWithWebIdentity, } = init;\n if (!roleAssumerWithWebIdentity) {\n throw new property_provider_1.CredentialsProviderError(`Role Arn '${roleArn}' needs to be assumed with web identity,` +\n ` but no role assumption callback was provided.`, false);\n }\n return roleAssumerWithWebIdentity({\n RoleArn: roleArn,\n RoleSessionName: roleSessionName !== null && roleSessionName !== void 0 ? roleSessionName : `aws-sdk-js-session-${Date.now()}`,\n WebIdentityToken: webIdentityToken,\n ProviderId: providerId,\n PolicyArns: policyArns,\n Policy: policy,\n DurationSeconds: durationSeconds,\n });\n};\nexports.fromWebToken = fromWebToken;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromTokenFile\"), exports);\ntslib_1.__exportStar(require(\"./fromWebToken\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventStreamCodec = void 0;\nconst crc32_1 = require(\"@aws-crypto/crc32\");\nconst HeaderMarshaller_1 = require(\"./HeaderMarshaller\");\nconst splitMessage_1 = require(\"./splitMessage\");\nclass EventStreamCodec {\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller_1.HeaderMarshaller(toUtf8, fromUtf8);\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new crc32_1.Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = (0, splitMessage_1.splitMessage)(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\nexports.EventStreamCodec = EventStreamCodec;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeaderMarshaller = void 0;\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nconst Int64_1 = require(\"./Int64\");\nclass HeaderMarshaller {\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64_1.Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set((0, util_hex_encoding_1.fromHex)(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(0, 4))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(4, 6))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(6, 8))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(8, 10))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nexports.HeaderMarshaller = HeaderMarshaller;\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Int64 = void 0;\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nclass Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt((0, util_hex_encoding_1.toHex)(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nexports.Int64 = Int64;\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EventStreamCodec\"), exports);\ntslib_1.__exportStar(require(\"./Int64\"), exports);\ntslib_1.__exportStar(require(\"./Message\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitMessage = void 0;\nconst crc32_1 = require(\"@aws-crypto/crc32\");\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nfunction splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new crc32_1.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\nexports.splitMessage = splitMessage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveEventStreamSerdeConfig = void 0;\nconst resolveEventStreamSerdeConfig = (input) => ({\n ...input,\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\nexports.resolveEventStreamSerdeConfig = resolveEventStreamSerdeConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EventStreamSerdeConfig\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventStreamMarshaller = void 0;\nconst eventstream_serde_universal_1 = require(\"@aws-sdk/eventstream-serde-universal\");\nconst stream_1 = require(\"stream\");\nconst utils_1 = require(\"./utils\");\nclass EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new eventstream_serde_universal_1.EventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = typeof body[Symbol.asyncIterator] === \"function\" ? body : (0, utils_1.readabletoIterable)(body);\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n return stream_1.Readable.from(this.universalMarshaller.serialize(input, serializer));\n }\n}\nexports.EventStreamMarshaller = EventStreamMarshaller;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EventStreamMarshaller\"), exports);\ntslib_1.__exportStar(require(\"./provider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.eventStreamSerdeProvider = void 0;\nconst EventStreamMarshaller_1 = require(\"./EventStreamMarshaller\");\nconst eventStreamSerdeProvider = (options) => new EventStreamMarshaller_1.EventStreamMarshaller(options);\nexports.eventStreamSerdeProvider = eventStreamSerdeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.readabletoIterable = void 0;\nasync function* readabletoIterable(readStream) {\n let streamEnded = false;\n let generationEnded = false;\n const records = new Array();\n readStream.on(\"error\", (err) => {\n if (!streamEnded) {\n streamEnded = true;\n }\n if (err) {\n throw err;\n }\n });\n readStream.on(\"data\", (data) => {\n records.push(data);\n });\n readStream.on(\"end\", () => {\n streamEnded = true;\n });\n while (!generationEnded) {\n const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));\n if (value) {\n yield value;\n }\n generationEnded = streamEnded && records.length === 0;\n }\n}\nexports.readabletoIterable = readabletoIterable;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventStreamMarshaller = void 0;\nconst eventstream_codec_1 = require(\"@aws-sdk/eventstream-codec\");\nconst getChunkedStream_1 = require(\"./getChunkedStream\");\nconst getUnmarshalledStream_1 = require(\"./getUnmarshalledStream\");\nclass EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new eventstream_codec_1.EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const chunkedStream = (0, getChunkedStream_1.getChunkedStream)(body);\n const unmarshalledStream = (0, getUnmarshalledStream_1.getUnmarshalledStream)(chunkedStream, {\n eventStreamCodec: this.eventStreamCodec,\n deserializer,\n toUtf8: this.utfEncoder,\n });\n return unmarshalledStream;\n }\n serialize(input, serializer) {\n const self = this;\n const serializedIterator = async function* () {\n for await (const chunk of input) {\n const payloadBuf = self.eventStreamCodec.encode(serializer(chunk));\n yield payloadBuf;\n }\n yield new Uint8Array(0);\n };\n return {\n [Symbol.asyncIterator]: serializedIterator,\n };\n }\n}\nexports.EventStreamMarshaller = EventStreamMarshaller;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChunkedStream = void 0;\nfunction getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\nexports.getChunkedStream = getChunkedStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUnmarshalledStream = void 0;\nfunction getUnmarshalledStream(source, options) {\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await options.deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(options.toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await options.deserializer(event);\n if (deserialized.$unknown)\n continue;\n yield deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n }\n },\n };\n}\nexports.getUnmarshalledStream = getUnmarshalledStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EventStreamMarshaller\"), exports);\ntslib_1.__exportStar(require(\"./provider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.eventStreamSerdeProvider = void 0;\nconst EventStreamMarshaller_1 = require(\"./EventStreamMarshaller\");\nconst eventStreamSerdeProvider = (options) => new EventStreamMarshaller_1.EventStreamMarshaller(options);\nexports.eventStreamSerdeProvider = eventStreamSerdeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hash = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst buffer_1 = require(\"buffer\");\nconst crypto_1 = require(\"crypto\");\nclass Hash {\n constructor(algorithmIdentifier, secret) {\n this.algorithmIdentifier = algorithmIdentifier;\n this.secret = secret;\n this.reset();\n }\n update(toHash, encoding) {\n this.hash.update((0, util_utf8_1.toUint8Array)(castSourceData(toHash, encoding)));\n }\n digest() {\n return Promise.resolve(this.hash.digest());\n }\n reset() {\n this.hash = this.secret\n ? (0, crypto_1.createHmac)(this.algorithmIdentifier, castSourceData(this.secret))\n : (0, crypto_1.createHash)(this.algorithmIdentifier);\n }\n}\nexports.Hash = Hash;\nfunction castSourceData(toCast, encoding) {\n if (buffer_1.Buffer.isBuffer(toCast)) {\n return toCast;\n }\n if (typeof toCast === \"string\") {\n return (0, util_buffer_from_1.fromString)(toCast, encoding);\n }\n if (ArrayBuffer.isView(toCast)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(toCast.buffer, toCast.byteOffset, toCast.byteLength);\n }\n return (0, util_buffer_from_1.fromArrayBuffer)(toCast);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HashCalculator = void 0;\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst stream_1 = require(\"stream\");\nclass HashCalculator extends stream_1.Writable {\n constructor(hash, options) {\n super(options);\n this.hash = hash;\n }\n _write(chunk, encoding, callback) {\n try {\n this.hash.update((0, util_utf8_1.toUint8Array)(chunk));\n }\n catch (err) {\n return callback(err);\n }\n callback();\n }\n}\nexports.HashCalculator = HashCalculator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fileStreamHasher = void 0;\nconst fs_1 = require(\"fs\");\nconst HashCalculator_1 = require(\"./HashCalculator\");\nconst fileStreamHasher = (hashCtor, fileStream) => new Promise((resolve, reject) => {\n if (!isReadStream(fileStream)) {\n reject(new Error(\"Unable to calculate hash for non-file streams.\"));\n return;\n }\n const fileStreamTee = (0, fs_1.createReadStream)(fileStream.path, {\n start: fileStream.start,\n end: fileStream.end,\n });\n const hash = new hashCtor();\n const hashCalculator = new HashCalculator_1.HashCalculator(hash);\n fileStreamTee.pipe(hashCalculator);\n fileStreamTee.on(\"error\", (err) => {\n hashCalculator.end();\n reject(err);\n });\n hashCalculator.on(\"error\", reject);\n hashCalculator.on(\"finish\", function () {\n hash.digest().then(resolve).catch(reject);\n });\n});\nexports.fileStreamHasher = fileStreamHasher;\nconst isReadStream = (stream) => typeof stream.path === \"string\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fileStreamHasher\"), exports);\ntslib_1.__exportStar(require(\"./readableStreamHasher\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.readableStreamHasher = void 0;\nconst HashCalculator_1 = require(\"./HashCalculator\");\nconst readableStreamHasher = (hashCtor, readableStream) => {\n if (readableStream.readableFlowing !== null) {\n throw new Error(\"Unable to calculate hash for flowing readable stream\");\n }\n const hash = new hashCtor();\n const hashCalculator = new HashCalculator_1.HashCalculator(hash);\n readableStream.pipe(hashCalculator);\n return new Promise((resolve, reject) => {\n readableStream.on(\"error\", (err) => {\n hashCalculator.end();\n reject(err);\n });\n hashCalculator.on(\"error\", reject);\n hashCalculator.on(\"finish\", () => {\n hash.digest().then(resolve).catch(reject);\n });\n });\n};\nexports.readableStreamHasher = readableStreamHasher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArrayBuffer = void 0;\nconst isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\nexports.isArrayBuffer = isArrayBuffer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS = exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME = exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME = void 0;\nconst util_config_provider_1 = require(\"@aws-sdk/util-config-provider\");\nexports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME = \"AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS\";\nexports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME = \"s3_disable_multiregion_access_points\";\nexports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME, util_config_provider_1.SelectorType.ENV),\n configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME, util_config_provider_1.SelectorType.CONFIG),\n default: false,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_USE_ARN_REGION_CONFIG_OPTIONS = exports.NODE_USE_ARN_REGION_INI_NAME = exports.NODE_USE_ARN_REGION_ENV_NAME = void 0;\nconst util_config_provider_1 = require(\"@aws-sdk/util-config-provider\");\nexports.NODE_USE_ARN_REGION_ENV_NAME = \"AWS_S3_USE_ARN_REGION\";\nexports.NODE_USE_ARN_REGION_INI_NAME = \"s3_use_arn_region\";\nexports.NODE_USE_ARN_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.NODE_USE_ARN_REGION_ENV_NAME, util_config_provider_1.SelectorType.ENV),\n configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.NODE_USE_ARN_REGION_INI_NAME, util_config_provider_1.SelectorType.CONFIG),\n default: false,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getBucketEndpointPlugin = exports.bucketEndpointMiddlewareOptions = exports.bucketEndpointMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst util_arn_parser_1 = require(\"@aws-sdk/util-arn-parser\");\nconst bucketHostname_1 = require(\"./bucketHostname\");\nconst bucketEndpointMiddleware = (options) => (next, context) => async (args) => {\n const { Bucket: bucketName } = args.input;\n let replaceBucketInPath = options.bucketEndpoint;\n const request = args.request;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n if (options.bucketEndpoint) {\n request.hostname = bucketName;\n }\n else if ((0, util_arn_parser_1.validate)(bucketName)) {\n const bucketArn = (0, util_arn_parser_1.parse)(bucketName);\n const clientRegion = await options.region();\n const useDualstackEndpoint = await options.useDualstackEndpoint();\n const useFipsEndpoint = await options.useFipsEndpoint();\n const { partition, signingRegion = clientRegion } = (await options.regionInfoProvider(clientRegion, { useDualstackEndpoint, useFipsEndpoint })) || {};\n const useArnRegion = await options.useArnRegion();\n const { hostname, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService, } = (0, bucketHostname_1.bucketHostname)({\n bucketName: bucketArn,\n baseHostname: request.hostname,\n accelerateEndpoint: options.useAccelerateEndpoint,\n dualstackEndpoint: useDualstackEndpoint,\n fipsEndpoint: useFipsEndpoint,\n pathStyleEndpoint: options.forcePathStyle,\n tlsCompatible: request.protocol === \"https:\",\n useArnRegion,\n clientPartition: partition,\n clientSigningRegion: signingRegion,\n clientRegion: clientRegion,\n isCustomEndpoint: options.isCustomEndpoint,\n disableMultiregionAccessPoints: await options.disableMultiregionAccessPoints(),\n });\n if (modifiedSigningRegion && modifiedSigningRegion !== signingRegion) {\n context[\"signing_region\"] = modifiedSigningRegion;\n }\n if (signingService && signingService !== \"s3\") {\n context[\"signing_service\"] = signingService;\n }\n request.hostname = hostname;\n replaceBucketInPath = bucketEndpoint;\n }\n else {\n const clientRegion = await options.region();\n const dualstackEndpoint = await options.useDualstackEndpoint();\n const fipsEndpoint = await options.useFipsEndpoint();\n const { hostname, bucketEndpoint } = (0, bucketHostname_1.bucketHostname)({\n bucketName,\n clientRegion,\n baseHostname: request.hostname,\n accelerateEndpoint: options.useAccelerateEndpoint,\n dualstackEndpoint,\n fipsEndpoint,\n pathStyleEndpoint: options.forcePathStyle,\n tlsCompatible: request.protocol === \"https:\",\n isCustomEndpoint: options.isCustomEndpoint,\n });\n request.hostname = hostname;\n replaceBucketInPath = bucketEndpoint;\n }\n if (replaceBucketInPath) {\n request.path = request.path.replace(/^(\\/)?[^\\/]+/, \"\");\n if (request.path === \"\") {\n request.path = \"/\";\n }\n }\n }\n return next({ ...args, request });\n};\nexports.bucketEndpointMiddleware = bucketEndpointMiddleware;\nexports.bucketEndpointMiddlewareOptions = {\n tags: [\"BUCKET_ENDPOINT\"],\n name: \"bucketEndpointMiddleware\",\n relation: \"before\",\n toMiddleware: \"hostHeaderMiddleware\",\n override: true,\n};\nconst getBucketEndpointPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, exports.bucketEndpointMiddleware)(options), exports.bucketEndpointMiddlewareOptions);\n },\n});\nexports.getBucketEndpointPlugin = getBucketEndpointPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bucketHostname = void 0;\nconst bucketHostnameUtils_1 = require(\"./bucketHostnameUtils\");\nconst bucketHostname = (options) => {\n (0, bucketHostnameUtils_1.validateCustomEndpoint)(options);\n return (0, bucketHostnameUtils_1.isBucketNameOptions)(options)\n ?\n getEndpointFromBucketName(options)\n :\n getEndpointFromArn(options);\n};\nexports.bucketHostname = bucketHostname;\nconst getEndpointFromBucketName = ({ accelerateEndpoint = false, clientRegion: region, baseHostname, bucketName, dualstackEndpoint = false, fipsEndpoint = false, pathStyleEndpoint = false, tlsCompatible = true, isCustomEndpoint = false, }) => {\n const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] : (0, bucketHostnameUtils_1.getSuffix)(baseHostname);\n if (pathStyleEndpoint || !(0, bucketHostnameUtils_1.isDnsCompatibleBucketName)(bucketName) || (tlsCompatible && bucketHostnameUtils_1.DOT_PATTERN.test(bucketName))) {\n return {\n bucketEndpoint: false,\n hostname: dualstackEndpoint ? `s3.dualstack.${clientRegion}.${hostnameSuffix}` : baseHostname,\n };\n }\n if (accelerateEndpoint) {\n baseHostname = `s3-accelerate${dualstackEndpoint ? \".dualstack\" : \"\"}.${hostnameSuffix}`;\n }\n else if (dualstackEndpoint) {\n baseHostname = `s3.dualstack.${clientRegion}.${hostnameSuffix}`;\n }\n return {\n bucketEndpoint: true,\n hostname: `${bucketName}.${baseHostname}`,\n };\n};\nconst getEndpointFromArn = (options) => {\n const { isCustomEndpoint, baseHostname, clientRegion } = options;\n const hostnameSuffix = isCustomEndpoint ? baseHostname : (0, bucketHostnameUtils_1.getSuffixForArnEndpoint)(baseHostname)[1];\n const { pathStyleEndpoint, accelerateEndpoint = false, fipsEndpoint = false, tlsCompatible = true, bucketName, clientPartition = \"aws\", } = options;\n (0, bucketHostnameUtils_1.validateArnEndpointOptions)({ pathStyleEndpoint, accelerateEndpoint, tlsCompatible });\n const { service, partition, accountId, region, resource } = bucketName;\n (0, bucketHostnameUtils_1.validateService)(service);\n (0, bucketHostnameUtils_1.validatePartition)(partition, { clientPartition });\n (0, bucketHostnameUtils_1.validateAccountId)(accountId);\n const { accesspointName, outpostId } = (0, bucketHostnameUtils_1.getArnResources)(resource);\n if (service === \"s3-object-lambda\") {\n return getEndpointFromObjectLambdaArn({ ...options, tlsCompatible, bucketName, accesspointName, hostnameSuffix });\n }\n if (region === \"\") {\n return getEndpointFromMRAPArn({ ...options, clientRegion, mrapAlias: accesspointName, hostnameSuffix });\n }\n if (outpostId) {\n return getEndpointFromOutpostArn({ ...options, clientRegion, outpostId, accesspointName, hostnameSuffix });\n }\n return getEndpointFromAccessPointArn({ ...options, clientRegion, accesspointName, hostnameSuffix });\n};\nconst getEndpointFromObjectLambdaArn = ({ dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, useArnRegion, clientRegion, clientSigningRegion = clientRegion, accesspointName, bucketName, hostnameSuffix, }) => {\n const { accountId, region, service } = bucketName;\n (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);\n (0, bucketHostnameUtils_1.validateRegion)(region, {\n useArnRegion,\n clientRegion,\n clientSigningRegion,\n allowFipsRegion: true,\n useFipsEndpoint: fipsEndpoint,\n });\n (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);\n const DNSHostLabel = `${accesspointName}-${accountId}`;\n (0, bucketHostnameUtils_1.validateDNSHostLabel)(DNSHostLabel, { tlsCompatible });\n const endpointRegion = useArnRegion ? region : clientRegion;\n const signingRegion = useArnRegion ? region : clientSigningRegion;\n return {\n bucketEndpoint: true,\n hostname: `${DNSHostLabel}.${service}${fipsEndpoint ? \"-fips\" : \"\"}.${endpointRegion}.${hostnameSuffix}`,\n signingRegion,\n signingService: service,\n };\n};\nconst getEndpointFromMRAPArn = ({ disableMultiregionAccessPoints, dualstackEndpoint = false, isCustomEndpoint, mrapAlias, hostnameSuffix, }) => {\n if (disableMultiregionAccessPoints === true) {\n throw new Error(\"SDK is attempting to use a MRAP ARN. Please enable to feature.\");\n }\n (0, bucketHostnameUtils_1.validateMrapAlias)(mrapAlias);\n (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);\n return {\n bucketEndpoint: true,\n hostname: `${mrapAlias}${isCustomEndpoint ? \"\" : `.accesspoint.s3-global`}.${hostnameSuffix}`,\n signingRegion: \"*\",\n };\n};\nconst getEndpointFromOutpostArn = ({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, outpostId, dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix, }) => {\n (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);\n (0, bucketHostnameUtils_1.validateRegion)(bucketName.region, { useArnRegion, clientRegion, clientSigningRegion, useFipsEndpoint: fipsEndpoint });\n const DNSHostLabel = `${accesspointName}-${bucketName.accountId}`;\n (0, bucketHostnameUtils_1.validateDNSHostLabel)(DNSHostLabel, { tlsCompatible });\n const endpointRegion = useArnRegion ? bucketName.region : clientRegion;\n const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;\n (0, bucketHostnameUtils_1.validateOutpostService)(bucketName.service);\n (0, bucketHostnameUtils_1.validateDNSHostLabel)(outpostId, { tlsCompatible });\n (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);\n (0, bucketHostnameUtils_1.validateNoFIPS)(fipsEndpoint);\n const hostnamePrefix = `${DNSHostLabel}.${outpostId}`;\n return {\n bucketEndpoint: true,\n hostname: `${hostnamePrefix}${isCustomEndpoint ? \"\" : `.s3-outposts.${endpointRegion}`}.${hostnameSuffix}`,\n signingRegion,\n signingService: \"s3-outposts\",\n };\n};\nconst getEndpointFromAccessPointArn = ({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix, }) => {\n (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);\n (0, bucketHostnameUtils_1.validateRegion)(bucketName.region, {\n useArnRegion,\n clientRegion,\n clientSigningRegion,\n allowFipsRegion: true,\n useFipsEndpoint: fipsEndpoint,\n });\n const hostnamePrefix = `${accesspointName}-${bucketName.accountId}`;\n (0, bucketHostnameUtils_1.validateDNSHostLabel)(hostnamePrefix, { tlsCompatible });\n const endpointRegion = useArnRegion ? bucketName.region : clientRegion;\n const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;\n (0, bucketHostnameUtils_1.validateS3Service)(bucketName.service);\n return {\n bucketEndpoint: true,\n hostname: `${hostnamePrefix}${isCustomEndpoint\n ? \"\"\n : `.s3-accesspoint${fipsEndpoint ? \"-fips\" : \"\"}${dualstackEndpoint ? \".dualstack\" : \"\"}.${endpointRegion}`}.${hostnameSuffix}`,\n signingRegion,\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateMrapAlias = exports.validateNoFIPS = exports.validateNoDualstack = exports.getArnResources = exports.validateCustomEndpoint = exports.validateDNSHostLabel = exports.validateAccountId = exports.validateRegionalClient = exports.validateRegion = exports.validatePartition = exports.validateOutpostService = exports.validateS3Service = exports.validateService = exports.validateArnEndpointOptions = exports.getSuffixForArnEndpoint = exports.getSuffix = exports.isDnsCompatibleBucketName = exports.isBucketNameOptions = exports.S3_HOSTNAME_PATTERN = exports.DOT_PATTERN = void 0;\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexports.DOT_PATTERN = /\\./;\nexports.S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nconst S3_US_EAST_1_ALTNAME_PATTERN = /^s3(-external-1)?\\.amazonaws\\.com$/;\nconst AWS_PARTITION_SUFFIX = \"amazonaws.com\";\nconst isBucketNameOptions = (options) => typeof options.bucketName === \"string\";\nexports.isBucketNameOptions = isBucketNameOptions;\nconst isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexports.isDnsCompatibleBucketName = isDnsCompatibleBucketName;\nconst getRegionalSuffix = (hostname) => {\n const parts = hostname.match(exports.S3_HOSTNAME_PATTERN);\n return [parts[4], hostname.replace(new RegExp(`^${parts[0]}`), \"\")];\n};\nconst getSuffix = (hostname) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname) ? [\"us-east-1\", AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname);\nexports.getSuffix = getSuffix;\nconst getSuffixForArnEndpoint = (hostname) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname)\n ? [hostname.replace(`.${AWS_PARTITION_SUFFIX}`, \"\"), AWS_PARTITION_SUFFIX]\n : getRegionalSuffix(hostname);\nexports.getSuffixForArnEndpoint = getSuffixForArnEndpoint;\nconst validateArnEndpointOptions = (options) => {\n if (options.pathStyleEndpoint) {\n throw new Error(\"Path-style S3 endpoint is not supported when bucket is an ARN\");\n }\n if (options.accelerateEndpoint) {\n throw new Error(\"Accelerate endpoint is not supported when bucket is an ARN\");\n }\n if (!options.tlsCompatible) {\n throw new Error(\"HTTPS is required when bucket is an ARN\");\n }\n};\nexports.validateArnEndpointOptions = validateArnEndpointOptions;\nconst validateService = (service) => {\n if (service !== \"s3\" && service !== \"s3-outposts\" && service !== \"s3-object-lambda\") {\n throw new Error(\"Expect 's3' or 's3-outposts' or 's3-object-lambda' in ARN service component\");\n }\n};\nexports.validateService = validateService;\nconst validateS3Service = (service) => {\n if (service !== \"s3\") {\n throw new Error(\"Expect 's3' in Accesspoint ARN service component\");\n }\n};\nexports.validateS3Service = validateS3Service;\nconst validateOutpostService = (service) => {\n if (service !== \"s3-outposts\") {\n throw new Error(\"Expect 's3-posts' in Outpost ARN service component\");\n }\n};\nexports.validateOutpostService = validateOutpostService;\nconst validatePartition = (partition, options) => {\n if (partition !== options.clientPartition) {\n throw new Error(`Partition in ARN is incompatible, got \"${partition}\" but expected \"${options.clientPartition}\"`);\n }\n};\nexports.validatePartition = validatePartition;\nconst validateRegion = (region, options) => {\n if (region === \"\") {\n throw new Error(\"ARN region is empty\");\n }\n if (options.useFipsEndpoint) {\n if (!options.allowFipsRegion) {\n throw new Error(\"FIPS region is not supported\");\n }\n else if (!isEqualRegions(region, options.clientRegion)) {\n throw new Error(`Client FIPS region ${options.clientRegion} doesn't match region ${region} in ARN`);\n }\n }\n if (!options.useArnRegion &&\n !isEqualRegions(region, options.clientRegion || \"\") &&\n !isEqualRegions(region, options.clientSigningRegion || \"\")) {\n throw new Error(`Region in ARN is incompatible, got ${region} but expected ${options.clientRegion}`);\n }\n};\nexports.validateRegion = validateRegion;\nconst validateRegionalClient = (region) => {\n if ([\"s3-external-1\", \"aws-global\"].includes(region)) {\n throw new Error(`Client region ${region} is not regional`);\n }\n};\nexports.validateRegionalClient = validateRegionalClient;\nconst isEqualRegions = (regionA, regionB) => regionA === regionB;\nconst validateAccountId = (accountId) => {\n if (!/[0-9]{12}/.exec(accountId)) {\n throw new Error(\"Access point ARN accountID does not match regex '[0-9]{12}'\");\n }\n};\nexports.validateAccountId = validateAccountId;\nconst validateDNSHostLabel = (label, options = { tlsCompatible: true }) => {\n if (label.length >= 64 ||\n !/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(label) ||\n /(\\d+\\.){3}\\d+/.test(label) ||\n /[.-]{2}/.test(label) ||\n ((options === null || options === void 0 ? void 0 : options.tlsCompatible) && exports.DOT_PATTERN.test(label))) {\n throw new Error(`Invalid DNS label ${label}`);\n }\n};\nexports.validateDNSHostLabel = validateDNSHostLabel;\nconst validateCustomEndpoint = (options) => {\n if (options.isCustomEndpoint) {\n if (options.dualstackEndpoint)\n throw new Error(\"Dualstack endpoint is not supported with custom endpoint\");\n if (options.accelerateEndpoint)\n throw new Error(\"Accelerate endpoint is not supported with custom endpoint\");\n }\n};\nexports.validateCustomEndpoint = validateCustomEndpoint;\nconst getArnResources = (resource) => {\n const delimiter = resource.includes(\":\") ? \":\" : \"/\";\n const [resourceType, ...rest] = resource.split(delimiter);\n if (resourceType === \"accesspoint\") {\n if (rest.length !== 1 || rest[0] === \"\") {\n throw new Error(`Access Point ARN should have one resource accesspoint${delimiter}{accesspointname}`);\n }\n return { accesspointName: rest[0] };\n }\n else if (resourceType === \"outpost\") {\n if (!rest[0] || rest[1] !== \"accesspoint\" || !rest[2] || rest.length !== 3) {\n throw new Error(`Outpost ARN should have resource outpost${delimiter}{outpostId}${delimiter}accesspoint${delimiter}{accesspointName}`);\n }\n const [outpostId, _, accesspointName] = rest;\n return { outpostId, accesspointName };\n }\n else {\n throw new Error(`ARN resource should begin with 'accesspoint${delimiter}' or 'outpost${delimiter}'`);\n }\n};\nexports.getArnResources = getArnResources;\nconst validateNoDualstack = (dualstackEndpoint) => {\n if (dualstackEndpoint)\n throw new Error(\"Dualstack endpoint is not supported with Outpost or Multi-region Access Point ARN.\");\n};\nexports.validateNoDualstack = validateNoDualstack;\nconst validateNoFIPS = (useFipsEndpoint) => {\n if (useFipsEndpoint)\n throw new Error(`FIPS region is not supported with Outpost.`);\n};\nexports.validateNoFIPS = validateNoFIPS;\nconst validateMrapAlias = (name) => {\n try {\n name.split(\".\").forEach((label) => {\n (0, exports.validateDNSHostLabel)(label);\n });\n }\n catch (e) {\n throw new Error(`\"${name}\" is not a DNS compatible name.`);\n }\n};\nexports.validateMrapAlias = validateMrapAlias;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveBucketEndpointConfig = void 0;\nfunction resolveBucketEndpointConfig(input) {\n const { bucketEndpoint = false, forcePathStyle = false, useAccelerateEndpoint = false, useArnRegion = false, disableMultiregionAccessPoints = false, } = input;\n return {\n ...input,\n bucketEndpoint,\n forcePathStyle,\n useAccelerateEndpoint,\n useArnRegion: typeof useArnRegion === \"function\" ? useArnRegion : () => Promise.resolve(useArnRegion),\n disableMultiregionAccessPoints: typeof disableMultiregionAccessPoints === \"function\"\n ? disableMultiregionAccessPoints\n : () => Promise.resolve(disableMultiregionAccessPoints),\n };\n}\nexports.resolveBucketEndpointConfig = resolveBucketEndpointConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateNoFIPS = exports.validateNoDualstack = exports.validateDNSHostLabel = exports.validateRegion = exports.validateAccountId = exports.validatePartition = exports.validateOutpostService = exports.getSuffixForArnEndpoint = exports.getArnResources = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./NodeDisableMultiregionAccessPointConfigOptions\"), exports);\ntslib_1.__exportStar(require(\"./NodeUseArnRegionConfigOptions\"), exports);\ntslib_1.__exportStar(require(\"./bucketEndpointMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./bucketHostname\"), exports);\ntslib_1.__exportStar(require(\"./configurations\"), exports);\nvar bucketHostnameUtils_1 = require(\"./bucketHostnameUtils\");\nObject.defineProperty(exports, \"getArnResources\", { enumerable: true, get: function () { return bucketHostnameUtils_1.getArnResources; } });\nObject.defineProperty(exports, \"getSuffixForArnEndpoint\", { enumerable: true, get: function () { return bucketHostnameUtils_1.getSuffixForArnEndpoint; } });\nObject.defineProperty(exports, \"validateOutpostService\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateOutpostService; } });\nObject.defineProperty(exports, \"validatePartition\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validatePartition; } });\nObject.defineProperty(exports, \"validateAccountId\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateAccountId; } });\nObject.defineProperty(exports, \"validateRegion\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateRegion; } });\nObject.defineProperty(exports, \"validateDNSHostLabel\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateDNSHostLabel; } });\nObject.defineProperty(exports, \"validateNoDualstack\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateNoDualstack; } });\nObject.defineProperty(exports, \"validateNoFIPS\", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateNoFIPS; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getContentLengthPlugin = exports.contentLengthMiddlewareOptions = exports.contentLengthMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nfunction contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexports.contentLengthMiddleware = contentLengthMiddleware;\nexports.contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nconst getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), exports.contentLengthMiddlewareOptions);\n },\n});\nexports.getContentLengthPlugin = getContentLengthPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createConfigValueProvider = void 0;\nconst createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {\n const configProvider = async () => {\n var _a;\n const configValue = (_a = config[configKey]) !== null && _a !== void 0 ? _a : config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\nexports.createConfigValueProvider = createConfigValueProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveParams = exports.getEndpointFromInstructions = void 0;\nconst service_customizations_1 = require(\"../service-customizations\");\nconst createConfigValueProvider_1 = require(\"./createConfigValueProvider\");\nconst getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n const endpointParams = await (0, exports.resolveParams)(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n};\nexports.getEndpointFromInstructions = getEndpointFromInstructions;\nconst resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\n var _a;\n const endpointParams = {};\n const instructions = ((_a = instructionsSupplier === null || instructionsSupplier === void 0 ? void 0 : instructionsSupplier.getEndpointParameterInstructions) === null || _a === void 0 ? void 0 : _a.call(instructionsSupplier)) || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await (0, createConfigValueProvider_1.createConfigValueProvider)(instruction.name, name, clientConfig)();\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await (0, service_customizations_1.resolveParamsForS3)(endpointParams);\n }\n return endpointParams;\n};\nexports.resolveParams = resolveParams;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./getEndpointFromInstructions\"), exports);\ntslib_1.__exportStar(require(\"./toEndpointV1\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toEndpointV1 = void 0;\nconst url_parser_1 = require(\"@aws-sdk/url-parser\");\nconst toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return (0, url_parser_1.parseUrl)(endpoint.url);\n }\n return endpoint;\n }\n return (0, url_parser_1.parseUrl)(endpoint);\n};\nexports.toEndpointV1 = toEndpointV1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.endpointMiddleware = void 0;\nconst getEndpointFromInstructions_1 = require(\"./adaptors/getEndpointFromInstructions\");\nconst endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n var _a, _b;\n const endpoint = await (0, getEndpointFromInstructions_1.getEndpointFromInstructions)(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\n context.endpointV2 = endpoint;\n context.authSchemes = (_a = endpoint.properties) === null || _a === void 0 ? void 0 : _a.authSchemes;\n const authScheme = (_b = context.authSchemes) === null || _b === void 0 ? void 0 : _b[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n }\n return next({\n ...args,\n });\n };\n};\nexports.endpointMiddleware = endpointMiddleware;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointPlugin = exports.endpointMiddlewareOptions = void 0;\nconst middleware_serde_1 = require(\"@aws-sdk/middleware-serde\");\nconst endpointMiddleware_1 = require(\"./endpointMiddleware\");\nexports.endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: middleware_serde_1.serializerMiddlewareOption.name,\n};\nconst getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, endpointMiddleware_1.endpointMiddleware)({\n config,\n instructions,\n }), exports.endpointMiddlewareOptions);\n },\n});\nexports.getEndpointPlugin = getEndpointPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./adaptors\"), exports);\ntslib_1.__exportStar(require(\"./endpointMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./getEndpointPlugin\"), exports);\ntslib_1.__exportStar(require(\"./resolveEndpointConfig\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveEndpointConfig = void 0;\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst toEndpointV1_1 = require(\"./adaptors/toEndpointV1\");\nconst resolveEndpointConfig = (input) => {\n var _a, _b, _c;\n const tls = (_a = input.tls) !== null && _a !== void 0 ? _a : true;\n const { endpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => (0, toEndpointV1_1.toEndpointV1)(await (0, util_middleware_1.normalizeProvider)(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n return {\n ...input,\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false),\n useFipsEndpoint: (0, util_middleware_1.normalizeProvider)((_c = input.useFipsEndpoint) !== null && _c !== void 0 ? _c : false),\n };\n};\nexports.resolveEndpointConfig = resolveEndpointConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./s3\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArnBucketName = exports.isDnsCompatibleBucketName = exports.S3_HOSTNAME_PATTERN = exports.DOT_PATTERN = exports.resolveParamsForS3 = void 0;\nconst resolveParamsForS3 = async (endpointParams) => {\n const bucket = (endpointParams === null || endpointParams === void 0 ? void 0 : endpointParams.Bucket) || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if ((0, exports.isArnBucketName)(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n }\n else if (!(0, exports.isDnsCompatibleBucketName)(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n};\nexports.resolveParamsForS3 = resolveParamsForS3;\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexports.DOT_PATTERN = /\\./;\nexports.S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nconst isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexports.isDnsCompatibleBucketName = isDnsCompatibleBucketName;\nconst isArnBucketName = (bucketName) => {\n const [arn, partition, service, region, account, typeOrId] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = [arn, partition, service, account, typeOrId].filter(Boolean).length === 5;\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return arn === \"arn\" && !!partition && !!service && !!account && !!typeOrId;\n};\nexports.isArnBucketName = isArnBucketName;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAddExpectContinuePlugin = exports.addExpectContinueMiddlewareOptions = exports.addExpectContinueMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nfunction addExpectContinueMiddleware(options) {\n return (next) => async (args) => {\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request) && request.body && options.runtime === \"node\") {\n request.headers = {\n ...request.headers,\n Expect: \"100-continue\",\n };\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexports.addExpectContinueMiddleware = addExpectContinueMiddleware;\nexports.addExpectContinueMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_EXPECT_HEADER\", \"EXPECT_HEADER\"],\n name: \"addExpectContinueMiddleware\",\n override: true,\n};\nconst getAddExpectContinuePlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(addExpectContinueMiddleware(options), exports.addExpectContinueMiddlewareOptions);\n },\n});\nexports.getAddExpectContinuePlugin = getAddExpectContinuePlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumLocation = exports.ChecksumAlgorithm = void 0;\nvar ChecksumAlgorithm;\n(function (ChecksumAlgorithm) {\n ChecksumAlgorithm[\"MD5\"] = \"MD5\";\n ChecksumAlgorithm[\"CRC32\"] = \"CRC32\";\n ChecksumAlgorithm[\"CRC32C\"] = \"CRC32C\";\n ChecksumAlgorithm[\"SHA1\"] = \"SHA1\";\n ChecksumAlgorithm[\"SHA256\"] = \"SHA256\";\n})(ChecksumAlgorithm = exports.ChecksumAlgorithm || (exports.ChecksumAlgorithm = {}));\nvar ChecksumLocation;\n(function (ChecksumLocation) {\n ChecksumLocation[\"HEADER\"] = \"header\";\n ChecksumLocation[\"TRAILER\"] = \"trailer\";\n})(ChecksumLocation = exports.ChecksumLocation || (exports.ChecksumLocation = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.flexibleChecksumsMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst getChecksumAlgorithmForRequest_1 = require(\"./getChecksumAlgorithmForRequest\");\nconst getChecksumLocationName_1 = require(\"./getChecksumLocationName\");\nconst hasHeader_1 = require(\"./hasHeader\");\nconst isStreaming_1 = require(\"./isStreaming\");\nconst selectChecksumAlgorithmFunction_1 = require(\"./selectChecksumAlgorithmFunction\");\nconst stringHasher_1 = require(\"./stringHasher\");\nconst validateChecksumFromResponse_1 = require(\"./validateChecksumFromResponse\");\nconst flexibleChecksumsMiddleware = (config, middlewareConfig) => (next) => async (args) => {\n if (!protocol_http_1.HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const { request } = args;\n const { body: requestBody, headers } = request;\n const { base64Encoder, streamHasher } = config;\n const { input, requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;\n const checksumAlgorithm = (0, getChecksumAlgorithmForRequest_1.getChecksumAlgorithmForRequest)(input, {\n requestChecksumRequired,\n requestAlgorithmMember,\n });\n let updatedBody = requestBody;\n let updatedHeaders = headers;\n if (checksumAlgorithm) {\n const checksumLocationName = (0, getChecksumLocationName_1.getChecksumLocationName)(checksumAlgorithm);\n const checksumAlgorithmFn = (0, selectChecksumAlgorithmFunction_1.selectChecksumAlgorithmFunction)(checksumAlgorithm, config);\n if ((0, isStreaming_1.isStreaming)(requestBody)) {\n const { getAwsChunkedEncodingStream, bodyLengthChecker } = config;\n updatedBody = getAwsChunkedEncodingStream(requestBody, {\n base64Encoder,\n bodyLengthChecker,\n checksumLocationName,\n checksumAlgorithmFn,\n streamHasher,\n });\n updatedHeaders = {\n ...headers,\n \"content-encoding\": headers[\"content-encoding\"]\n ? `${headers[\"content-encoding\"]},aws-chunked`\n : \"aws-chunked\",\n \"transfer-encoding\": \"chunked\",\n \"x-amz-decoded-content-length\": headers[\"content-length\"],\n \"x-amz-content-sha256\": \"STREAMING-UNSIGNED-PAYLOAD-TRAILER\",\n \"x-amz-trailer\": checksumLocationName,\n };\n delete updatedHeaders[\"content-length\"];\n }\n else if (!(0, hasHeader_1.hasHeader)(checksumLocationName, headers)) {\n const rawChecksum = await (0, stringHasher_1.stringHasher)(checksumAlgorithmFn, requestBody);\n updatedHeaders = {\n ...headers,\n [checksumLocationName]: base64Encoder(rawChecksum),\n };\n }\n }\n const result = await next({\n ...args,\n request: {\n ...request,\n headers: updatedHeaders,\n body: updatedBody,\n },\n });\n const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;\n if (requestValidationModeMember && input[requestValidationModeMember] === \"ENABLED\") {\n (0, validateChecksumFromResponse_1.validateChecksumFromResponse)(result.response, {\n config,\n responseAlgorithms,\n });\n }\n return result;\n};\nexports.flexibleChecksumsMiddleware = flexibleChecksumsMiddleware;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChecksum = void 0;\nconst isStreaming_1 = require(\"./isStreaming\");\nconst stringHasher_1 = require(\"./stringHasher\");\nconst getChecksum = async (body, { streamHasher, checksumAlgorithmFn, base64Encoder }) => {\n const digest = (0, isStreaming_1.isStreaming)(body) ? streamHasher(checksumAlgorithmFn, body) : (0, stringHasher_1.stringHasher)(checksumAlgorithmFn, body);\n return base64Encoder(await digest);\n};\nexports.getChecksum = getChecksum;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChecksumAlgorithmForRequest = void 0;\nconst constants_1 = require(\"./constants\");\nconst types_1 = require(\"./types\");\nconst getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember }) => {\n if (!requestAlgorithmMember || !input[requestAlgorithmMember]) {\n return requestChecksumRequired ? constants_1.ChecksumAlgorithm.MD5 : undefined;\n }\n const checksumAlgorithm = input[requestAlgorithmMember];\n if (!types_1.CLIENT_SUPPORTED_ALGORITHMS.includes(checksumAlgorithm)) {\n throw new Error(`The checksum algorithm \"${checksumAlgorithm}\" is not supported by the client.` +\n ` Select one of ${types_1.CLIENT_SUPPORTED_ALGORITHMS}.`);\n }\n return checksumAlgorithm;\n};\nexports.getChecksumAlgorithmForRequest = getChecksumAlgorithmForRequest;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChecksumAlgorithmListForResponse = void 0;\nconst types_1 = require(\"./types\");\nconst getChecksumAlgorithmListForResponse = (responseAlgorithms = []) => {\n const validChecksumAlgorithms = [];\n for (const algorithm of types_1.PRIORITY_ORDER_ALGORITHMS) {\n if (!responseAlgorithms.includes(algorithm) || !types_1.CLIENT_SUPPORTED_ALGORITHMS.includes(algorithm)) {\n continue;\n }\n validChecksumAlgorithms.push(algorithm);\n }\n return validChecksumAlgorithms;\n};\nexports.getChecksumAlgorithmListForResponse = getChecksumAlgorithmListForResponse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChecksumLocationName = void 0;\nconst constants_1 = require(\"./constants\");\nconst getChecksumLocationName = (algorithm) => algorithm === constants_1.ChecksumAlgorithm.MD5 ? \"content-md5\" : `x-amz-checksum-${algorithm.toLowerCase()}`;\nexports.getChecksumLocationName = getChecksumLocationName;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFlexibleChecksumsPlugin = exports.flexibleChecksumsMiddlewareOptions = void 0;\nconst flexibleChecksumsMiddleware_1 = require(\"./flexibleChecksumsMiddleware\");\nexports.flexibleChecksumsMiddlewareOptions = {\n name: \"flexibleChecksumsMiddleware\",\n step: \"build\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nconst getFlexibleChecksumsPlugin = (config, middlewareConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, flexibleChecksumsMiddleware_1.flexibleChecksumsMiddleware)(config, middlewareConfig), exports.flexibleChecksumsMiddlewareOptions);\n },\n});\nexports.getFlexibleChecksumsPlugin = getFlexibleChecksumsPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasHeader = void 0;\nconst hasHeader = (header, headers) => {\n const soughtHeader = header.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexports.hasHeader = hasHeader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./constants\"), exports);\ntslib_1.__exportStar(require(\"./flexibleChecksumsMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./getFlexibleChecksumsPlugin\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isStreaming = void 0;\nconst is_array_buffer_1 = require(\"@aws-sdk/is-array-buffer\");\nconst isStreaming = (body) => body !== undefined && typeof body !== \"string\" && !ArrayBuffer.isView(body) && !(0, is_array_buffer_1.isArrayBuffer)(body);\nexports.isStreaming = isStreaming;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.selectChecksumAlgorithmFunction = void 0;\nconst crc32_1 = require(\"@aws-crypto/crc32\");\nconst crc32c_1 = require(\"@aws-crypto/crc32c\");\nconst constants_1 = require(\"./constants\");\nconst selectChecksumAlgorithmFunction = (checksumAlgorithm, config) => ({\n [constants_1.ChecksumAlgorithm.MD5]: config.md5,\n [constants_1.ChecksumAlgorithm.CRC32]: crc32_1.AwsCrc32,\n [constants_1.ChecksumAlgorithm.CRC32C]: crc32c_1.AwsCrc32c,\n [constants_1.ChecksumAlgorithm.SHA1]: config.sha1,\n [constants_1.ChecksumAlgorithm.SHA256]: config.sha256,\n}[checksumAlgorithm]);\nexports.selectChecksumAlgorithmFunction = selectChecksumAlgorithmFunction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringHasher = void 0;\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst stringHasher = (checksumAlgorithmFn, body) => {\n const hash = new checksumAlgorithmFn();\n hash.update((0, util_utf8_1.toUint8Array)(body || \"\"));\n return hash.digest();\n};\nexports.stringHasher = stringHasher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PRIORITY_ORDER_ALGORITHMS = exports.CLIENT_SUPPORTED_ALGORITHMS = void 0;\nconst constants_1 = require(\"./constants\");\nexports.CLIENT_SUPPORTED_ALGORITHMS = [\n constants_1.ChecksumAlgorithm.CRC32,\n constants_1.ChecksumAlgorithm.CRC32C,\n constants_1.ChecksumAlgorithm.SHA1,\n constants_1.ChecksumAlgorithm.SHA256,\n];\nexports.PRIORITY_ORDER_ALGORITHMS = [\n constants_1.ChecksumAlgorithm.CRC32,\n constants_1.ChecksumAlgorithm.CRC32C,\n constants_1.ChecksumAlgorithm.SHA1,\n constants_1.ChecksumAlgorithm.SHA256,\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateChecksumFromResponse = void 0;\nconst getChecksum_1 = require(\"./getChecksum\");\nconst getChecksumAlgorithmListForResponse_1 = require(\"./getChecksumAlgorithmListForResponse\");\nconst getChecksumLocationName_1 = require(\"./getChecksumLocationName\");\nconst selectChecksumAlgorithmFunction_1 = require(\"./selectChecksumAlgorithmFunction\");\nconst validateChecksumFromResponse = async (response, { config, responseAlgorithms }) => {\n const checksumAlgorithms = (0, getChecksumAlgorithmListForResponse_1.getChecksumAlgorithmListForResponse)(responseAlgorithms);\n const { body: responseBody, headers: responseHeaders } = response;\n for (const algorithm of checksumAlgorithms) {\n const responseHeader = (0, getChecksumLocationName_1.getChecksumLocationName)(algorithm);\n const checksumFromResponse = responseHeaders[responseHeader];\n if (checksumFromResponse) {\n const checksumAlgorithmFn = (0, selectChecksumAlgorithmFunction_1.selectChecksumAlgorithmFunction)(algorithm, config);\n const { streamHasher, base64Encoder } = config;\n const checksum = await (0, getChecksum_1.getChecksum)(responseBody, { streamHasher, checksumAlgorithmFn, base64Encoder });\n if (checksum === checksumFromResponse) {\n break;\n }\n throw new Error(`Checksum mismatch: expected \"${checksum}\" but received \"${checksumFromResponse}\"` +\n ` in response header \"${responseHeader}\".`);\n }\n }\n};\nexports.validateChecksumFromResponse = validateChecksumFromResponse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHostHeaderPlugin = exports.hostHeaderMiddlewareOptions = exports.hostHeaderMiddleware = exports.resolveHostHeaderConfig = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nfunction resolveHostHeaderConfig(input) {\n return input;\n}\nexports.resolveHostHeaderConfig = resolveHostHeaderConfig;\nconst hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!protocol_http_1.HttpRequest.isInstance(args.request))\n return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = \"\";\n }\n else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null)\n host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n};\nexports.hostHeaderMiddleware = hostHeaderMiddleware;\nexports.hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nconst getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.hostHeaderMiddleware)(options), exports.hostHeaderMiddlewareOptions);\n },\n});\nexports.getHostHeaderPlugin = getHostHeaderPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocationConstraintPlugin = exports.locationConstraintMiddlewareOptions = exports.locationConstraintMiddleware = void 0;\nfunction locationConstraintMiddleware(options) {\n return (next) => async (args) => {\n const { CreateBucketConfiguration } = args.input;\n const region = await options.region();\n if (!CreateBucketConfiguration || !CreateBucketConfiguration.LocationConstraint) {\n args = {\n ...args,\n input: {\n ...args.input,\n CreateBucketConfiguration: region === \"us-east-1\" ? undefined : { LocationConstraint: region },\n },\n };\n }\n return next(args);\n };\n}\nexports.locationConstraintMiddleware = locationConstraintMiddleware;\nexports.locationConstraintMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"LOCATION_CONSTRAINT\", \"CREATE_BUCKET_CONFIGURATION\"],\n name: \"locationConstraintMiddleware\",\n override: true,\n};\nconst getLocationConstraintPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(locationConstraintMiddleware(config), exports.locationConstraintMiddlewareOptions);\n },\n});\nexports.getLocationConstraintPlugin = getLocationConstraintPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./loggerMiddleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLoggerPlugin = exports.loggerMiddlewareOptions = exports.loggerMiddleware = void 0;\nconst loggerMiddleware = () => (next, context) => async (args) => {\n const response = await next(args);\n const { clientName, commandName, logger, inputFilterSensitiveLog, outputFilterSensitiveLog, dynamoDbDocumentClientOptions = {}, } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n if (!logger) {\n return response;\n }\n if (typeof logger.info === \"function\") {\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger.info({\n clientName,\n commandName,\n input: (overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : inputFilterSensitiveLog)(args.input),\n output: (overrideOutputFilterSensitiveLog !== null && overrideOutputFilterSensitiveLog !== void 0 ? overrideOutputFilterSensitiveLog : outputFilterSensitiveLog)(outputWithoutMetadata),\n metadata: $metadata,\n });\n }\n return response;\n};\nexports.loggerMiddleware = loggerMiddleware;\nexports.loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nconst getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions);\n },\n});\nexports.getLoggerPlugin = getLoggerPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRecursionDetectionPlugin = exports.addRecursionDetectionMiddlewareOptions = exports.recursionDetectionMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst TRACE_ID_HEADER_NAME = \"X-Amzn-Trace-Id\";\nconst ENV_LAMBDA_FUNCTION_NAME = \"AWS_LAMBDA_FUNCTION_NAME\";\nconst ENV_TRACE_ID = \"_X_AMZN_TRACE_ID\";\nconst recursionDetectionMiddleware = (options) => (next) => async (args) => {\n const { request } = args;\n if (!protocol_http_1.HttpRequest.isInstance(request) ||\n options.runtime !== \"node\" ||\n request.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) {\n return next(args);\n }\n const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\n const traceId = process.env[ENV_TRACE_ID];\n const nonEmptyString = (str) => typeof str === \"string\" && str.length > 0;\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\n }\n return next({\n ...args,\n request,\n });\n};\nexports.recursionDetectionMiddleware = recursionDetectionMiddleware;\nexports.addRecursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\nconst getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.recursionDetectionMiddleware)(options), exports.addRecursionDetectionMiddlewareOptions);\n },\n});\nexports.getRecursionDetectionPlugin = getRecursionDetectionPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AdaptiveRetryStrategy = void 0;\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst StandardRetryStrategy_1 = require(\"./StandardRetryStrategy\");\nclass AdaptiveRetryStrategy extends StandardRetryStrategy_1.StandardRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n const { rateLimiter, ...superOptions } = options !== null && options !== void 0 ? options : {};\n super(maxAttemptsProvider, superOptions);\n this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new util_retry_1.DefaultRateLimiter();\n this.mode = util_retry_1.RETRY_MODES.ADAPTIVE;\n }\n async retry(next, args) {\n return super.retry(next, args, {\n beforeRequest: async () => {\n return this.rateLimiter.getSendToken();\n },\n afterRequest: (response) => {\n this.rateLimiter.updateClientSendingRate(response);\n },\n });\n }\n}\nexports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StandardRetryStrategy = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst uuid_1 = require(\"uuid\");\nconst defaultRetryQuota_1 = require(\"./defaultRetryQuota\");\nconst delayDecider_1 = require(\"./delayDecider\");\nconst retryDecider_1 = require(\"./retryDecider\");\nconst util_1 = require(\"./util\");\nclass StandardRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n var _a, _b, _c;\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = util_retry_1.RETRY_MODES.STANDARD;\n this.retryDecider = (_a = options === null || options === void 0 ? void 0 : options.retryDecider) !== null && _a !== void 0 ? _a : retryDecider_1.defaultRetryDecider;\n this.delayDecider = (_b = options === null || options === void 0 ? void 0 : options.delayDecider) !== null && _b !== void 0 ? _b : delayDecider_1.defaultDelayDecider;\n this.retryQuota = (_c = options === null || options === void 0 ? void 0 : options.retryQuota) !== null && _c !== void 0 ? _c : (0, defaultRetryQuota_1.getDefaultRetryQuota)(util_retry_1.INITIAL_RETRY_TOKENS);\n }\n shouldRetry(error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n }\n catch (error) {\n maxAttempts = util_retry_1.DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n async retry(next, args, options) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n const maxAttempts = await this.getMaxAttempts();\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n request.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)();\n }\n while (true) {\n try {\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n request.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n if (options === null || options === void 0 ? void 0 : options.beforeRequest) {\n await options.beforeRequest();\n }\n const { response, output } = await next(args);\n if (options === null || options === void 0 ? void 0 : options.afterRequest) {\n options.afterRequest(response);\n }\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return { response, output };\n }\n catch (e) {\n const err = (0, util_1.asSdkError)(e);\n attempts++;\n if (this.shouldRetry(err, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delayFromDecider = this.delayDecider((0, service_error_classification_1.isThrottlingError)(err) ? util_retry_1.THROTTLING_RETRY_DELAY_BASE : util_retry_1.DEFAULT_RETRY_DELAY_BASE, attempts);\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\nexports.StandardRetryStrategy = StandardRetryStrategy;\nconst getDelayFromRetryAfterHeader = (response) => {\n if (!protocol_http_1.HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return retryAfterSeconds * 1000;\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_RETRY_MODE_CONFIG_OPTIONS = exports.CONFIG_RETRY_MODE = exports.ENV_RETRY_MODE = exports.resolveRetryConfig = exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = exports.CONFIG_MAX_ATTEMPTS = exports.ENV_MAX_ATTEMPTS = void 0;\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nexports.ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexports.CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[exports.ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${exports.ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[exports.CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${exports.CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: util_retry_1.DEFAULT_MAX_ATTEMPTS,\n};\nconst resolveRetryConfig = (input) => {\n var _a;\n const { retryStrategy } = input;\n const maxAttempts = (0, util_middleware_1.normalizeProvider)((_a = input.maxAttempts) !== null && _a !== void 0 ? _a : util_retry_1.DEFAULT_MAX_ATTEMPTS);\n return {\n ...input,\n maxAttempts,\n retryStrategy: async () => {\n if (retryStrategy) {\n return retryStrategy;\n }\n const retryMode = await (0, util_middleware_1.normalizeProvider)(input.retryMode)();\n if (retryMode === util_retry_1.RETRY_MODES.ADAPTIVE) {\n return new util_retry_1.AdaptiveRetryStrategy(maxAttempts);\n }\n return new util_retry_1.StandardRetryStrategy(maxAttempts);\n },\n };\n};\nexports.resolveRetryConfig = resolveRetryConfig;\nexports.ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexports.CONFIG_RETRY_MODE = \"retry_mode\";\nexports.NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[exports.ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[exports.CONFIG_RETRY_MODE],\n default: util_retry_1.DEFAULT_RETRY_MODE,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultRetryQuota = void 0;\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst getDefaultRetryQuota = (initialRetryTokens, options) => {\n var _a, _b, _c;\n const MAX_CAPACITY = initialRetryTokens;\n const noRetryIncrement = (_a = options === null || options === void 0 ? void 0 : options.noRetryIncrement) !== null && _a !== void 0 ? _a : util_retry_1.NO_RETRY_INCREMENT;\n const retryCost = (_b = options === null || options === void 0 ? void 0 : options.retryCost) !== null && _b !== void 0 ? _b : util_retry_1.RETRY_COST;\n const timeoutRetryCost = (_c = options === null || options === void 0 ? void 0 : options.timeoutRetryCost) !== null && _c !== void 0 ? _c : util_retry_1.TIMEOUT_RETRY_COST;\n let availableCapacity = initialRetryTokens;\n const getCapacityAmount = (error) => (error.name === \"TimeoutError\" ? timeoutRetryCost : retryCost);\n const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity;\n const retrieveRetryTokens = (error) => {\n if (!hasRetryTokens(error)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n const releaseRetryTokens = (capacityReleaseAmount) => {\n availableCapacity += capacityReleaseAmount !== null && capacityReleaseAmount !== void 0 ? capacityReleaseAmount : noRetryIncrement;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens,\n });\n};\nexports.getDefaultRetryQuota = getDefaultRetryQuota;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultDelayDecider = void 0;\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(util_retry_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\nexports.defaultDelayDecider = defaultDelayDecider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AdaptiveRetryStrategy\"), exports);\ntslib_1.__exportStar(require(\"./StandardRetryStrategy\"), exports);\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./delayDecider\"), exports);\ntslib_1.__exportStar(require(\"./omitRetryHeadersMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./retryDecider\"), exports);\ntslib_1.__exportStar(require(\"./retryMiddleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOmitRetryHeadersPlugin = exports.omitRetryHeadersMiddlewareOptions = exports.omitRetryHeadersMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst omitRetryHeadersMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n delete request.headers[util_retry_1.INVOCATION_ID_HEADER];\n delete request.headers[util_retry_1.REQUEST_HEADER];\n }\n return next(args);\n};\nexports.omitRetryHeadersMiddleware = omitRetryHeadersMiddleware;\nexports.omitRetryHeadersMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n};\nconst getOmitRetryHeadersPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, exports.omitRetryHeadersMiddleware)(), exports.omitRetryHeadersMiddlewareOptions);\n },\n});\nexports.getOmitRetryHeadersPlugin = getOmitRetryHeadersPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultRetryDecider = void 0;\nconst service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nconst defaultRetryDecider = (error) => {\n if (!error) {\n return false;\n }\n return (0, service_error_classification_1.isRetryableByTrait)(error) || (0, service_error_classification_1.isClockSkewError)(error) || (0, service_error_classification_1.isThrottlingError)(error) || (0, service_error_classification_1.isTransientError)(error);\n};\nexports.defaultRetryDecider = defaultRetryDecider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRetryAfterHint = exports.getRetryPlugin = exports.retryMiddlewareOptions = exports.retryMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nconst util_retry_1 = require(\"@aws-sdk/util-retry\");\nconst uuid_1 = require(\"uuid\");\nconst util_1 = require(\"./util\");\nconst retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n request.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)();\n }\n while (true) {\n try {\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n request.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetyErrorInto(e);\n lastError = (0, util_1.asSdkError)(e);\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy === null || retryStrategy === void 0 ? void 0 : retryStrategy.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nexports.retryMiddleware = retryMiddleware;\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetyErrorInto = (error) => {\n const errorInfo = {\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = (0, exports.getRetryAfterHint)(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if ((0, service_error_classification_1.isThrottlingError)(error))\n return \"THROTTLING\";\n if ((0, service_error_classification_1.isTransientError)(error))\n return \"TRANSIENT\";\n if ((0, service_error_classification_1.isServerError)(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nexports.retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nconst getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.retryMiddleware)(options), exports.retryMiddlewareOptions);\n },\n});\nexports.getRetryPlugin = getRetryPlugin;\nconst getRetryAfterHint = (response) => {\n if (!protocol_http_1.HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\nexports.getRetryAfterHint = getRetryAfterHint;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.asSdkError = void 0;\nconst asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\nexports.asSdkError = asSdkError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCheckContentLengthHeaderPlugin = exports.checkContentLengthHeaderMiddlewareOptions = exports.checkContentLengthHeader = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nfunction checkContentLengthHeader() {\n return (next, context) => async (args) => {\n var _a;\n const { request } = args;\n if (protocol_http_1.HttpRequest.isInstance(request)) {\n if (!request.headers[CONTENT_LENGTH_HEADER]) {\n const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;\n if (typeof ((_a = context === null || context === void 0 ? void 0 : context.logger) === null || _a === void 0 ? void 0 : _a.warn) === \"function\") {\n context.logger.warn(message);\n }\n else {\n console.warn(message);\n }\n }\n }\n return next({ ...args });\n };\n}\nexports.checkContentLengthHeader = checkContentLengthHeader;\nexports.checkContentLengthHeaderMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"CHECK_CONTENT_LENGTH_HEADER\"],\n name: \"getCheckContentLengthHeaderPlugin\",\n override: true,\n};\nconst getCheckContentLengthHeaderPlugin = (unused) => ({\n applyToStack: (clientStack) => {\n clientStack.add(checkContentLengthHeader(), exports.checkContentLengthHeaderMiddlewareOptions);\n },\n});\nexports.getCheckContentLengthHeaderPlugin = getCheckContentLengthHeaderPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveS3Config = void 0;\nconst resolveS3Config = (input) => {\n var _a, _b, _c;\n return ({\n ...input,\n forcePathStyle: (_a = input.forcePathStyle) !== null && _a !== void 0 ? _a : false,\n useAccelerateEndpoint: (_b = input.useAccelerateEndpoint) !== null && _b !== void 0 ? _b : false,\n disableMultiregionAccessPoints: (_c = input.disableMultiregionAccessPoints) !== null && _c !== void 0 ? _c : false,\n });\n};\nexports.resolveS3Config = resolveS3Config;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./check-content-length-header\"), exports);\ntslib_1.__exportStar(require(\"./configuration\"), exports);\ntslib_1.__exportStar(require(\"./throw-200-exceptions\"), exports);\ntslib_1.__exportStar(require(\"./validate-bucket-name\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getThrow200ExceptionsPlugin = exports.throw200ExceptionsMiddlewareOptions = exports.throw200ExceptionsMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst throw200ExceptionsMiddleware = (config) => (next) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (!protocol_http_1.HttpResponse.isInstance(response))\n return result;\n const { statusCode, body } = response;\n if (statusCode < 200 || statusCode >= 300)\n return result;\n const bodyBytes = await collectBody(body, config);\n const bodyString = await collectBodyString(bodyBytes, config);\n if (bodyBytes.length === 0) {\n const err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyString && bodyString.match(\"\")) {\n response.statusCode = 400;\n }\n response.body = bodyBytes;\n return result;\n};\nexports.throw200ExceptionsMiddleware = throw200ExceptionsMiddleware;\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nexports.throw200ExceptionsMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true,\n};\nconst getThrow200ExceptionsPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, exports.throw200ExceptionsMiddleware)(config), exports.throw200ExceptionsMiddlewareOptions);\n },\n});\nexports.getThrow200ExceptionsPlugin = getThrow200ExceptionsPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getValidateBucketNamePlugin = exports.validateBucketNameMiddlewareOptions = exports.validateBucketNameMiddleware = void 0;\nconst util_arn_parser_1 = require(\"@aws-sdk/util-arn-parser\");\nfunction validateBucketNameMiddleware() {\n return (next) => async (args) => {\n const { input: { Bucket }, } = args;\n if (typeof Bucket === \"string\" && !(0, util_arn_parser_1.validate)(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return next({ ...args });\n };\n}\nexports.validateBucketNameMiddleware = validateBucketNameMiddleware;\nexports.validateBucketNameMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true,\n};\nconst getValidateBucketNamePlugin = (unused) => ({\n applyToStack: (clientStack) => {\n clientStack.add(validateBucketNameMiddleware(), exports.validateBucketNameMiddlewareOptions);\n },\n});\nexports.getValidateBucketNamePlugin = getValidateBucketNamePlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveStsAuthConfig = void 0;\nconst middleware_signing_1 = require(\"@aws-sdk/middleware-signing\");\nconst resolveStsAuthConfig = (input, { stsClientCtor }) => (0, middleware_signing_1.resolveAwsAuthConfig)({\n ...input,\n stsClientCtor,\n});\nexports.resolveStsAuthConfig = resolveStsAuthConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deserializerMiddleware = void 0;\nconst deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n });\n throw error;\n }\n};\nexports.deserializerMiddleware = deserializerMiddleware;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./deserializerMiddleware\"), exports);\ntslib_1.__exportStar(require(\"./serdePlugin\"), exports);\ntslib_1.__exportStar(require(\"./serializerMiddleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSerdePlugin = exports.serializerMiddlewareOption = exports.deserializerMiddlewareOption = void 0;\nconst deserializerMiddleware_1 = require(\"./deserializerMiddleware\");\nconst serializerMiddleware_1 = require(\"./serializerMiddleware\");\nexports.deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexports.serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nfunction getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add((0, deserializerMiddleware_1.deserializerMiddleware)(config, deserializer), exports.deserializerMiddlewareOption);\n commandStack.add((0, serializerMiddleware_1.serializerMiddleware)(config, serializer), exports.serializerMiddlewareOption);\n },\n };\n}\nexports.getSerdePlugin = getSerdePlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializerMiddleware = void 0;\nconst serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n var _a;\n const endpoint = ((_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.url) && options.urlParser\n ? async () => options.urlParser(context.endpointV2.url)\n : options.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\nexports.serializerMiddleware = serializerMiddleware;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst signature_v4_1 = require(\"@aws-sdk/signature-v4\");\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst CREDENTIAL_EXPIRE_WINDOW = 300000;\nconst resolveAwsAuthConfig = (input) => {\n const normalizedCreds = input.credentials\n ? normalizeCredentialProvider(input.credentials)\n : input.credentialDefaultProvider(input);\n const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;\n let signer;\n if (input.signer) {\n signer = (0, util_middleware_1.normalizeProvider)(input.signer);\n }\n else if (input.regionInfoProvider) {\n signer = () => (0, util_middleware_1.normalizeProvider)(input.region)()\n .then(async (region) => [\n (await input.regionInfoProvider(region, {\n useFipsEndpoint: await input.useFipsEndpoint(),\n useDualstackEndpoint: await input.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n input.signingRegion = input.signingRegion || signingRegion || region;\n input.signingName = input.signingName || signingService || input.serviceId;\n const params = {\n ...input,\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: input.signingName || input.defaultSigningName,\n signingRegion: await (0, util_middleware_1.normalizeProvider)(input.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n input.signingRegion = input.signingRegion || signingRegion;\n input.signingName = input.signingName || signingService || input.serviceId;\n const params = {\n ...input,\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4;\n return new SignerCtor(params);\n };\n }\n return {\n ...input,\n systemClockOffset,\n signingEscapePath,\n credentials: normalizedCreds,\n signer,\n };\n};\nexports.resolveAwsAuthConfig = resolveAwsAuthConfig;\nconst resolveSigV4AuthConfig = (input) => {\n const normalizedCreds = input.credentials\n ? normalizeCredentialProvider(input.credentials)\n : input.credentialDefaultProvider(input);\n const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;\n let signer;\n if (input.signer) {\n signer = (0, util_middleware_1.normalizeProvider)(input.signer);\n }\n else {\n signer = (0, util_middleware_1.normalizeProvider)(new signature_v4_1.SignatureV4({\n credentials: normalizedCreds,\n region: input.region,\n service: input.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n }));\n }\n return {\n ...input,\n systemClockOffset,\n signingEscapePath,\n credentials: normalizedCreds,\n signer,\n };\n};\nexports.resolveSigV4AuthConfig = resolveSigV4AuthConfig;\nconst normalizeCredentialProvider = (credentials) => {\n if (typeof credentials === \"function\") {\n return (0, property_provider_1.memoize)(credentials, (credentials) => credentials.expiration !== undefined &&\n credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);\n }\n return (0, util_middleware_1.normalizeProvider)(credentials);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./middleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSigV4AuthPlugin = exports.getAwsAuthPlugin = exports.awsAuthMiddlewareOptions = exports.awsAuthMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst getSkewCorrectedDate_1 = require(\"./utils/getSkewCorrectedDate\");\nconst getUpdatedSystemClockOffset_1 = require(\"./utils/getUpdatedSystemClockOffset\");\nconst awsAuthMiddleware = (options) => (next, context) => async function (args) {\n var _a, _b, _c, _d;\n if (!protocol_http_1.HttpRequest.isInstance(args.request))\n return next(args);\n const authScheme = (_c = (_b = (_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0];\n const multiRegionOverride = (authScheme === null || authScheme === void 0 ? void 0 : authScheme.name) === \"sigv4a\" ? (_d = authScheme === null || authScheme === void 0 ? void 0 : authScheme.signingRegionSet) === null || _d === void 0 ? void 0 : _d.join(\",\") : undefined;\n const signer = await options.signer(authScheme);\n const output = await next({\n ...args,\n request: await signer.sign(args.request, {\n signingDate: (0, getSkewCorrectedDate_1.getSkewCorrectedDate)(options.systemClockOffset),\n signingRegion: multiRegionOverride || context[\"signing_region\"],\n signingService: context[\"signing_service\"],\n }),\n }).catch((error) => {\n var _a;\n const serverTime = (_a = error.ServerTime) !== null && _a !== void 0 ? _a : getDateHeader(error.$response);\n if (serverTime) {\n options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(serverTime, options.systemClockOffset);\n }\n throw error;\n });\n const dateHeader = getDateHeader(output.response);\n if (dateHeader) {\n options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset);\n }\n return output;\n};\nexports.awsAuthMiddleware = awsAuthMiddleware;\nconst getDateHeader = (response) => { var _a, _b, _c; return protocol_http_1.HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : undefined; };\nexports.awsAuthMiddlewareOptions = {\n name: \"awsAuthMiddleware\",\n tags: [\"SIGNATURE\", \"AWSAUTH\"],\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n override: true,\n};\nconst getAwsAuthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo((0, exports.awsAuthMiddleware)(options), exports.awsAuthMiddlewareOptions);\n },\n});\nexports.getAwsAuthPlugin = getAwsAuthPlugin;\nexports.getSigV4AuthPlugin = exports.getAwsAuthPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSkewCorrectedDate = void 0;\nconst getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\nexports.getSkewCorrectedDate = getSkewCorrectedDate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUpdatedSystemClockOffset = void 0;\nconst isClockSkewed_1 = require(\"./isClockSkewed\");\nconst getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\nexports.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isClockSkewed = void 0;\nconst getSkewCorrectedDate_1 = require(\"./getSkewCorrectedDate\");\nconst isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 300000;\nexports.isClockSkewed = isClockSkewed;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSsecPlugin = exports.ssecMiddlewareOptions = exports.ssecMiddleware = void 0;\nfunction ssecMiddleware(options) {\n return (next) => async (args) => {\n let input = { ...args.input };\n const properties = [\n {\n target: \"SSECustomerKey\",\n hash: \"SSECustomerKeyMD5\",\n },\n {\n target: \"CopySourceSSECustomerKey\",\n hash: \"CopySourceSSECustomerKeyMD5\",\n },\n ];\n for (const prop of properties) {\n const value = input[prop.target];\n if (value) {\n const valueView = ArrayBuffer.isView(value)\n ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength)\n : typeof value === \"string\"\n ? options.utf8Decoder(value)\n : new Uint8Array(value);\n const encoded = options.base64Encoder(valueView);\n const hash = new options.md5();\n hash.update(valueView);\n input = {\n ...input,\n [prop.target]: encoded,\n [prop.hash]: options.base64Encoder(await hash.digest()),\n };\n }\n }\n return next({\n ...args,\n input,\n });\n };\n}\nexports.ssecMiddleware = ssecMiddleware;\nexports.ssecMiddlewareOptions = {\n name: \"ssecMiddleware\",\n step: \"initialize\",\n tags: [\"SSE\"],\n override: true,\n};\nconst getSsecPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(ssecMiddleware(config), exports.ssecMiddlewareOptions);\n },\n});\nexports.getSsecPlugin = getSsecPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.constructStack = void 0;\nconst constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.name && entry.name === toRemove) {\n isRemoved = true;\n entriesNameSet.delete(toRemove);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n if (entry.name)\n entriesNameSet.delete(entry.name);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n return toStack;\n };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n if (normalizedEntry.name)\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n if (normalizedEntry.name)\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ${entry.name || \"anonymous\"} middleware ${entry.relation} ${entry.toMiddleware}`);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expendedMiddlewareList) => {\n wholeList.push(...expendedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override)\n throw new Error(`Duplicate middleware name '${name}'`);\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === name);\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) {\n throw new Error(`\"${name}\" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be ` +\n `overridden by same-name middleware with ${entry.priority} priority in ${entry.step} step.`);\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override } = options;\n const entry = {\n middleware,\n ...options,\n };\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override)\n throw new Error(`Duplicate middleware name '${name}'`);\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === name);\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(`\"${name}\" middleware ${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by same-name middleware ${entry.relation} \"${entry.toMiddleware}\" middleware.`);\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo((0, exports.constructStack)()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const { tags, name } = entry;\n if (tags && tags.includes(toRemove)) {\n if (name)\n entriesNameSet.delete(name);\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo((0, exports.constructStack)());\n cloned.use(from);\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n return mw.name + \": \" + (mw.tags || []).join(\",\");\n });\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n return handler;\n },\n };\n return stack;\n};\nexports.constructStack = constructStack;\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./MiddlewareStack\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveUserAgentConfig = void 0;\nfunction resolveUserAgentConfig(input) {\n return {\n ...input,\n customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent,\n };\n}\nexports.resolveUserAgentConfig = resolveUserAgentConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UA_ESCAPE_REGEX = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0;\nexports.USER_AGENT = \"user-agent\";\nexports.X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexports.SPACE = \" \";\nexports.UA_ESCAPE_REGEX = /[^\\!\\#\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./configurations\"), exports);\ntslib_1.__exportStar(require(\"./user-agent-middleware\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUserAgentPlugin = exports.getUserAgentMiddlewareOptions = exports.userAgentMiddleware = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst constants_1 = require(\"./constants\");\nconst userAgentMiddleware = (options) => (next, context) => async (args) => {\n var _a, _b;\n const { request } = args;\n if (!protocol_http_1.HttpRequest.isInstance(request))\n return next(args);\n const { headers } = request;\n const userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n const customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || [];\n const sdkUserAgentValue = [...defaultUserAgent, ...userAgent, ...customUserAgent].join(constants_1.SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(constants_1.SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[constants_1.X_AMZ_USER_AGENT] = headers[constants_1.X_AMZ_USER_AGENT]\n ? `${headers[constants_1.USER_AGENT]} ${normalUAValue}`\n : normalUAValue;\n }\n headers[constants_1.USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[constants_1.X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request,\n });\n};\nexports.userAgentMiddleware = userAgentMiddleware;\nconst escapeUserAgent = ([name, version]) => {\n const prefixSeparatorIndex = name.indexOf(\"/\");\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .map((item) => item === null || item === void 0 ? void 0 : item.replace(constants_1.UA_ESCAPE_REGEX, \"_\"))\n .join(\"/\");\n};\nexports.getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nconst getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add((0, exports.userAgentMiddleware)(config), exports.getUserAgentMiddlewareOptions);\n },\n});\nexports.getUserAgentPlugin = getUserAgentPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadConfig = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromEnv_1 = require(\"./fromEnv\");\nconst fromSharedConfigFiles_1 = require(\"./fromSharedConfigFiles\");\nconst fromStatic_1 = require(\"./fromStatic\");\nconst loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromEnv_1.fromEnv)(environmentVariableSelector), (0, fromSharedConfigFiles_1.fromSharedConfigFiles)(configFileSelector, configuration), (0, fromStatic_1.fromStatic)(defaultValue)));\nexports.loadConfig = loadConfig;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromEnv = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromEnv = (envVarSelector) => async () => {\n try {\n const config = envVarSelector(process.env);\n if (config === undefined) {\n throw new Error();\n }\n return config;\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(e.message || `Cannot load config from environment variables with getter: ${envVarSelector}`);\n }\n};\nexports.fromEnv = fromEnv;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromSharedConfigFiles = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst fromSharedConfigFiles = (configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = (0, shared_ini_file_loader_1.getProfileName)(init);\n const { configFile, credentialsFile } = await (0, shared_ini_file_loader_1.loadSharedConfigFiles)(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\"\n ? { ...profileFromCredentials, ...profileFromConfig }\n : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const configValue = configSelector(mergedProfile);\n if (configValue === undefined) {\n throw new Error();\n }\n return configValue;\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(e.message ||\n `Cannot load config for profile ${profile} in SDK configuration files with getter: ${configSelector}`);\n }\n};\nexports.fromSharedConfigFiles = fromSharedConfigFiles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromStatic = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst isFunction = (func) => typeof func === \"function\";\nconst fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, property_provider_1.fromStatic)(defaultValue);\nexports.fromStatic = fromStatic;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./configLoader\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODEJS_TIMEOUT_ERROR_CODES = void 0;\nexports.NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTransformedHeaders = void 0;\nconst getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\nexports.getTransformedHeaders = getTransformedHeaders;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./node-http-handler\"), exports);\ntslib_1.__exportStar(require(\"./node-http2-handler\"), exports);\ntslib_1.__exportStar(require(\"./stream-collector\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NodeHttpHandler = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst querystring_builder_1 = require(\"@aws-sdk/querystring-builder\");\nconst http_1 = require(\"http\");\nconst https_1 = require(\"https\");\nconst constants_1 = require(\"./constants\");\nconst get_transformed_headers_1 = require(\"./get-transformed-headers\");\nconst set_connection_timeout_1 = require(\"./set-connection-timeout\");\nconst set_socket_timeout_1 = require(\"./set-socket-timeout\");\nconst write_request_body_1 = require(\"./write-request-body\");\nclass NodeHttpHandler {\n constructor(options) {\n this.metadata = { handlerProtocol: \"http/1.1\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n resolveDefaultConfig(options) {\n const { connectionTimeout, socketTimeout, httpAgent, httpsAgent } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n socketTimeout,\n httpAgent: httpAgent || new http_1.Agent({ keepAlive, maxSockets }),\n httpsAgent: httpsAgent || new https_1.Agent({ keepAlive, maxSockets }),\n };\n }\n destroy() {\n var _a, _b, _c, _d;\n (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.httpAgent) === null || _b === void 0 ? void 0 : _b.destroy();\n (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.httpsAgent) === null || _d === void 0 ? void 0 : _d.destroy();\n }\n async handle(request, { abortSignal } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((resolve, reject) => {\n if (!this.config) {\n throw new Error(\"Node HTTP request handler config is not resolved\");\n }\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const queryString = (0, querystring_builder_1.buildQueryString)(request.query || {});\n const nodeHttpsOptions = {\n headers: request.headers,\n host: request.hostname,\n method: request.method,\n path: queryString ? `${request.path}?${queryString}` : request.path,\n port: request.port,\n agent: isSSL ? this.config.httpsAgent : this.config.httpAgent,\n };\n const requestFunc = isSSL ? https_1.request : http_1.request;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new protocol_http_1.HttpResponse({\n statusCode: res.statusCode || -1,\n headers: (0, get_transformed_headers_1.getTransformedHeaders)(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n (0, set_connection_timeout_1.setConnectionTimeout)(req, reject, this.config.connectionTimeout);\n (0, set_socket_timeout_1.setSocketTimeout)(req, reject, this.config.socketTimeout);\n if (abortSignal) {\n abortSignal.onabort = () => {\n req.abort();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n }\n (0, write_request_body_1.writeRequestBody)(req, request);\n });\n }\n}\nexports.NodeHttpHandler = NodeHttpHandler;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NodeHttp2Handler = void 0;\nconst protocol_http_1 = require(\"@aws-sdk/protocol-http\");\nconst querystring_builder_1 = require(\"@aws-sdk/querystring-builder\");\nconst http2_1 = require(\"http2\");\nconst get_transformed_headers_1 = require(\"./get-transformed-headers\");\nconst write_request_body_1 = require(\"./write-request-body\");\nclass NodeHttp2Handler {\n constructor(options) {\n this.metadata = { handlerProtocol: \"h2\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n this.sessionCache = new Map();\n }\n destroy() {\n for (const sessions of this.sessionCache.values()) {\n sessions.forEach((session) => this.destroySession(session));\n }\n this.sessionCache.clear();\n }\n async handle(request, { abortSignal } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const { requestTimeout, disableConcurrentStreams } = this.config;\n return new Promise((resolve, rejectOriginal) => {\n let fulfilled = false;\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n fulfilled = true;\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectOriginal(abortError);\n return;\n }\n const { hostname, method, port, protocol, path, query } = request;\n const authority = `${protocol}//${hostname}${port ? `:${port}` : \"\"}`;\n const session = this.getSession(authority, disableConcurrentStreams || false);\n const reject = (err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n rejectOriginal(err);\n };\n const queryString = (0, querystring_builder_1.buildQueryString)(query || {});\n const req = session.request({\n ...request.headers,\n [http2_1.constants.HTTP2_HEADER_PATH]: queryString ? `${path}?${queryString}` : path,\n [http2_1.constants.HTTP2_HEADER_METHOD]: method,\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new protocol_http_1.HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: (0, get_transformed_headers_1.getTransformedHeaders)(headers),\n body: req,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.deleteSessionFromCache(authority, session);\n }\n });\n if (requestTimeout) {\n req.setTimeout(requestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n });\n }\n if (abortSignal) {\n abortSignal.onabort = () => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n }\n req.on(\"frameError\", (type, code, id) => {\n reject(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", reject);\n req.on(\"aborted\", () => {\n reject(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n reject(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n (0, write_request_body_1.writeRequestBody)(req, request);\n });\n }\n getSession(authority, disableConcurrentStreams) {\n var _a;\n const sessionCache = this.sessionCache;\n const existingSessions = sessionCache.get(authority) || [];\n if (existingSessions.length > 0 && !disableConcurrentStreams)\n return existingSessions[0];\n const newSession = (0, http2_1.connect)(authority);\n newSession.unref();\n const destroySessionCb = () => {\n this.destroySession(newSession);\n this.deleteSessionFromCache(authority, newSession);\n };\n newSession.on(\"goaway\", destroySessionCb);\n newSession.on(\"error\", destroySessionCb);\n newSession.on(\"frameError\", destroySessionCb);\n newSession.on(\"close\", () => this.deleteSessionFromCache(authority, newSession));\n if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.sessionTimeout) {\n newSession.setTimeout(this.config.sessionTimeout, destroySessionCb);\n }\n existingSessions.push(newSession);\n sessionCache.set(authority, existingSessions);\n return newSession;\n }\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n deleteSessionFromCache(authority, session) {\n const existingSessions = this.sessionCache.get(authority) || [];\n if (!existingSessions.includes(session)) {\n return;\n }\n this.sessionCache.set(authority, existingSessions.filter((s) => s !== session));\n }\n}\nexports.NodeHttp2Handler = NodeHttp2Handler;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setConnectionTimeout = void 0;\nconst setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return;\n }\n request.on(\"socket\", (socket) => {\n if (socket.connecting) {\n const timeoutId = setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs);\n socket.on(\"connect\", () => {\n clearTimeout(timeoutId);\n });\n }\n });\n};\nexports.setConnectionTimeout = setConnectionTimeout;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setSocketTimeout = void 0;\nconst setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n request.setTimeout(timeoutInMs, () => {\n request.destroy();\n reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: \"TimeoutError\" }));\n });\n};\nexports.setSocketTimeout = setSocketTimeout;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Collector = void 0;\nconst stream_1 = require(\"stream\");\nclass Collector extends stream_1.Writable {\n constructor() {\n super(...arguments);\n this.bufferedBytes = [];\n }\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\nexports.Collector = Collector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.streamCollector = void 0;\nconst collector_1 = require(\"./collector\");\nconst streamCollector = (stream) => new Promise((resolve, reject) => {\n const collector = new collector_1.Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n});\nexports.streamCollector = streamCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.writeRequestBody = void 0;\nconst stream_1 = require(\"stream\");\nfunction writeRequestBody(httpRequest, request) {\n const expect = request.headers[\"Expect\"] || request.headers[\"expect\"];\n if (expect === \"100-continue\") {\n httpRequest.on(\"continue\", () => {\n writeBody(httpRequest, request.body);\n });\n }\n else {\n writeBody(httpRequest, request.body);\n }\n}\nexports.writeRequestBody = writeRequestBody;\nfunction writeBody(httpRequest, body) {\n if (body instanceof stream_1.Readable) {\n body.pipe(httpRequest);\n }\n else if (body) {\n httpRequest.end(Buffer.from(body));\n }\n else {\n httpRequest.end();\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CredentialsProviderError = void 0;\nconst ProviderError_1 = require(\"./ProviderError\");\nclass CredentialsProviderError extends ProviderError_1.ProviderError {\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n this.name = \"CredentialsProviderError\";\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\nexports.CredentialsProviderError = CredentialsProviderError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProviderError = void 0;\nclass ProviderError extends Error {\n constructor(message, tryNextLink = true) {\n super(message);\n this.tryNextLink = tryNextLink;\n this.name = \"ProviderError\";\n Object.setPrototypeOf(this, ProviderError.prototype);\n }\n static from(error, tryNextLink = true) {\n return Object.assign(new this(error.message, tryNextLink), error);\n }\n}\nexports.ProviderError = ProviderError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenProviderError = void 0;\nconst ProviderError_1 = require(\"./ProviderError\");\nclass TokenProviderError extends ProviderError_1.ProviderError {\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n this.name = \"TokenProviderError\";\n Object.setPrototypeOf(this, TokenProviderError.prototype);\n }\n}\nexports.TokenProviderError = TokenProviderError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.chain = void 0;\nconst ProviderError_1 = require(\"./ProviderError\");\nfunction chain(...providers) {\n return () => {\n let promise = Promise.reject(new ProviderError_1.ProviderError(\"No providers in chain\"));\n for (const provider of providers) {\n promise = promise.catch((err) => {\n if (err === null || err === void 0 ? void 0 : err.tryNextLink) {\n return provider();\n }\n throw err;\n });\n }\n return promise;\n };\n}\nexports.chain = chain;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromStatic = void 0;\nconst fromStatic = (staticValue) => () => Promise.resolve(staticValue);\nexports.fromStatic = fromStatic;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./CredentialsProviderError\"), exports);\ntslib_1.__exportStar(require(\"./ProviderError\"), exports);\ntslib_1.__exportStar(require(\"./TokenProviderError\"), exports);\ntslib_1.__exportStar(require(\"./chain\"), exports);\ntslib_1.__exportStar(require(\"./fromStatic\"), exports);\ntslib_1.__exportStar(require(\"./memoize\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.memoize = void 0;\nconst memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\nexports.memoize = memoize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Field = void 0;\nconst FieldPosition_1 = require(\"./FieldPosition\");\nclass Field {\n constructor({ name, kind = FieldPosition_1.FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values\n .map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v))\n .join(\", \");\n }\n get() {\n return this.values;\n }\n}\nexports.Field = Field;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FieldPosition = void 0;\nvar FieldPosition;\n(function (FieldPosition) {\n FieldPosition[FieldPosition[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition[FieldPosition[\"TRAILER\"] = 1] = \"TRAILER\";\n})(FieldPosition = exports.FieldPosition || (exports.FieldPosition = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Fields = void 0;\nclass Fields {\n constructor({ fields = [], encoding = \"utf-8\" }) {\n this.entries = {};\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name] = field;\n }\n getField(name) {\n return this.entries[name];\n }\n removeField(name) {\n delete this.entries[name];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\nexports.Fields = Fields;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpRequest = void 0;\nclass HttpRequest {\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.slice(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n }\n static isInstance(request) {\n if (!request)\n return false;\n const req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n }\n clone() {\n const cloned = new HttpRequest({\n ...this,\n headers: { ...this.headers },\n });\n if (cloned.query)\n cloned.query = cloneQuery(cloned.query);\n return cloned;\n }\n}\nexports.HttpRequest = HttpRequest;\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpResponse = void 0;\nclass HttpResponse {\n constructor(options) {\n this.statusCode = options.statusCode;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\nexports.HttpResponse = HttpResponse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./Field\"), exports);\ntslib_1.__exportStar(require(\"./FieldPosition\"), exports);\ntslib_1.__exportStar(require(\"./Fields\"), exports);\ntslib_1.__exportStar(require(\"./httpHandler\"), exports);\ntslib_1.__exportStar(require(\"./httpRequest\"), exports);\ntslib_1.__exportStar(require(\"./httpResponse\"), exports);\ntslib_1.__exportStar(require(\"./isValidHostname\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidHostname = void 0;\nfunction isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\nexports.isValidHostname = isValidHostname;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildQueryString = void 0;\nconst util_uri_escape_1 = require(\"@aws-sdk/util-uri-escape\");\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = (0, util_uri_escape_1.escapeUri)(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${(0, util_uri_escape_1.escapeUri)(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${(0, util_uri_escape_1.escapeUri)(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\nexports.buildQueryString = buildQueryString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseQueryString = void 0;\nfunction parseQueryString(querystring) {\n const query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\nexports.parseQueryString = parseQueryString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODEJS_TIMEOUT_ERROR_CODES = exports.TRANSIENT_ERROR_STATUS_CODES = exports.TRANSIENT_ERROR_CODES = exports.THROTTLING_ERROR_CODES = exports.CLOCK_SKEW_ERROR_CODES = void 0;\nexports.CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nexports.THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nexports.TRANSIENT_ERROR_CODES = [\"AbortError\", \"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexports.TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexports.NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isServerError = exports.isTransientError = exports.isThrottlingError = exports.isClockSkewError = exports.isRetryableByTrait = void 0;\nconst constants_1 = require(\"./constants\");\nconst isRetryableByTrait = (error) => error.$retryable !== undefined;\nexports.isRetryableByTrait = isRetryableByTrait;\nconst isClockSkewError = (error) => constants_1.CLOCK_SKEW_ERROR_CODES.includes(error.name);\nexports.isClockSkewError = isClockSkewError;\nconst isThrottlingError = (error) => {\n var _a, _b;\n return ((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 429 ||\n constants_1.THROTTLING_ERROR_CODES.includes(error.name) ||\n ((_b = error.$retryable) === null || _b === void 0 ? void 0 : _b.throttling) == true;\n};\nexports.isThrottlingError = isThrottlingError;\nconst isTransientError = (error) => {\n var _a;\n return constants_1.TRANSIENT_ERROR_CODES.includes(error.name) ||\n constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes((error === null || error === void 0 ? void 0 : error.code) || \"\") ||\n constants_1.TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0);\n};\nexports.isTransientError = isTransientError;\nconst isServerError = (error) => {\n var _a;\n if (((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !(0, exports.isTransientError)(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\nexports.isServerError = isServerError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigFilepath = exports.ENV_CONFIG_PATH = void 0;\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nexports.ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nconst getConfigFilepath = () => process.env[exports.ENV_CONFIG_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"config\");\nexports.getConfigFilepath = getConfigFilepath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCredentialsFilepath = exports.ENV_CREDENTIALS_PATH = void 0;\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nexports.ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nconst getCredentialsFilepath = () => process.env[exports.ENV_CREDENTIALS_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"credentials\");\nexports.getCredentialsFilepath = getCredentialsFilepath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHomeDir = void 0;\nconst os_1 = require(\"os\");\nconst path_1 = require(\"path\");\nconst getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env;\n if (HOME)\n return HOME;\n if (USERPROFILE)\n return USERPROFILE;\n if (HOMEPATH)\n return `${HOMEDRIVE}${HOMEPATH}`;\n return (0, os_1.homedir)();\n};\nexports.getHomeDir = getHomeDir;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProfileData = void 0;\nconst profileKeyRegex = /^profile\\s([\"'])?([^\\1]+)\\1$/;\nconst getProfileData = (data) => Object.entries(data)\n .filter(([key]) => profileKeyRegex.test(key))\n .reduce((acc, [key, value]) => ({ ...acc, [profileKeyRegex.exec(key)[2]]: value }), {\n ...(data.default && { default: data.default }),\n});\nexports.getProfileData = getProfileData;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProfileName = exports.DEFAULT_PROFILE = exports.ENV_PROFILE = void 0;\nexports.ENV_PROFILE = \"AWS_PROFILE\";\nexports.DEFAULT_PROFILE = \"default\";\nconst getProfileName = (init) => init.profile || process.env[exports.ENV_PROFILE] || exports.DEFAULT_PROFILE;\nexports.getProfileName = getProfileName;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFilepath = void 0;\nconst crypto_1 = require(\"crypto\");\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nconst getSSOTokenFilepath = (id) => {\n const hasher = (0, crypto_1.createHash)(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\nexports.getSSOTokenFilepath = getSSOTokenFilepath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFromFile = void 0;\nconst fs_1 = require(\"fs\");\nconst getSSOTokenFilepath_1 = require(\"./getSSOTokenFilepath\");\nconst { readFile } = fs_1.promises;\nconst getSSOTokenFromFile = async (id) => {\n const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id);\n const ssoTokenText = await readFile(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\nexports.getSSOTokenFromFile = getSSOTokenFromFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSsoSessionData = void 0;\nconst ssoSessionKeyRegex = /^sso-session\\s([\"'])?([^\\1]+)\\1$/;\nconst getSsoSessionData = (data) => Object.entries(data)\n .filter(([key]) => ssoSessionKeyRegex.test(key))\n .reduce((acc, [key, value]) => ({ ...acc, [ssoSessionKeyRegex.exec(key)[2]]: value }), {});\nexports.getSsoSessionData = getSsoSessionData;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./getHomeDir\"), exports);\ntslib_1.__exportStar(require(\"./getProfileName\"), exports);\ntslib_1.__exportStar(require(\"./getSSOTokenFilepath\"), exports);\ntslib_1.__exportStar(require(\"./getSSOTokenFromFile\"), exports);\ntslib_1.__exportStar(require(\"./loadSharedConfigFiles\"), exports);\ntslib_1.__exportStar(require(\"./loadSsoSessionData\"), exports);\ntslib_1.__exportStar(require(\"./parseKnownFiles\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadSharedConfigFiles = void 0;\nconst getConfigFilepath_1 = require(\"./getConfigFilepath\");\nconst getCredentialsFilepath_1 = require(\"./getCredentialsFilepath\");\nconst getProfileData_1 = require(\"./getProfileData\");\nconst parseIni_1 = require(\"./parseIni\");\nconst slurpFile_1 = require(\"./slurpFile\");\nconst swallowError = () => ({});\nconst loadSharedConfigFiles = async (init = {}) => {\n const { filepath = (0, getCredentialsFilepath_1.getCredentialsFilepath)(), configFilepath = (0, getConfigFilepath_1.getConfigFilepath)() } = init;\n const parsedFiles = await Promise.all([\n (0, slurpFile_1.slurpFile)(configFilepath).then(parseIni_1.parseIni).then(getProfileData_1.getProfileData).catch(swallowError),\n (0, slurpFile_1.slurpFile)(filepath).then(parseIni_1.parseIni).catch(swallowError),\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1],\n };\n};\nexports.loadSharedConfigFiles = loadSharedConfigFiles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadSsoSessionData = void 0;\nconst getConfigFilepath_1 = require(\"./getConfigFilepath\");\nconst getSsoSessionData_1 = require(\"./getSsoSessionData\");\nconst parseIni_1 = require(\"./parseIni\");\nconst slurpFile_1 = require(\"./slurpFile\");\nconst swallowError = () => ({});\nconst loadSsoSessionData = async (init = {}) => {\n var _a;\n return (0, slurpFile_1.slurpFile)((_a = init.configFilepath) !== null && _a !== void 0 ? _a : (0, getConfigFilepath_1.getConfigFilepath)())\n .then(parseIni_1.parseIni)\n .then(getSsoSessionData_1.getSsoSessionData)\n .catch(swallowError);\n};\nexports.loadSsoSessionData = loadSsoSessionData;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseIni = void 0;\nconst profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nconst parseIni = (iniData) => {\n const map = {};\n let currentSection;\n for (let line of iniData.split(/\\r?\\n/)) {\n line = line.split(/(^|\\s)[;#]/)[0].trim();\n const isSection = line[0] === \"[\" && line[line.length - 1] === \"]\";\n if (isSection) {\n currentSection = line.substring(1, line.length - 1);\n if (profileNameBlockList.includes(currentSection)) {\n throw new Error(`Found invalid profile name \"${currentSection}\"`);\n }\n }\n else if (currentSection) {\n const indexOfEqualsSign = line.indexOf(\"=\");\n const start = 0;\n const end = line.length - 1;\n const isAssignment = indexOfEqualsSign !== -1 && indexOfEqualsSign !== start && indexOfEqualsSign !== end;\n if (isAssignment) {\n const [name, value] = [\n line.substring(0, indexOfEqualsSign).trim(),\n line.substring(indexOfEqualsSign + 1).trim(),\n ];\n map[currentSection] = map[currentSection] || {};\n map[currentSection][name] = value;\n }\n }\n }\n return map;\n};\nexports.parseIni = parseIni;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseKnownFiles = void 0;\nconst loadSharedConfigFiles_1 = require(\"./loadSharedConfigFiles\");\nconst parseKnownFiles = async (init) => {\n const parsedFiles = await (0, loadSharedConfigFiles_1.loadSharedConfigFiles)(init);\n return {\n ...parsedFiles.configFile,\n ...parsedFiles.credentialsFile,\n };\n};\nexports.parseKnownFiles = parseKnownFiles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slurpFile = void 0;\nconst fs_1 = require(\"fs\");\nconst { readFile } = fs_1.promises;\nconst filePromisesHash = {};\nconst slurpFile = (path) => {\n if (!filePromisesHash[path]) {\n filePromisesHash[path] = readFile(path, \"utf8\");\n }\n return filePromisesHash[path];\n};\nexports.slurpFile = slurpFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignatureV4MultiRegion = void 0;\nconst signature_v4_1 = require(\"@aws-sdk/signature-v4\");\nclass SignatureV4MultiRegion {\n constructor(options) {\n this.sigv4Signer = new signature_v4_1.SignatureV4(options);\n this.signerOptions = options;\n }\n async sign(requestToSign, options = {}) {\n if (options.signingRegion === \"*\") {\n if (this.signerOptions.runtime !== \"node\")\n throw new Error(\"This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js\");\n return this.getSigv4aSigner().sign(requestToSign, options);\n }\n return this.sigv4Signer.sign(requestToSign, options);\n }\n async presign(originalRequest, options = {}) {\n if (options.signingRegion === \"*\") {\n if (this.signerOptions.runtime !== \"node\")\n throw new Error(\"This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js\");\n return this.getSigv4aSigner().presign(originalRequest, options);\n }\n return this.sigv4Signer.presign(originalRequest, options);\n }\n getSigv4aSigner() {\n if (!this.sigv4aSigner) {\n let CrtSignerV4;\n try {\n CrtSignerV4 = typeof require === \"function\" && require(\"@aws-sdk/signature-v4-crt\").CrtSignerV4;\n if (typeof CrtSignerV4 !== \"function\")\n throw new Error();\n }\n catch (e) {\n e.message =\n `${e.message}\\nPlease check if you have installed \"@aws-sdk/signature-v4-crt\" package explicitly. \\n` +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\";\n throw e;\n }\n this.sigv4aSigner = new CrtSignerV4({\n ...this.signerOptions,\n signingAlgorithm: 1,\n });\n }\n return this.sigv4aSigner;\n }\n}\nexports.SignatureV4MultiRegion = SignatureV4MultiRegion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./SignatureV4MultiRegion\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignatureV4 = void 0;\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nconst util_middleware_1 = require(\"@aws-sdk/util-middleware\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst constants_1 = require(\"./constants\");\nconst credentialDerivation_1 = require(\"./credentialDerivation\");\nconst getCanonicalHeaders_1 = require(\"./getCanonicalHeaders\");\nconst getCanonicalQuery_1 = require(\"./getCanonicalQuery\");\nconst getPayloadHash_1 = require(\"./getPayloadHash\");\nconst headerUtil_1 = require(\"./headerUtil\");\nconst moveHeadersToQuery_1 = require(\"./moveHeadersToQuery\");\nconst prepareRequest_1 = require(\"./prepareRequest\");\nconst utilDate_1 = require(\"./utilDate\");\nclass SignatureV4 {\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = (0, util_middleware_1.normalizeProvider)(region);\n this.credentialProvider = (0, util_middleware_1.normalizeProvider)(credentials);\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : (await this.regionProvider());\n const { longDate, shortDate } = formatDate(signingDate);\n if (expiresIn > constants_1.MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n const request = (0, moveHeadersToQuery_1.moveHeadersToQuery)((0, prepareRequest_1.prepareRequest)(originalRequest), { unhoistableHeaders });\n if (credentials.sessionToken) {\n request.query[constants_1.TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[constants_1.ALGORITHM_QUERY_PARAM] = constants_1.ALGORITHM_IDENTIFIER;\n request.query[constants_1.CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[constants_1.AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[constants_1.EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request, unsignableHeaders, signableHeaders);\n request.query[constants_1.SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n request.query[constants_1.SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await (0, getPayloadHash_1.getPayloadHash)(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : (await this.regionProvider());\n const { shortDate, longDate } = formatDate(signingDate);\n const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n const hashedPayload = await (0, getPayloadHash_1.getPayloadHash)({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = (0, util_hex_encoding_1.toHex)(await hash.digest());\n const stringToSign = [\n constants_1.EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : (await this.regionProvider());\n const { shortDate } = formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update((0, util_utf8_1.toUint8Array)(stringToSign));\n return (0, util_hex_encoding_1.toHex)(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : (await this.regionProvider());\n const request = (0, prepareRequest_1.prepareRequest)(requestToSign);\n const { longDate, shortDate } = formatDate(signingDate);\n const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n request.headers[constants_1.AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[constants_1.TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await (0, getPayloadHash_1.getPayloadHash)(request, this.sha256);\n if (!(0, headerUtil_1.hasHeader)(constants_1.SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[constants_1.SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[constants_1.AUTH_HEADER] =\n `${constants_1.ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${(0, getCanonicalQuery_1.getCanonicalQuery)(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest) {\n const hash = new this.sha256();\n hash.update((0, util_utf8_1.toUint8Array)(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${constants_1.ALGORITHM_IDENTIFIER}\n${longDate}\n${credentialScope}\n${(0, util_hex_encoding_1.toHex)(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if ((pathSegment === null || pathSegment === void 0 ? void 0 : pathSegment.length) === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${(path === null || path === void 0 ? void 0 : path.startsWith(\"/\")) ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && (path === null || path === void 0 ? void 0 : path.endsWith(\"/\")) ? \"/\" : \"\"}`;\n const doubleEncoded = encodeURIComponent(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\n const hash = new this.sha256(await keyPromise);\n hash.update((0, util_utf8_1.toUint8Array)(stringToSign));\n return (0, util_hex_encoding_1.toHex)(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return (0, credentialDerivation_1.getSigningKey)(this.sha256, credentials, shortDate, region, service || this.service);\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n}\nexports.SignatureV4 = SignatureV4;\nconst formatDate = (now) => {\n const longDate = (0, utilDate_1.iso8601)(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n};\nconst getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(\";\");\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneQuery = exports.cloneRequest = void 0;\nconst cloneRequest = ({ headers, query, ...rest }) => ({\n ...rest,\n headers: { ...headers },\n query: query ? (0, exports.cloneQuery)(query) : undefined,\n});\nexports.cloneRequest = cloneRequest;\nconst cloneQuery = (query) => Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n}, {});\nexports.cloneQuery = cloneQuery;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MAX_PRESIGNED_TTL = exports.KEY_TYPE_IDENTIFIER = exports.MAX_CACHE_SIZE = exports.UNSIGNED_PAYLOAD = exports.EVENT_ALGORITHM_IDENTIFIER = exports.ALGORITHM_IDENTIFIER_V4A = exports.ALGORITHM_IDENTIFIER = exports.UNSIGNABLE_PATTERNS = exports.SEC_HEADER_PATTERN = exports.PROXY_HEADER_PATTERN = exports.ALWAYS_UNSIGNABLE_HEADERS = exports.HOST_HEADER = exports.TOKEN_HEADER = exports.SHA256_HEADER = exports.SIGNATURE_HEADER = exports.GENERATED_HEADERS = exports.DATE_HEADER = exports.AMZ_DATE_HEADER = exports.AUTH_HEADER = exports.REGION_SET_PARAM = exports.TOKEN_QUERY_PARAM = exports.SIGNATURE_QUERY_PARAM = exports.EXPIRES_QUERY_PARAM = exports.SIGNED_HEADERS_QUERY_PARAM = exports.AMZ_DATE_QUERY_PARAM = exports.CREDENTIAL_QUERY_PARAM = exports.ALGORITHM_QUERY_PARAM = void 0;\nexports.ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexports.CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexports.AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexports.SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexports.EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexports.SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexports.TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexports.REGION_SET_PARAM = \"X-Amz-Region-Set\";\nexports.AUTH_HEADER = \"authorization\";\nexports.AMZ_DATE_HEADER = exports.AMZ_DATE_QUERY_PARAM.toLowerCase();\nexports.DATE_HEADER = \"date\";\nexports.GENERATED_HEADERS = [exports.AUTH_HEADER, exports.AMZ_DATE_HEADER, exports.DATE_HEADER];\nexports.SIGNATURE_HEADER = exports.SIGNATURE_QUERY_PARAM.toLowerCase();\nexports.SHA256_HEADER = \"x-amz-content-sha256\";\nexports.TOKEN_HEADER = exports.TOKEN_QUERY_PARAM.toLowerCase();\nexports.HOST_HEADER = \"host\";\nexports.ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexports.PROXY_HEADER_PATTERN = /^proxy-/;\nexports.SEC_HEADER_PATTERN = /^sec-/;\nexports.UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexports.ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexports.ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nexports.EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexports.UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexports.MAX_CACHE_SIZE = 50;\nexports.KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexports.MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clearCredentialCache = exports.getSigningKey = exports.createScope = void 0;\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst constants_1 = require(\"./constants\");\nconst signingKeyCache = {};\nconst cacheQueue = [];\nconst createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${constants_1.KEY_TYPE_IDENTIFIER}`;\nexports.createScope = createScope;\nconst getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${(0, util_hex_encoding_1.toHex)(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > constants_1.MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, constants_1.KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nexports.getSigningKey = getSigningKey;\nconst clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nexports.clearCredentialCache = clearCredentialCache;\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update((0, util_utf8_1.toUint8Array)(data));\n return hash.digest();\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCanonicalHeaders = void 0;\nconst constants_1 = require(\"./constants\");\nconst getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in constants_1.ALWAYS_UNSIGNABLE_HEADERS ||\n (unsignableHeaders === null || unsignableHeaders === void 0 ? void 0 : unsignableHeaders.has(canonicalHeaderName)) ||\n constants_1.PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n constants_1.SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\nexports.getCanonicalHeaders = getCanonicalHeaders;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCanonicalQuery = void 0;\nconst util_uri_escape_1 = require(\"@aws-sdk/util-uri-escape\");\nconst constants_1 = require(\"./constants\");\nconst getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query).sort()) {\n if (key.toLowerCase() === constants_1.SIGNATURE_HEADER) {\n continue;\n }\n keys.push(key);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .sort()\n .reduce((encoded, value) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`]), [])\n .join(\"&\");\n }\n }\n return keys\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\nexports.getCanonicalQuery = getCanonicalQuery;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getPayloadHash = void 0;\nconst is_array_buffer_1 = require(\"@aws-sdk/is-array-buffer\");\nconst util_hex_encoding_1 = require(\"@aws-sdk/util-hex-encoding\");\nconst util_utf8_1 = require(\"@aws-sdk/util-utf8\");\nconst constants_1 = require(\"./constants\");\nconst getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === constants_1.SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || (0, is_array_buffer_1.isArrayBuffer)(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update((0, util_utf8_1.toUint8Array)(body));\n return (0, util_hex_encoding_1.toHex)(await hashCtor.digest());\n }\n return constants_1.UNSIGNED_PAYLOAD;\n};\nexports.getPayloadHash = getPayloadHash;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteHeader = exports.getHeaderValue = exports.hasHeader = void 0;\nconst hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexports.hasHeader = hasHeader;\nconst getHeaderValue = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return headers[headerName];\n }\n }\n return undefined;\n};\nexports.getHeaderValue = getHeaderValue;\nconst deleteHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n delete headers[headerName];\n }\n }\n};\nexports.deleteHeader = deleteHeader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareRequest = exports.moveHeadersToQuery = exports.getPayloadHash = exports.getCanonicalQuery = exports.getCanonicalHeaders = void 0;\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./SignatureV4\"), exports);\nvar getCanonicalHeaders_1 = require(\"./getCanonicalHeaders\");\nObject.defineProperty(exports, \"getCanonicalHeaders\", { enumerable: true, get: function () { return getCanonicalHeaders_1.getCanonicalHeaders; } });\nvar getCanonicalQuery_1 = require(\"./getCanonicalQuery\");\nObject.defineProperty(exports, \"getCanonicalQuery\", { enumerable: true, get: function () { return getCanonicalQuery_1.getCanonicalQuery; } });\nvar getPayloadHash_1 = require(\"./getPayloadHash\");\nObject.defineProperty(exports, \"getPayloadHash\", { enumerable: true, get: function () { return getPayloadHash_1.getPayloadHash; } });\nvar moveHeadersToQuery_1 = require(\"./moveHeadersToQuery\");\nObject.defineProperty(exports, \"moveHeadersToQuery\", { enumerable: true, get: function () { return moveHeadersToQuery_1.moveHeadersToQuery; } });\nvar prepareRequest_1 = require(\"./prepareRequest\");\nObject.defineProperty(exports, \"prepareRequest\", { enumerable: true, get: function () { return prepareRequest_1.prepareRequest; } });\ntslib_1.__exportStar(require(\"./credentialDerivation\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.moveHeadersToQuery = void 0;\nconst cloneRequest_1 = require(\"./cloneRequest\");\nconst moveHeadersToQuery = (request, options = {}) => {\n var _a;\n const { headers, query = {} } = typeof request.clone === \"function\" ? request.clone() : (0, cloneRequest_1.cloneRequest)(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.slice(0, 6) === \"x-amz-\" && !((_a = options.unhoistableHeaders) === null || _a === void 0 ? void 0 : _a.has(lname))) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\nexports.moveHeadersToQuery = moveHeadersToQuery;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareRequest = void 0;\nconst cloneRequest_1 = require(\"./cloneRequest\");\nconst constants_1 = require(\"./constants\");\nconst prepareRequest = (request) => {\n request = typeof request.clone === \"function\" ? request.clone() : (0, cloneRequest_1.cloneRequest)(request);\n for (const headerName of Object.keys(request.headers)) {\n if (constants_1.GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\nexports.prepareRequest = prepareRequest;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDate = exports.iso8601 = void 0;\nconst iso8601 = (time) => (0, exports.toDate)(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nexports.iso8601 = iso8601;\nconst toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\nexports.toDate = toDate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NoOpLogger = void 0;\nclass NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\nexports.NoOpLogger = NoOpLogger;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Client = void 0;\nconst middleware_stack_1 = require(\"@aws-sdk/middleware-stack\");\nclass Client {\n constructor(config) {\n this.middlewareStack = (0, middleware_stack_1.constructStack)();\n this.config = config;\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n if (this.config.requestHandler.destroy)\n this.config.requestHandler.destroy();\n }\n}\nexports.Client = Client;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Command = void 0;\nconst middleware_stack_1 = require(\"@aws-sdk/middleware-stack\");\nclass Command {\n constructor() {\n this.middlewareStack = (0, middleware_stack_1.constructStack)();\n }\n}\nexports.Command = Command;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SENSITIVE_STRING = void 0;\nexports.SENSITIVE_STRING = \"***SensitiveInformation***\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseEpochTimestamp = exports.parseRfc7231DateTime = exports.parseRfc3339DateTimeWithOffset = exports.parseRfc3339DateTime = exports.dateToUtcString = void 0;\nconst parse_utils_1 = require(\"./parse-utils\");\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nfunction dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nexports.dateToUtcString = dateToUtcString;\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nconst parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nexports.parseRfc3339DateTime = parseRfc3339DateTime;\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nconst parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nexports.parseRfc3339DateTimeWithOffset = parseRfc3339DateTimeWithOffset;\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nconst parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexports.parseRfc7231DateTime = parseRfc7231DateTime;\nconst parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = (0, parse_utils_1.strictParseDouble)(value);\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nexports.parseEpochTimestamp = parseEpochTimestamp;\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = (0, parse_utils_1.strictParseByte)(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return (0, parse_utils_1.strictParseFloat32)(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.throwDefaultError = void 0;\nconst exceptions_1 = require(\"./exceptions\");\nconst throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.code) || (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.Code) || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw (0, exceptions_1.decorateServiceException)(response, parsedBody);\n};\nexports.throwDefaultError = throwDefaultError;\nconst deserializeMetadata = (output) => {\n var _a, _b;\n return ({\n httpStatusCode: output.statusCode,\n requestId: (_b = (_a = output.headers[\"x-amzn-requestid\"]) !== null && _a !== void 0 ? _a : output.headers[\"x-amzn-request-id\"]) !== null && _b !== void 0 ? _b : output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n });\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadConfigsForDefaultMode = void 0;\nconst loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\nexports.loadConfigsForDefaultMode = loadConfigsForDefaultMode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.emitWarningIfUnsupportedVersion = void 0;\nlet warningEmitted = false;\nconst emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 14) {\n warningEmitted = true;\n }\n};\nexports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorateServiceException = exports.ServiceException = void 0;\nclass ServiceException extends Error {\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, ServiceException.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n}\nexports.ServiceException = ServiceException;\nconst decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\nexports.decorateServiceException = decorateServiceException;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extendedEncodeURIComponent = void 0;\nfunction extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nexports.extendedEncodeURIComponent = extendedEncodeURIComponent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getArrayIfSingleItem = void 0;\nconst getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\nexports.getArrayIfSingleItem = getArrayIfSingleItem;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getValueFromTextNode = void 0;\nconst getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = (0, exports.getValueFromTextNode)(obj[key]);\n }\n }\n return obj;\n};\nexports.getValueFromTextNode = getValueFromTextNode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./NoOpLogger\"), exports);\ntslib_1.__exportStar(require(\"./client\"), exports);\ntslib_1.__exportStar(require(\"./command\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\ntslib_1.__exportStar(require(\"./date-utils\"), exports);\ntslib_1.__exportStar(require(\"./default-error-handler\"), exports);\ntslib_1.__exportStar(require(\"./defaults-mode\"), exports);\ntslib_1.__exportStar(require(\"./emitWarningIfUnsupportedVersion\"), exports);\ntslib_1.__exportStar(require(\"./exceptions\"), exports);\ntslib_1.__exportStar(require(\"./extended-encode-uri-component\"), exports);\ntslib_1.__exportStar(require(\"./get-array-if-single-item\"), exports);\ntslib_1.__exportStar(require(\"./get-value-from-text-node\"), exports);\ntslib_1.__exportStar(require(\"./lazy-json\"), exports);\ntslib_1.__exportStar(require(\"./object-mapping\"), exports);\ntslib_1.__exportStar(require(\"./parse-utils\"), exports);\ntslib_1.__exportStar(require(\"./resolve-path\"), exports);\ntslib_1.__exportStar(require(\"./ser-utils\"), exports);\ntslib_1.__exportStar(require(\"./split-every\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LazyJsonString = exports.StringWrapper = void 0;\nconst StringWrapper = function () {\n const Class = Object.getPrototypeOf(this).constructor;\n const Constructor = Function.bind.apply(String, [null, ...arguments]);\n const instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance;\n};\nexports.StringWrapper = StringWrapper;\nexports.StringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: exports.StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\nObject.setPrototypeOf(exports.StringWrapper, String);\nclass LazyJsonString extends exports.StringWrapper {\n deserializeJSON() {\n return JSON.parse(super.toString());\n }\n toJSON() {\n return super.toString();\n }\n static fromObject(object) {\n if (object instanceof LazyJsonString) {\n return object;\n }\n else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n }\n}\nexports.LazyJsonString = LazyJsonString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertMap = exports.map = void 0;\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n let [filter, value] = instructions[key];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[key] = _value;\n }\n else if (customFilterPassed) {\n target[key] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[key] = value;\n }\n }\n }\n return target;\n}\nexports.map = map;\nconst convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nexports.convertMap = convertMap;\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logger = exports.strictParseByte = exports.strictParseShort = exports.strictParseInt32 = exports.strictParseInt = exports.strictParseLong = exports.limitedParseFloat32 = exports.limitedParseFloat = exports.handleFloat = exports.limitedParseDouble = exports.strictParseFloat32 = exports.strictParseFloat = exports.strictParseDouble = exports.expectUnion = exports.expectString = exports.expectObject = exports.expectNonNull = exports.expectByte = exports.expectShort = exports.expectInt32 = exports.expectInt = exports.expectLong = exports.expectFloat32 = exports.expectNumber = exports.expectBoolean = exports.parseBoolean = void 0;\nconst parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexports.parseBoolean = parseBoolean;\nconst expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexports.expectBoolean = expectBoolean;\nconst expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n exports.logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nexports.expectNumber = expectNumber;\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nconst expectFloat32 = (value) => {\n const expected = (0, exports.expectNumber)(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexports.expectFloat32 = expectFloat32;\nconst expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexports.expectLong = expectLong;\nexports.expectInt = exports.expectLong;\nconst expectInt32 = (value) => expectSizedInt(value, 32);\nexports.expectInt32 = expectInt32;\nconst expectShort = (value) => expectSizedInt(value, 16);\nexports.expectShort = expectShort;\nconst expectByte = (value) => expectSizedInt(value, 8);\nexports.expectByte = expectByte;\nconst expectSizedInt = (value, size) => {\n const expected = (0, exports.expectLong)(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nconst expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexports.expectNonNull = expectNonNull;\nconst expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexports.expectObject = expectObject;\nconst expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n exports.logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexports.expectString = expectString;\nconst expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = (0, exports.expectObject)(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexports.expectUnion = expectUnion;\nconst strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return (0, exports.expectNumber)(parseNumber(value));\n }\n return (0, exports.expectNumber)(value);\n};\nexports.strictParseDouble = strictParseDouble;\nexports.strictParseFloat = exports.strictParseDouble;\nconst strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return (0, exports.expectFloat32)(parseNumber(value));\n }\n return (0, exports.expectFloat32)(value);\n};\nexports.strictParseFloat32 = strictParseFloat32;\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nconst limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return (0, exports.expectNumber)(value);\n};\nexports.limitedParseDouble = limitedParseDouble;\nexports.handleFloat = exports.limitedParseDouble;\nexports.limitedParseFloat = exports.limitedParseDouble;\nconst limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return (0, exports.expectFloat32)(value);\n};\nexports.limitedParseFloat32 = limitedParseFloat32;\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nconst strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return (0, exports.expectLong)(parseNumber(value));\n }\n return (0, exports.expectLong)(value);\n};\nexports.strictParseLong = strictParseLong;\nexports.strictParseInt = exports.strictParseLong;\nconst strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return (0, exports.expectInt32)(parseNumber(value));\n }\n return (0, exports.expectInt32)(value);\n};\nexports.strictParseInt32 = strictParseInt32;\nconst strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return (0, exports.expectShort)(parseNumber(value));\n }\n return (0, exports.expectShort)(value);\n};\nexports.strictParseShort = strictParseShort;\nconst strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return (0, exports.expectByte)(parseNumber(value));\n }\n return (0, exports.expectByte)(value);\n};\nexports.strictParseByte = strictParseByte;\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexports.logger = {\n warn: console.warn,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolvedPath = void 0;\nconst extended_encode_uri_component_1 = require(\"./extended-encode-uri-component\");\nconst resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(segment))\n .join(\"/\")\n : (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\nexports.resolvedPath = resolvedPath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeFloat = void 0;\nconst serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nexports.serializeFloat = serializeFloat;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitEvery = void 0;\nfunction splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\nexports.splitEvery = splitEvery;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0;\nexports.EXPIRE_WINDOW_MS = 5 * 60 * 1000;\nexports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromSso = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst constants_1 = require(\"./constants\");\nconst getNewSsoOidcToken_1 = require(\"./getNewSsoOidcToken\");\nconst validateTokenExpiry_1 = require(\"./validateTokenExpiry\");\nconst validateTokenKey_1 = require(\"./validateTokenKey\");\nconst writeSSOTokenToFile_1 = require(\"./writeSSOTokenToFile\");\nconst lastRefreshAttemptTime = new Date(0);\nconst fromSso = (init = {}) => async () => {\n const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);\n const profileName = (0, shared_ini_file_loader_1.getProfileName)(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new property_provider_1.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);\n }\n else if (!profile[\"sso_session\"]) {\n throw new property_provider_1.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);\n }\n const ssoSessionName = profile[\"sso_session\"];\n const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init);\n const ssoSession = ssoSessions[ssoSessionName];\n if (!ssoSession) {\n throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);\n }\n for (const ssoSessionRequiredKey of [\"sso_start_url\", \"sso_region\"]) {\n if (!ssoSession[ssoSessionRequiredKey]) {\n throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);\n }\n }\n const ssoStartUrl = ssoSession[\"sso_start_url\"];\n const ssoRegion = ssoSession[\"sso_region\"];\n let ssoToken;\n try {\n ssoToken = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoSessionName);\n }\n catch (e) {\n throw new property_provider_1.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${constants_1.REFRESH_MESSAGE}`, false);\n }\n (0, validateTokenKey_1.validateTokenKey)(\"accessToken\", ssoToken.accessToken);\n (0, validateTokenKey_1.validateTokenKey)(\"expiresAt\", ssoToken.expiresAt);\n const { accessToken, expiresAt } = ssoToken;\n const existingToken = { token: accessToken, expiration: new Date(expiresAt) };\n if (existingToken.expiration.getTime() - Date.now() > constants_1.EXPIRE_WINDOW_MS) {\n return existingToken;\n }\n if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {\n (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken);\n return existingToken;\n }\n (0, validateTokenKey_1.validateTokenKey)(\"clientId\", ssoToken.clientId, true);\n (0, validateTokenKey_1.validateTokenKey)(\"clientSecret\", ssoToken.clientSecret, true);\n (0, validateTokenKey_1.validateTokenKey)(\"refreshToken\", ssoToken.refreshToken, true);\n try {\n lastRefreshAttemptTime.setTime(Date.now());\n const newSsoOidcToken = await (0, getNewSsoOidcToken_1.getNewSsoOidcToken)(ssoToken, ssoRegion);\n (0, validateTokenKey_1.validateTokenKey)(\"accessToken\", newSsoOidcToken.accessToken);\n (0, validateTokenKey_1.validateTokenKey)(\"expiresIn\", newSsoOidcToken.expiresIn);\n const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);\n try {\n await (0, writeSSOTokenToFile_1.writeSSOTokenToFile)(ssoSessionName, {\n ...ssoToken,\n accessToken: newSsoOidcToken.accessToken,\n expiresAt: newTokenExpiration.toISOString(),\n refreshToken: newSsoOidcToken.refreshToken,\n });\n }\n catch (error) {\n }\n return {\n token: newSsoOidcToken.accessToken,\n expiration: newTokenExpiration,\n };\n }\n catch (error) {\n (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken);\n return existingToken;\n }\n};\nexports.fromSso = fromSso;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromStatic = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromStatic = ({ token }) => async () => {\n if (!token || !token.token) {\n throw new property_provider_1.TokenProviderError(`Please pass a valid token to fromStatic`, false);\n }\n return token;\n};\nexports.fromStatic = fromStatic;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getNewSsoOidcToken = void 0;\nconst client_sso_oidc_1 = require(\"@aws-sdk/client-sso-oidc\");\nconst getSsoOidcClient_1 = require(\"./getSsoOidcClient\");\nconst getNewSsoOidcToken = (ssoToken, ssoRegion) => {\n const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion);\n return ssoOidcClient.send(new client_sso_oidc_1.CreateTokenCommand({\n clientId: ssoToken.clientId,\n clientSecret: ssoToken.clientSecret,\n refreshToken: ssoToken.refreshToken,\n grantType: \"refresh_token\",\n }));\n};\nexports.getNewSsoOidcToken = getNewSsoOidcToken;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSsoOidcClient = void 0;\nconst client_sso_oidc_1 = require(\"@aws-sdk/client-sso-oidc\");\nconst ssoOidcClientsHash = {};\nconst getSsoOidcClient = (ssoRegion) => {\n if (ssoOidcClientsHash[ssoRegion]) {\n return ssoOidcClientsHash[ssoRegion];\n }\n const ssoOidcClient = new client_sso_oidc_1.SSOOIDCClient({ region: ssoRegion });\n ssoOidcClientsHash[ssoRegion] = ssoOidcClient;\n return ssoOidcClient;\n};\nexports.getSsoOidcClient = getSsoOidcClient;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromSso\"), exports);\ntslib_1.__exportStar(require(\"./fromStatic\"), exports);\ntslib_1.__exportStar(require(\"./nodeProvider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.nodeProvider = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst fromSso_1 = require(\"./fromSso\");\nconst nodeProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromSso_1.fromSso)(init), async () => {\n throw new property_provider_1.TokenProviderError(\"Could not load token from any providers\", false);\n}), (token) => token.expiration !== undefined && token.expiration.getTime() - Date.now() < 300000, (token) => token.expiration !== undefined);\nexports.nodeProvider = nodeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateTokenExpiry = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst constants_1 = require(\"./constants\");\nconst validateTokenExpiry = (token) => {\n if (token.expiration && token.expiration.getTime() < Date.now()) {\n throw new property_provider_1.TokenProviderError(`Token is expired. ${constants_1.REFRESH_MESSAGE}`, false);\n }\n};\nexports.validateTokenExpiry = validateTokenExpiry;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateTokenKey = void 0;\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst constants_1 = require(\"./constants\");\nconst validateTokenKey = (key, value, forRefresh = false) => {\n if (typeof value === \"undefined\") {\n throw new property_provider_1.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? \". Cannot refresh\" : \"\"}. ${constants_1.REFRESH_MESSAGE}`, false);\n }\n};\nexports.validateTokenKey = validateTokenKey;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.writeSSOTokenToFile = void 0;\nconst shared_ini_file_loader_1 = require(\"@aws-sdk/shared-ini-file-loader\");\nconst fs_1 = require(\"fs\");\nconst { writeFile } = fs_1.promises;\nconst writeSSOTokenToFile = (id, ssoToken) => {\n const tokenFilepath = (0, shared_ini_file_loader_1.getSSOTokenFilepath)(id);\n const tokenString = JSON.stringify(ssoToken, null, 2);\n return writeFile(tokenFilepath, tokenString);\n};\nexports.writeSSOTokenToFile = writeSSOTokenToFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpAuthLocation = void 0;\nvar HttpAuthLocation;\n(function (HttpAuthLocation) {\n HttpAuthLocation[\"HEADER\"] = \"header\";\n HttpAuthLocation[\"QUERY\"] = \"query\";\n})(HttpAuthLocation = exports.HttpAuthLocation || (exports.HttpAuthLocation = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostAddressType = void 0;\nvar HostAddressType;\n(function (HostAddressType) {\n HostAddressType[\"AAAA\"] = \"AAAA\";\n HostAddressType[\"A\"] = \"A\";\n})(HostAddressType = exports.HostAddressType || (exports.HostAddressType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointURLScheme = void 0;\nvar EndpointURLScheme;\n(function (EndpointURLScheme) {\n EndpointURLScheme[\"HTTP\"] = \"http\";\n EndpointURLScheme[\"HTTPS\"] = \"https\";\n})(EndpointURLScheme = exports.EndpointURLScheme || (exports.EndpointURLScheme = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AnonymousIdentity\"), exports);\ntslib_1.__exportStar(require(\"./AwsCredentialIdentity\"), exports);\ntslib_1.__exportStar(require(\"./Identity\"), exports);\ntslib_1.__exportStar(require(\"./LoginIdentity\"), exports);\ntslib_1.__exportStar(require(\"./TokenIdentity\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./abort\"), exports);\ntslib_1.__exportStar(require(\"./auth\"), exports);\ntslib_1.__exportStar(require(\"./checksum\"), exports);\ntslib_1.__exportStar(require(\"./client\"), exports);\ntslib_1.__exportStar(require(\"./command\"), exports);\ntslib_1.__exportStar(require(\"./credentials\"), exports);\ntslib_1.__exportStar(require(\"./crypto\"), exports);\ntslib_1.__exportStar(require(\"./dns\"), exports);\ntslib_1.__exportStar(require(\"./endpoint\"), exports);\ntslib_1.__exportStar(require(\"./eventStream\"), exports);\ntslib_1.__exportStar(require(\"./http\"), exports);\ntslib_1.__exportStar(require(\"./identity\"), exports);\ntslib_1.__exportStar(require(\"./logger\"), exports);\ntslib_1.__exportStar(require(\"./middleware\"), exports);\ntslib_1.__exportStar(require(\"./pagination\"), exports);\ntslib_1.__exportStar(require(\"./profile\"), exports);\ntslib_1.__exportStar(require(\"./request\"), exports);\ntslib_1.__exportStar(require(\"./response\"), exports);\ntslib_1.__exportStar(require(\"./retry\"), exports);\ntslib_1.__exportStar(require(\"./serde\"), exports);\ntslib_1.__exportStar(require(\"./shapes\"), exports);\ntslib_1.__exportStar(require(\"./signature\"), exports);\ntslib_1.__exportStar(require(\"./stream\"), exports);\ntslib_1.__exportStar(require(\"./token\"), exports);\ntslib_1.__exportStar(require(\"./transfer\"), exports);\ntslib_1.__exportStar(require(\"./util\"), exports);\ntslib_1.__exportStar(require(\"./waiter\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseUrl = void 0;\nconst querystring_parser_1 = require(\"@aws-sdk/querystring-parser\");\nconst parseUrl = (url) => {\n if (typeof url === \"string\") {\n return (0, exports.parseUrl)(new URL(url));\n }\n const { hostname, pathname, port, protocol, search } = url;\n let query;\n if (search) {\n query = (0, querystring_parser_1.parseQueryString)(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\nexports.parseUrl = parseUrl;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.build = exports.parse = exports.validate = void 0;\nconst validate = (str) => typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6;\nexports.validate = validate;\nconst parse = (arn) => {\n const segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\")\n throw new Error(\"Malformed ARN\");\n const [, partition, service, region, accountId, ...resource] = segments;\n return {\n partition,\n service,\n region,\n accountId,\n resource: resource.join(\":\"),\n };\n};\nexports.parse = parse;\nconst build = (arnObject) => {\n const { partition = \"aws\", service, region, accountId, resource } = arnObject;\n if ([service, region, accountId, resource].some((segment) => typeof segment !== \"string\")) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return `arn:${partition}:${service}:${region}:${accountId}:${resource}`;\n};\nexports.build = build;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromBase64 = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nconst fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = (0, util_buffer_from_1.fromString)(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\nexports.fromBase64 = fromBase64;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromBase64\"), exports);\ntslib_1.__exportStar(require(\"./toBase64\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst toBase64 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\nexports.toBase64 = toBase64;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.calculateBodyLength = void 0;\nconst fs_1 = require(\"fs\");\nconst calculateBodyLength = (body) => {\n if (!body) {\n return 0;\n }\n if (typeof body === \"string\") {\n return Buffer.from(body).length;\n }\n else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n return body.size;\n }\n else if (typeof body.path === \"string\" || Buffer.isBuffer(body.path)) {\n return (0, fs_1.lstatSync)(body.path).size;\n }\n else if (typeof body.fd === \"number\") {\n return (0, fs_1.fstatSync)(body.fd).size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\n};\nexports.calculateBodyLength = calculateBodyLength;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./calculateBodyLength\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromString = exports.fromArrayBuffer = void 0;\nconst is_array_buffer_1 = require(\"@aws-sdk/is-array-buffer\");\nconst buffer_1 = require(\"buffer\");\nconst fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {\n if (!(0, is_array_buffer_1.isArrayBuffer)(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return buffer_1.Buffer.from(input, offset, length);\n};\nexports.fromArrayBuffer = fromArrayBuffer;\nconst fromString = (input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? buffer_1.Buffer.from(input, encoding) : buffer_1.Buffer.from(input);\n};\nexports.fromString = fromString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.booleanSelector = exports.SelectorType = void 0;\nvar SelectorType;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(SelectorType = exports.SelectorType || (exports.SelectorType = {}));\nconst booleanSelector = (obj, key, type) => {\n if (!(key in obj))\n return undefined;\n if (obj[key] === \"true\")\n return true;\n if (obj[key] === \"false\")\n return false;\n throw new Error(`Cannot load ${type} \"${key}\". Expected \"true\" or \"false\", got ${obj[key]}.`);\n};\nexports.booleanSelector = booleanSelector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./booleanSelector\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IMDS_REGION_PATH = exports.DEFAULTS_MODE_OPTIONS = exports.ENV_IMDS_DISABLED = exports.AWS_DEFAULT_REGION_ENV = exports.AWS_REGION_ENV = exports.AWS_EXECUTION_ENV = void 0;\nexports.AWS_EXECUTION_ENV = \"AWS_EXECUTION_ENV\";\nexports.AWS_REGION_ENV = \"AWS_REGION\";\nexports.AWS_DEFAULT_REGION_ENV = \"AWS_DEFAULT_REGION\";\nexports.ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nexports.DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\nexports.IMDS_REGION_PATH = \"/latest/meta-data/placement/region\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = void 0;\nconst AWS_DEFAULTS_MODE_ENV = \"AWS_DEFAULTS_MODE\";\nconst AWS_DEFAULTS_MODE_CONFIG = \"defaults_mode\";\nexports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n return env[AWS_DEFAULTS_MODE_ENV];\n },\n configFileSelector: (profile) => {\n return profile[AWS_DEFAULTS_MODE_CONFIG];\n },\n default: \"legacy\",\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./resolveDefaultsModeConfig\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveDefaultsModeConfig = void 0;\nconst config_resolver_1 = require(\"@aws-sdk/config-resolver\");\nconst credential_provider_imds_1 = require(\"@aws-sdk/credential-provider-imds\");\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst property_provider_1 = require(\"@aws-sdk/property-provider\");\nconst constants_1 = require(\"./constants\");\nconst defaultsModeConfig_1 = require(\"./defaultsModeConfig\");\nconst resolveDefaultsModeConfig = ({ region = (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS), defaultsMode = (0, node_config_provider_1.loadConfig)(defaultsModeConfig_1.NODE_DEFAULTS_MODE_CONFIG_OPTIONS), } = {}) => (0, property_provider_1.memoize)(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode === null || mode === void 0 ? void 0 : mode.toLowerCase()) {\n case \"auto\":\n return resolveNodeDefaultsModeAuto(region);\n case \"in-region\":\n case \"cross-region\":\n case \"mobile\":\n case \"standard\":\n case \"legacy\":\n return Promise.resolve(mode === null || mode === void 0 ? void 0 : mode.toLocaleLowerCase());\n case undefined:\n return Promise.resolve(\"legacy\");\n default:\n throw new Error(`Invalid parameter for \"defaultsMode\", expect ${constants_1.DEFAULTS_MODE_OPTIONS.join(\", \")}, got ${mode}`);\n }\n});\nexports.resolveDefaultsModeConfig = resolveDefaultsModeConfig;\nconst resolveNodeDefaultsModeAuto = async (clientRegion) => {\n if (clientRegion) {\n const resolvedRegion = typeof clientRegion === \"function\" ? await clientRegion() : clientRegion;\n const inferredRegion = await inferPhysicalRegion();\n if (!inferredRegion) {\n return \"standard\";\n }\n if (resolvedRegion === inferredRegion) {\n return \"in-region\";\n }\n else {\n return \"cross-region\";\n }\n }\n return \"standard\";\n};\nconst inferPhysicalRegion = async () => {\n var _a;\n if (process.env[constants_1.AWS_EXECUTION_ENV] && (process.env[constants_1.AWS_REGION_ENV] || process.env[constants_1.AWS_DEFAULT_REGION_ENV])) {\n return (_a = process.env[constants_1.AWS_REGION_ENV]) !== null && _a !== void 0 ? _a : process.env[constants_1.AWS_DEFAULT_REGION_ENV];\n }\n if (!process.env[constants_1.ENV_IMDS_DISABLED]) {\n try {\n const endpoint = await (0, credential_provider_imds_1.getInstanceMetadataEndpoint)();\n return (await (0, credential_provider_imds_1.httpRequest)({ ...endpoint, path: constants_1.IMDS_REGION_PATH })).toString();\n }\n catch (e) {\n }\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.debugId = void 0;\nexports.debugId = \"endpoints\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./debugId\"), exports);\ntslib_1.__exportStar(require(\"./toDebugString\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDebugString = void 0;\nfunction toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\nexports.toDebugString = toDebugString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./lib/aws/partition\"), exports);\ntslib_1.__exportStar(require(\"./resolveEndpoint\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./isVirtualHostableS3Bucket\"), exports);\ntslib_1.__exportStar(require(\"./parseArn\"), exports);\ntslib_1.__exportStar(require(\"./partition\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isVirtualHostableS3Bucket = void 0;\nconst isIpAddress_1 = require(\"../isIpAddress\");\nconst isValidHostLabel_1 = require(\"../isValidHostLabel\");\nconst isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!(0, exports.isVirtualHostableS3Bucket)(label)) {\n return false;\n }\n }\n return true;\n }\n if (!(0, isValidHostLabel_1.isValidHostLabel)(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if ((0, isIpAddress_1.isIpAddress)(value)) {\n return false;\n }\n return true;\n};\nexports.isVirtualHostableS3Bucket = isVirtualHostableS3Bucket;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArn = void 0;\nconst parseArn = (value) => {\n const segments = value.split(\":\");\n if (segments.length < 6)\n return null;\n const [arn, partition, service, region, accountId, ...resourceId] = segments;\n if (arn !== \"arn\" || partition === \"\" || service === \"\" || resourceId[0] === \"\")\n return null;\n return {\n partition,\n service,\n region,\n accountId,\n resourceId: resourceId[0].includes(\"/\") ? resourceId[0].split(\"/\") : resourceId,\n };\n};\nexports.parseArn = parseArn;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partition = void 0;\nconst tslib_1 = require(\"tslib\");\nconst partitions_json_1 = tslib_1.__importDefault(require(\"./partitions.json\"));\nconst { partitions } = partitions_json_1.default;\nconst DEFAULT_PARTITION = partitions.find((partition) => partition.id === \"aws\");\nconst partition = (value) => {\n for (const partition of partitions) {\n const { regions, outputs } = partition;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData,\n };\n }\n }\n }\n for (const partition of partitions) {\n const { regionRegex, outputs } = partition;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs,\n };\n }\n }\n if (!DEFAULT_PARTITION) {\n throw new Error(\"Provided region was not found in the partition array or regex,\" +\n \" and default partition with id 'aws' doesn't exist.\");\n }\n return {\n ...DEFAULT_PARTITION.outputs,\n };\n};\nexports.partition = partition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.booleanEquals = void 0;\nconst booleanEquals = (value1, value2) => value1 === value2;\nexports.booleanEquals = booleanEquals;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAttr = void 0;\nconst types_1 = require(\"../types\");\nconst getAttrPathList_1 = require(\"./getAttrPathList\");\nconst getAttr = (value, path) => (0, getAttrPathList_1.getAttrPathList)(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new types_1.EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n }\n else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value);\nexports.getAttr = getAttr;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAttrPathList = void 0;\nconst types_1 = require(\"../types\");\nconst getAttrPathList = (path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new types_1.EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new types_1.EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n }\n else {\n pathList.push(part);\n }\n }\n return pathList;\n};\nexports.getAttrPathList = getAttrPathList;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.aws = void 0;\nconst tslib_1 = require(\"tslib\");\nexports.aws = tslib_1.__importStar(require(\"./aws\"));\ntslib_1.__exportStar(require(\"./booleanEquals\"), exports);\ntslib_1.__exportStar(require(\"./getAttr\"), exports);\ntslib_1.__exportStar(require(\"./isSet\"), exports);\ntslib_1.__exportStar(require(\"./isValidHostLabel\"), exports);\ntslib_1.__exportStar(require(\"./not\"), exports);\ntslib_1.__exportStar(require(\"./parseURL\"), exports);\ntslib_1.__exportStar(require(\"./stringEquals\"), exports);\ntslib_1.__exportStar(require(\"./substring\"), exports);\ntslib_1.__exportStar(require(\"./uriEncode\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isIpAddress = void 0;\nconst IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`);\nconst isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\nexports.isIpAddress = isIpAddress;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSet = void 0;\nconst isSet = (value) => value != null;\nexports.isSet = isSet;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidHostLabel = void 0;\nconst VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nconst isValidHostLabel = (value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!(0, exports.isValidHostLabel)(label)) {\n return false;\n }\n }\n return true;\n};\nexports.isValidHostLabel = isValidHostLabel;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.not = void 0;\nconst not = (value) => !value;\nexports.not = not;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseURL = void 0;\nconst types_1 = require(\"@aws-sdk/types\");\nconst isIpAddress_1 = require(\"./isIpAddress\");\nconst DEFAULT_PORTS = {\n [types_1.EndpointURLScheme.HTTP]: 80,\n [types_1.EndpointURLScheme.HTTPS]: 443,\n};\nconst parseURL = (value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname, port, protocol = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query)\n .map(([k, v]) => `${k}=${v}`)\n .join(\"&\");\n return url;\n }\n return new URL(value);\n }\n catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(types_1.EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = (0, isIpAddress_1.isIpAddress)(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\n (typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp,\n };\n};\nexports.parseURL = parseURL;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringEquals = void 0;\nconst stringEquals = (value1, value2) => value1 === value2;\nexports.stringEquals = stringEquals;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.substring = void 0;\nconst substring = (input, start, stop, reverse) => {\n if (start >= stop || input.length < stop) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n};\nexports.substring = substring;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uriEncode = void 0;\nconst uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\nexports.uriEncode = uriEncode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveEndpoint = void 0;\nconst debug_1 = require(\"./debug\");\nconst types_1 = require(\"./types\");\nconst utils_1 = require(\"./utils\");\nconst resolveEndpoint = (ruleSetObject, options) => {\n var _a, _b, _c, _d, _e, _f;\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `Initial EndpointParams: ${(0, debug_1.toDebugString)(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters)\n .filter(([, v]) => v.default != null)\n .map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = (_c = endpointParams[paramKey]) !== null && _c !== void 0 ? _c : paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters)\n .filter(([, v]) => v.required)\n .map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new types_1.EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = (0, utils_1.evaluateRules)(rules, { endpointParams, logger, referenceRecord: {} });\n if ((_d = options.endpointParams) === null || _d === void 0 ? void 0 : _d.Endpoint) {\n try {\n const givenEndpoint = new URL(options.endpointParams.Endpoint);\n const { protocol, port } = givenEndpoint;\n endpoint.url.protocol = protocol;\n endpoint.url.port = port;\n }\n catch (e) {\n }\n }\n (_f = (_e = options.logger) === null || _e === void 0 ? void 0 : _e.debug) === null || _f === void 0 ? void 0 : _f.call(_e, debug_1.debugId, `Resolved endpoint: ${(0, debug_1.toDebugString)(endpoint)}`);\n return endpoint;\n};\nexports.resolveEndpoint = resolveEndpoint;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointError = void 0;\nclass EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\nexports.EndpointError = EndpointError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./EndpointError\"), exports);\ntslib_1.__exportStar(require(\"./EndpointRuleObject\"), exports);\ntslib_1.__exportStar(require(\"./ErrorRuleObject\"), exports);\ntslib_1.__exportStar(require(\"./RuleSetObject\"), exports);\ntslib_1.__exportStar(require(\"./TreeRuleObject\"), exports);\ntslib_1.__exportStar(require(\"./shared\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callFunction = void 0;\nconst tslib_1 = require(\"tslib\");\nconst lib = tslib_1.__importStar(require(\"../lib\"));\nconst evaluateExpression_1 = require(\"./evaluateExpression\");\nconst callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : (0, evaluateExpression_1.evaluateExpression)(arg, \"arg\", options));\n return fn.split(\".\").reduce((acc, key) => acc[key], lib)(...evaluatedArgs);\n};\nexports.callFunction = callFunction;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateCondition = void 0;\nconst debug_1 = require(\"../debug\");\nconst types_1 = require(\"../types\");\nconst callFunction_1 = require(\"./callFunction\");\nconst evaluateCondition = ({ assign, ...fnArgs }, options) => {\n var _a, _b;\n if (assign && assign in options.referenceRecord) {\n throw new types_1.EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = (0, callFunction_1.callFunction)(fnArgs, options);\n (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `evaluateCondition: ${(0, debug_1.toDebugString)(fnArgs)} = ${(0, debug_1.toDebugString)(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...(assign != null && { toAssign: { name: assign, value } }),\n };\n};\nexports.evaluateCondition = evaluateCondition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateConditions = void 0;\nconst debug_1 = require(\"../debug\");\nconst evaluateCondition_1 = require(\"./evaluateCondition\");\nconst evaluateConditions = (conditions = [], options) => {\n var _a, _b;\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = (0, evaluateCondition_1.evaluateCondition)(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord,\n },\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `assign: ${toAssign.name} := ${(0, debug_1.toDebugString)(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n};\nexports.evaluateConditions = evaluateConditions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateEndpointRule = void 0;\nconst debug_1 = require(\"../debug\");\nconst evaluateConditions_1 = require(\"./evaluateConditions\");\nconst getEndpointHeaders_1 = require(\"./getEndpointHeaders\");\nconst getEndpointProperties_1 = require(\"./getEndpointProperties\");\nconst getEndpointUrl_1 = require(\"./getEndpointUrl\");\nconst evaluateEndpointRule = (endpointRule, options) => {\n var _a, _b;\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n };\n const { url, properties, headers } = endpoint;\n (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `Resolving endpoint from template: ${(0, debug_1.toDebugString)(endpoint)}`);\n return {\n ...(headers != undefined && {\n headers: (0, getEndpointHeaders_1.getEndpointHeaders)(headers, endpointRuleOptions),\n }),\n ...(properties != undefined && {\n properties: (0, getEndpointProperties_1.getEndpointProperties)(properties, endpointRuleOptions),\n }),\n url: (0, getEndpointUrl_1.getEndpointUrl)(url, endpointRuleOptions),\n };\n};\nexports.evaluateEndpointRule = evaluateEndpointRule;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateErrorRule = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateConditions_1 = require(\"./evaluateConditions\");\nconst evaluateExpression_1 = require(\"./evaluateExpression\");\nconst evaluateErrorRule = (errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options);\n if (!result) {\n return;\n }\n throw new types_1.EndpointError((0, evaluateExpression_1.evaluateExpression)(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n }));\n};\nexports.evaluateErrorRule = evaluateErrorRule;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateExpression = void 0;\nconst types_1 = require(\"../types\");\nconst callFunction_1 = require(\"./callFunction\");\nconst evaluateTemplate_1 = require(\"./evaluateTemplate\");\nconst getReferenceValue_1 = require(\"./getReferenceValue\");\nconst evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return (0, evaluateTemplate_1.evaluateTemplate)(obj, options);\n }\n else if (obj[\"fn\"]) {\n return (0, callFunction_1.callFunction)(obj, options);\n }\n else if (obj[\"ref\"]) {\n return (0, getReferenceValue_1.getReferenceValue)(obj, options);\n }\n throw new types_1.EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n};\nexports.evaluateExpression = evaluateExpression;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateRules = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateEndpointRule_1 = require(\"./evaluateEndpointRule\");\nconst evaluateErrorRule_1 = require(\"./evaluateErrorRule\");\nconst evaluateTreeRule_1 = require(\"./evaluateTreeRule\");\nconst evaluateRules = (rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = (0, evaluateEndpointRule_1.evaluateEndpointRule)(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else if (rule.type === \"error\") {\n (0, evaluateErrorRule_1.evaluateErrorRule)(rule, options);\n }\n else if (rule.type === \"tree\") {\n const endpointOrUndefined = (0, evaluateTreeRule_1.evaluateTreeRule)(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else {\n throw new types_1.EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new types_1.EndpointError(`Rules evaluation failed`);\n};\nexports.evaluateRules = evaluateRules;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateTemplate = void 0;\nconst lib_1 = require(\"../lib\");\nconst evaluateTemplate = (template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push((0, lib_1.getAttr)(templateContext[refName], attrName));\n }\n else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n};\nexports.evaluateTemplate = evaluateTemplate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.evaluateTreeRule = void 0;\nconst evaluateConditions_1 = require(\"./evaluateConditions\");\nconst evaluateRules_1 = require(\"./evaluateRules\");\nconst evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options);\n if (!result) {\n return;\n }\n return (0, evaluateRules_1.evaluateRules)(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\nexports.evaluateTreeRule = evaluateTreeRule;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointHeaders = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateExpression_1 = require(\"./evaluateExpression\");\nconst getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = (0, evaluateExpression_1.evaluateExpression)(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new types_1.EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n }),\n}), {});\nexports.getEndpointHeaders = getEndpointHeaders;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointProperties = void 0;\nconst getEndpointProperty_1 = require(\"./getEndpointProperty\");\nconst getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: (0, getEndpointProperty_1.getEndpointProperty)(propertyVal, options),\n}), {});\nexports.getEndpointProperties = getEndpointProperties;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointProperty = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateTemplate_1 = require(\"./evaluateTemplate\");\nconst getEndpointProperties_1 = require(\"./getEndpointProperties\");\nconst getEndpointProperty = (property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => (0, exports.getEndpointProperty)(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return (0, evaluateTemplate_1.evaluateTemplate)(property, options);\n case \"object\":\n if (property === null) {\n throw new types_1.EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return (0, getEndpointProperties_1.getEndpointProperties)(property, options);\n case \"boolean\":\n return property;\n default:\n throw new types_1.EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\nexports.getEndpointProperty = getEndpointProperty;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointUrl = void 0;\nconst types_1 = require(\"../types\");\nconst evaluateExpression_1 = require(\"./evaluateExpression\");\nconst getEndpointUrl = (endpointUrl, options) => {\n const expression = (0, evaluateExpression_1.evaluateExpression)(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n }\n catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new types_1.EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n};\nexports.getEndpointUrl = getEndpointUrl;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getReferenceValue = void 0;\nconst getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\nexports.getReferenceValue = getReferenceValue;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./evaluateRules\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toHex = exports.fromHex = void 0;\nconst SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nfunction fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexports.fromHex = fromHex;\nfunction toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\nexports.toHex = toHex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./normalizeProvider\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalizeProvider = void 0;\nconst normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\nexports.normalizeProvider = normalizeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AdaptiveRetryStrategy = void 0;\nconst config_1 = require(\"./config\");\nconst DefaultRateLimiter_1 = require(\"./DefaultRateLimiter\");\nconst StandardRetryStrategy_1 = require(\"./StandardRetryStrategy\");\nclass AdaptiveRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = config_1.RETRY_MODES.ADAPTIVE;\n const { rateLimiter } = options !== null && options !== void 0 ? options : {};\n this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new DefaultRateLimiter_1.DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy_1.StandardRetryStrategy(maxAttemptsProvider);\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n}\nexports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultRateLimiter = void 0;\nconst service_error_classification_1 = require(\"@aws-sdk/service-error-classification\");\nclass DefaultRateLimiter {\n constructor(options) {\n var _a, _b, _c, _d, _e;\n this.currentCapacity = 0;\n this.enabled = false;\n this.lastMaxRate = 0;\n this.measuredTxRate = 0;\n this.requestCount = 0;\n this.lastTimestamp = 0;\n this.timeWindow = 0;\n this.beta = (_a = options === null || options === void 0 ? void 0 : options.beta) !== null && _a !== void 0 ? _a : 0.7;\n this.minCapacity = (_b = options === null || options === void 0 ? void 0 : options.minCapacity) !== null && _b !== void 0 ? _b : 1;\n this.minFillRate = (_c = options === null || options === void 0 ? void 0 : options.minFillRate) !== null && _c !== void 0 ? _c : 0.5;\n this.scaleConstant = (_d = options === null || options === void 0 ? void 0 : options.scaleConstant) !== null && _d !== void 0 ? _d : 0.4;\n this.smooth = (_e = options === null || options === void 0 ? void 0 : options.smooth) !== null && _e !== void 0 ? _e : 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1000;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if ((0, service_error_classification_1.isThrottlingError)(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n}\nexports.DefaultRateLimiter = DefaultRateLimiter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StandardRetryStrategy = void 0;\nconst config_1 = require(\"./config\");\nconst constants_1 = require(\"./constants\");\nconst defaultRetryToken_1 = require(\"./defaultRetryToken\");\nclass StandardRetryStrategy {\n constructor(maxAttemptsProvider) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = config_1.RETRY_MODES.STANDARD;\n this.retryToken = (0, defaultRetryToken_1.getDefaultRetryToken)(constants_1.INITIAL_RETRY_TOKENS, constants_1.DEFAULT_RETRY_DELAY_BASE);\n this.maxAttemptsProvider = maxAttemptsProvider;\n }\n async acquireInitialRetryToken(retryTokenScope) {\n return this.retryToken;\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(tokenToRenew, errorInfo, maxAttempts)) {\n tokenToRenew.getRetryTokenCount(errorInfo);\n return tokenToRenew;\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.retryToken.releaseRetryTokens(token.getLastRetryCost());\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n return await this.maxAttemptsProvider();\n }\n catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${config_1.DEFAULT_MAX_ATTEMPTS}`);\n return config_1.DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount();\n return (attempts < maxAttempts &&\n tokenToRenew.hasRetryTokens(errorInfo.errorType) &&\n this.isRetryableError(errorInfo.errorType));\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n}\nexports.StandardRetryStrategy = StandardRetryStrategy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_RETRY_MODE = exports.DEFAULT_MAX_ATTEMPTS = exports.RETRY_MODES = void 0;\nvar RETRY_MODES;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(RETRY_MODES = exports.RETRY_MODES || (exports.RETRY_MODES = {}));\nexports.DEFAULT_MAX_ATTEMPTS = 3;\nexports.DEFAULT_RETRY_MODE = \"STANDARD\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.REQUEST_HEADER = exports.INVOCATION_ID_HEADER = exports.NO_RETRY_INCREMENT = exports.TIMEOUT_RETRY_COST = exports.RETRY_COST = exports.INITIAL_RETRY_TOKENS = exports.THROTTLING_RETRY_DELAY_BASE = exports.MAXIMUM_RETRY_DELAY = exports.DEFAULT_RETRY_DELAY_BASE = void 0;\nexports.DEFAULT_RETRY_DELAY_BASE = 100;\nexports.MAXIMUM_RETRY_DELAY = 20 * 1000;\nexports.THROTTLING_RETRY_DELAY_BASE = 500;\nexports.INITIAL_RETRY_TOKENS = 500;\nexports.RETRY_COST = 5;\nexports.TIMEOUT_RETRY_COST = 10;\nexports.NO_RETRY_INCREMENT = 1;\nexports.INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nexports.REQUEST_HEADER = \"amz-sdk-request\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultRetryBackoffStrategy = void 0;\nconst constants_1 = require(\"./constants\");\nconst getDefaultRetryBackoffStrategy = () => {\n let delayBase = constants_1.DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = (attempts) => {\n return Math.floor(Math.min(constants_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n };\n const setDelayBase = (delay) => {\n delayBase = delay;\n };\n return {\n computeNextBackoffDelay,\n setDelayBase,\n };\n};\nexports.getDefaultRetryBackoffStrategy = getDefaultRetryBackoffStrategy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultRetryToken = void 0;\nconst constants_1 = require(\"./constants\");\nconst defaultRetryBackoffStrategy_1 = require(\"./defaultRetryBackoffStrategy\");\nconst getDefaultRetryToken = (initialRetryTokens, initialRetryDelay, initialRetryCount, options) => {\n var _a, _b, _c;\n const MAX_CAPACITY = initialRetryTokens;\n const retryCost = (_a = options === null || options === void 0 ? void 0 : options.retryCost) !== null && _a !== void 0 ? _a : constants_1.RETRY_COST;\n const timeoutRetryCost = (_b = options === null || options === void 0 ? void 0 : options.timeoutRetryCost) !== null && _b !== void 0 ? _b : constants_1.TIMEOUT_RETRY_COST;\n const retryBackoffStrategy = (_c = options === null || options === void 0 ? void 0 : options.retryBackoffStrategy) !== null && _c !== void 0 ? _c : (0, defaultRetryBackoffStrategy_1.getDefaultRetryBackoffStrategy)();\n let availableCapacity = initialRetryTokens;\n let retryDelay = Math.min(constants_1.MAXIMUM_RETRY_DELAY, initialRetryDelay);\n let lastRetryCost = undefined;\n let retryCount = initialRetryCount !== null && initialRetryCount !== void 0 ? initialRetryCount : 0;\n const getCapacityAmount = (errorType) => (errorType === \"TRANSIENT\" ? timeoutRetryCost : retryCost);\n const getRetryCount = () => retryCount;\n const getRetryDelay = () => retryDelay;\n const getLastRetryCost = () => lastRetryCost;\n const hasRetryTokens = (errorType) => getCapacityAmount(errorType) <= availableCapacity;\n const getRetryTokenCount = (errorInfo) => {\n const errorType = errorInfo.errorType;\n if (!hasRetryTokens(errorType)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(errorType);\n const delayBase = errorType === \"THROTTLING\" ? constants_1.THROTTLING_RETRY_DELAY_BASE : constants_1.DEFAULT_RETRY_DELAY_BASE;\n retryBackoffStrategy.setDelayBase(delayBase);\n const delayFromErrorType = retryBackoffStrategy.computeNextBackoffDelay(retryCount);\n if (errorInfo.retryAfterHint) {\n const delayFromRetryAfterHint = errorInfo.retryAfterHint.getTime() - Date.now();\n retryDelay = Math.max(delayFromRetryAfterHint || 0, delayFromErrorType);\n }\n else {\n retryDelay = delayFromErrorType;\n }\n retryCount++;\n lastRetryCost = capacityAmount;\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n const releaseRetryTokens = (releaseAmount) => {\n availableCapacity += releaseAmount !== null && releaseAmount !== void 0 ? releaseAmount : constants_1.NO_RETRY_INCREMENT;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return {\n getRetryCount,\n getRetryDelay,\n getLastRetryCost,\n hasRetryTokens,\n getRetryTokenCount,\n releaseRetryTokens,\n };\n};\nexports.getDefaultRetryToken = getDefaultRetryToken;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./AdaptiveRetryStrategy\"), exports);\ntslib_1.__exportStar(require(\"./DefaultRateLimiter\"), exports);\ntslib_1.__exportStar(require(\"./StandardRetryStrategy\"), exports);\ntslib_1.__exportStar(require(\"./config\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = void 0;\nconst stream_1 = require(\"stream\");\nconst getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { } });\n readableStream.on(\"data\", (data) => {\n awsChunkedEncodingStream.push(`${(bodyLengthChecker(data) || 0).toString(16)}\\r\\n${data.toString()}\\r\\n`);\n });\n readableStream.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n};\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./getAwsChunkedEncodingStream\"), exports);\ntslib_1.__exportStar(require(\"./sdk-stream-mixin\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst node_http_handler_1 = require(\"@aws-sdk/node-http-handler\");\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst stream_1 = require(\"stream\");\nconst util_1 = require(\"util\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n var _a, _b;\n if (!(stream instanceof stream_1.Readable)) {\n const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, node_http_handler_1.streamCollector)(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new util_1.TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof stream_1.Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please make sure you are using Node.js >= 17.0.0, or polyfill is available.\");\n }\n transformed = true;\n return stream_1.Readable.toWeb(stream);\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeUriPath = void 0;\nconst escape_uri_1 = require(\"./escape-uri\");\nconst escapeUriPath = (uri) => uri.split(\"/\").map(escape_uri_1.escapeUri).join(\"/\");\nexports.escapeUriPath = escapeUriPath;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeUri = void 0;\nconst escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nexports.escapeUri = escapeUri;\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./escape-uri\"), exports);\ntslib_1.__exportStar(require(\"./escape-uri-path\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultUserAgent = exports.UA_APP_ID_INI_NAME = exports.UA_APP_ID_ENV_NAME = void 0;\nconst node_config_provider_1 = require(\"@aws-sdk/node-config-provider\");\nconst os_1 = require(\"os\");\nconst process_1 = require(\"process\");\nconst is_crt_available_1 = require(\"./is-crt-available\");\nexports.UA_APP_ID_ENV_NAME = \"AWS_SDK_UA_APP_ID\";\nexports.UA_APP_ID_INI_NAME = \"sdk-ua-app-id\";\nconst defaultUserAgent = ({ serviceId, clientVersion }) => {\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [`os/${(0, os_1.platform)()}`, (0, os_1.release)()],\n [\"lang/js\"],\n [\"md/nodejs\", `${process_1.versions.node}`],\n ];\n const crtAvailable = (0, is_crt_available_1.isCrtAvailable)();\n if (crtAvailable) {\n sections.push(crtAvailable);\n }\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n if (process_1.env.AWS_EXECUTION_ENV) {\n sections.push([`exec-env/${process_1.env.AWS_EXECUTION_ENV}`]);\n }\n const appIdPromise = (0, node_config_provider_1.loadConfig)({\n environmentVariableSelector: (env) => env[exports.UA_APP_ID_ENV_NAME],\n configFileSelector: (profile) => profile[exports.UA_APP_ID_INI_NAME],\n default: undefined,\n })();\n let resolvedUserAgent = undefined;\n return async () => {\n if (!resolvedUserAgent) {\n const appId = await appIdPromise;\n resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];\n }\n return resolvedUserAgent;\n };\n};\nexports.defaultUserAgent = defaultUserAgent;\n",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUtf8 = exports.fromUtf8 = void 0;\nconst pureJs_1 = require(\"./pureJs\");\nconst whatwgEncodingApi_1 = require(\"./whatwgEncodingApi\");\nconst fromUtf8 = (input) => typeof TextEncoder === \"function\" ? (0, whatwgEncodingApi_1.fromUtf8)(input) : (0, pureJs_1.fromUtf8)(input);\nexports.fromUtf8 = fromUtf8;\nconst toUtf8 = (input) => typeof TextDecoder === \"function\" ? (0, whatwgEncodingApi_1.toUtf8)(input) : (0, pureJs_1.toUtf8)(input);\nexports.toUtf8 = toUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUtf8 = exports.fromUtf8 = void 0;\nconst fromUtf8 = (input) => {\n const bytes = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push((surrogatePair >> 18) | 0b11110000, ((surrogatePair >> 12) & 0b111111) | 0b10000000, ((surrogatePair >> 6) & 0b111111) | 0b10000000, (surrogatePair & 0b111111) | 0b10000000);\n }\n else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n return Uint8Array.from(bytes);\n};\nexports.fromUtf8 = fromUtf8;\nconst toUtf8 = (input) => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n }\n else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111));\n }\n }\n return decoded;\n};\nexports.toUtf8 = toUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUtf8 = exports.fromUtf8 = void 0;\nfunction fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexports.fromUtf8 = fromUtf8;\nfunction toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\nexports.toUtf8 = toUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromUtf8 = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst fromUtf8 = (input) => {\n const buf = (0, util_buffer_from_1.fromString)(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\nexports.fromUtf8 = fromUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./fromUtf8\"), exports);\ntslib_1.__exportStar(require(\"./toUint8Array\"), exports);\ntslib_1.__exportStar(require(\"./toUtf8\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUint8Array = void 0;\nconst fromUtf8_1 = require(\"./fromUtf8\");\nconst toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return (0, fromUtf8_1.fromUtf8)(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\nexports.toUint8Array = toUint8Array;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toUtf8 = void 0;\nconst util_buffer_from_1 = require(\"@aws-sdk/util-buffer-from\");\nconst toUtf8 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\nexports.toUtf8 = toUtf8;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createWaiter = void 0;\nconst poller_1 = require(\"./poller\");\nconst utils_1 = require(\"./utils\");\nconst waiter_1 = require(\"./waiter\");\nconst abortTimeout = async (abortSignal) => {\n return new Promise((resolve) => {\n abortSignal.onabort = () => resolve({ state: waiter_1.WaiterState.ABORTED });\n });\n};\nconst createWaiter = async (options, input, acceptorChecks) => {\n const params = {\n ...waiter_1.waiterServiceDefaults,\n ...options,\n };\n (0, utils_1.validateWaiterOptions)(params);\n const exitConditions = [(0, poller_1.runPolling)(params, input, acceptorChecks)];\n if (options.abortController) {\n exitConditions.push(abortTimeout(options.abortController.signal));\n }\n if (options.abortSignal) {\n exitConditions.push(abortTimeout(options.abortSignal));\n }\n return Promise.race(exitConditions);\n};\nexports.createWaiter = createWaiter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./createWaiter\"), exports);\ntslib_1.__exportStar(require(\"./waiter\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runPolling = void 0;\nconst sleep_1 = require(\"./utils/sleep\");\nconst waiter_1 = require(\"./waiter\");\nconst exponentialBackoffWithJitter = (minDelay, maxDelay, attemptCeiling, attempt) => {\n if (attempt > attemptCeiling)\n return maxDelay;\n const delay = minDelay * 2 ** (attempt - 1);\n return randomInRange(minDelay, delay);\n};\nconst randomInRange = (min, max) => min + Math.random() * (max - min);\nconst runPolling = async ({ minDelay, maxDelay, maxWaitTime, abortController, client, abortSignal }, input, acceptorChecks) => {\n var _a;\n const { state, reason } = await acceptorChecks(client, input);\n if (state !== waiter_1.WaiterState.RETRY) {\n return { state, reason };\n }\n let currentAttempt = 1;\n const waitUntil = Date.now() + maxWaitTime * 1000;\n const attemptCeiling = Math.log(maxDelay / minDelay) / Math.log(2) + 1;\n while (true) {\n if (((_a = abortController === null || abortController === void 0 ? void 0 : abortController.signal) === null || _a === void 0 ? void 0 : _a.aborted) || (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted)) {\n return { state: waiter_1.WaiterState.ABORTED };\n }\n const delay = exponentialBackoffWithJitter(minDelay, maxDelay, attemptCeiling, currentAttempt);\n if (Date.now() + delay * 1000 > waitUntil) {\n return { state: waiter_1.WaiterState.TIMEOUT };\n }\n await (0, sleep_1.sleep)(delay);\n const { state, reason } = await acceptorChecks(client, input);\n if (state !== waiter_1.WaiterState.RETRY) {\n return { state, reason };\n }\n currentAttempt += 1;\n }\n};\nexports.runPolling = runPolling;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./sleep\"), exports);\ntslib_1.__exportStar(require(\"./validate\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sleep = void 0;\nconst sleep = (seconds) => {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n};\nexports.sleep = sleep;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateWaiterOptions = void 0;\nconst validateWaiterOptions = (options) => {\n if (options.maxWaitTime < 1) {\n throw new Error(`WaiterConfiguration.maxWaitTime must be greater than 0`);\n }\n else if (options.minDelay < 1) {\n throw new Error(`WaiterConfiguration.minDelay must be greater than 0`);\n }\n else if (options.maxDelay < 1) {\n throw new Error(`WaiterConfiguration.maxDelay must be greater than 0`);\n }\n else if (options.maxWaitTime <= options.minDelay) {\n throw new Error(`WaiterConfiguration.maxWaitTime [${options.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);\n }\n else if (options.maxDelay < options.minDelay) {\n throw new Error(`WaiterConfiguration.maxDelay [${options.maxDelay}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);\n }\n};\nexports.validateWaiterOptions = validateWaiterOptions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkExceptions = exports.WaiterState = exports.waiterServiceDefaults = void 0;\nexports.waiterServiceDefaults = {\n minDelay: 2,\n maxDelay: 120,\n};\nvar WaiterState;\n(function (WaiterState) {\n WaiterState[\"ABORTED\"] = \"ABORTED\";\n WaiterState[\"FAILURE\"] = \"FAILURE\";\n WaiterState[\"SUCCESS\"] = \"SUCCESS\";\n WaiterState[\"RETRY\"] = \"RETRY\";\n WaiterState[\"TIMEOUT\"] = \"TIMEOUT\";\n})(WaiterState = exports.WaiterState || (exports.WaiterState = {}));\nconst checkExceptions = (result) => {\n if (result.state === WaiterState.ABORTED) {\n const abortError = new Error(`${JSON.stringify({\n ...result,\n reason: \"Request was aborted\",\n })}`);\n abortError.name = \"AbortError\";\n throw abortError;\n }\n else if (result.state === WaiterState.TIMEOUT) {\n const timeoutError = new Error(`${JSON.stringify({\n ...result,\n reason: \"Waiter has timed out\",\n })}`);\n timeoutError.name = \"TimeoutError\";\n throw timeoutError;\n }\n else if (result.state !== WaiterState.SUCCESS) {\n throw new Error(`${JSON.stringify({ result })}`);\n }\n return result;\n};\nexports.checkExceptions = checkExceptions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.XmlNode = void 0;\nconst escape_attribute_1 = require(\"./escape-attribute\");\nconst XmlText_1 = require(\"./XmlText\");\nclass XmlNode {\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n this.attributes = {};\n }\n static of(name, childText, withName) {\n const node = new XmlNode(name);\n if (childText !== undefined) {\n node.addChildNode(new XmlText_1.XmlText(childText));\n }\n if (withName !== undefined) {\n node.withName(withName);\n }\n return node;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (typeof attribute !== \"undefined\" && attribute !== null) {\n xmlText += ` ${attributeName}=\"${(0, escape_attribute_1.escapeAttribute)(\"\" + attribute)}\"`;\n }\n }\n return (xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}`);\n }\n}\nexports.XmlNode = XmlNode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.XmlText = void 0;\nconst escape_element_1 = require(\"./escape-element\");\nclass XmlText {\n constructor(value) {\n this.value = value;\n }\n toString() {\n return (0, escape_element_1.escapeElement)(\"\" + this.value);\n }\n}\nexports.XmlText = XmlText;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeAttribute = void 0;\nfunction escapeAttribute(value) {\n return value.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\");\n}\nexports.escapeAttribute = escapeAttribute;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeElement = void 0;\nfunction escapeElement(value) {\n return value\n .replace(/&/g, \"&\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\")\n .replace(//g, \">\")\n .replace(/\\r/g, \" \")\n .replace(/\\n/g, \" \")\n .replace(/\\u0085/g, \"…\")\n .replace(/\\u2028/, \"
\");\n}\nexports.escapeElement = escapeElement;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./XmlNode\"), exports);\ntslib_1.__exportStar(require(\"./XmlText\"), exports);\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nconst VERSION = \"3.6.0\";\n\nconst _excluded = [\"authStrategy\"];\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => {},\n info: () => {},\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n }, options.log);\n this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const {\n authStrategy\n } = options,\n otherOptions = _objectWithoutProperties(options, _excluded);\n\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\n\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n\n\n static plugin(...newPlugins) {\n var _a;\n\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isPlainObject = require('is-plain-object');\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach(key => {\n if (isPlainObject.isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n\n return obj;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging\n\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\n\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n });\n}\n\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n } // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n\n\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\n\nconst VERSION = \"6.0.12\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\",\n previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.8.0\";\n\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\\n` + data.errors.map(e => ` - ${e.message}`).join(\"\\n\");\n}\n\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\"; // Expose the errors and response data in their shorthand properties.\n\n this.errors = response.errors;\n this.data = response.data; // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n\n const parsedOptions = typeof query === \"string\" ? Object.assign({\n query\n }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = parsedOptions[key];\n return result;\n }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.GraphqlResponseError = GraphqlResponseError;\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.21.3\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nfunction normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return _objectSpread2(_objectSpread2({}, response), {}, {\n data: []\n });\n }\n\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return {\n done: true\n };\n\n try {\n const response = await requestMethod({\n method,\n url,\n headers\n });\n const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: normalizedResponse\n };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\nconst paginatingEndpoints = [\"GET /app/hook/deliveries\", \"GET /app/installations\", \"GET /applications/grants\", \"GET /authorizations\", \"GET /enterprises/{enterprise}/actions/permissions/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\", \"GET /enterprises/{enterprise}/actions/runners\", \"GET /enterprises/{enterprise}/audit-log\", \"GET /enterprises/{enterprise}/secret-scanning/alerts\", \"GET /enterprises/{enterprise}/settings/billing/advanced-security\", \"GET /events\", \"GET /gists\", \"GET /gists/public\", \"GET /gists/starred\", \"GET /gists/{gist_id}/comments\", \"GET /gists/{gist_id}/commits\", \"GET /gists/{gist_id}/forks\", \"GET /installation/repositories\", \"GET /issues\", \"GET /licenses\", \"GET /marketplace_listing/plans\", \"GET /marketplace_listing/plans/{plan_id}/accounts\", \"GET /marketplace_listing/stubbed/plans\", \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", \"GET /networks/{owner}/{repo}/events\", \"GET /notifications\", \"GET /organizations\", \"GET /orgs/{org}/actions/cache/usage-by-repository\", \"GET /orgs/{org}/actions/permissions/repositories\", \"GET /orgs/{org}/actions/runner-groups\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\", \"GET /orgs/{org}/actions/runners\", \"GET /orgs/{org}/actions/secrets\", \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/audit-log\", \"GET /orgs/{org}/blocks\", \"GET /orgs/{org}/code-scanning/alerts\", \"GET /orgs/{org}/codespaces\", \"GET /orgs/{org}/credential-authorizations\", \"GET /orgs/{org}/dependabot/secrets\", \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/events\", \"GET /orgs/{org}/external-groups\", \"GET /orgs/{org}/failed_invitations\", \"GET /orgs/{org}/hooks\", \"GET /orgs/{org}/hooks/{hook_id}/deliveries\", \"GET /orgs/{org}/installations\", \"GET /orgs/{org}/invitations\", \"GET /orgs/{org}/invitations/{invitation_id}/teams\", \"GET /orgs/{org}/issues\", \"GET /orgs/{org}/members\", \"GET /orgs/{org}/migrations\", \"GET /orgs/{org}/migrations/{migration_id}/repositories\", \"GET /orgs/{org}/outside_collaborators\", \"GET /orgs/{org}/packages\", \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", \"GET /orgs/{org}/projects\", \"GET /orgs/{org}/public_members\", \"GET /orgs/{org}/repos\", \"GET /orgs/{org}/secret-scanning/alerts\", \"GET /orgs/{org}/settings/billing/advanced-security\", \"GET /orgs/{org}/team-sync/groups\", \"GET /orgs/{org}/teams\", \"GET /orgs/{org}/teams/{team_slug}/discussions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/invitations\", \"GET /orgs/{org}/teams/{team_slug}/members\", \"GET /orgs/{org}/teams/{team_slug}/projects\", \"GET /orgs/{org}/teams/{team_slug}/repos\", \"GET /orgs/{org}/teams/{team_slug}/teams\", \"GET /projects/columns/{column_id}/cards\", \"GET /projects/{project_id}/collaborators\", \"GET /projects/{project_id}/columns\", \"GET /repos/{owner}/{repo}/actions/artifacts\", \"GET /repos/{owner}/{repo}/actions/caches\", \"GET /repos/{owner}/{repo}/actions/runners\", \"GET /repos/{owner}/{repo}/actions/runs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\", \"GET /repos/{owner}/{repo}/actions/secrets\", \"GET /repos/{owner}/{repo}/actions/workflows\", \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\", \"GET /repos/{owner}/{repo}/assignees\", \"GET /repos/{owner}/{repo}/branches\", \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", \"GET /repos/{owner}/{repo}/code-scanning/alerts\", \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", \"GET /repos/{owner}/{repo}/code-scanning/analyses\", \"GET /repos/{owner}/{repo}/codespaces\", \"GET /repos/{owner}/{repo}/codespaces/devcontainers\", \"GET /repos/{owner}/{repo}/codespaces/secrets\", \"GET /repos/{owner}/{repo}/collaborators\", \"GET /repos/{owner}/{repo}/comments\", \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/commits\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", \"GET /repos/{owner}/{repo}/commits/{ref}/status\", \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", \"GET /repos/{owner}/{repo}/contributors\", \"GET /repos/{owner}/{repo}/dependabot/secrets\", \"GET /repos/{owner}/{repo}/deployments\", \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\", \"GET /repos/{owner}/{repo}/environments\", \"GET /repos/{owner}/{repo}/events\", \"GET /repos/{owner}/{repo}/forks\", \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\", \"GET /repos/{owner}/{repo}/hooks\", \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\", \"GET /repos/{owner}/{repo}/invitations\", \"GET /repos/{owner}/{repo}/issues\", \"GET /repos/{owner}/{repo}/issues/comments\", \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/issues/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", \"GET /repos/{owner}/{repo}/keys\", \"GET /repos/{owner}/{repo}/labels\", \"GET /repos/{owner}/{repo}/milestones\", \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\", \"GET /repos/{owner}/{repo}/notifications\", \"GET /repos/{owner}/{repo}/pages/builds\", \"GET /repos/{owner}/{repo}/projects\", \"GET /repos/{owner}/{repo}/pulls\", \"GET /repos/{owner}/{repo}/pulls/comments\", \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", \"GET /repos/{owner}/{repo}/releases\", \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\", \"GET /repos/{owner}/{repo}/stargazers\", \"GET /repos/{owner}/{repo}/subscribers\", \"GET /repos/{owner}/{repo}/tags\", \"GET /repos/{owner}/{repo}/teams\", \"GET /repos/{owner}/{repo}/topics\", \"GET /repositories\", \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\", \"GET /search/code\", \"GET /search/commits\", \"GET /search/issues\", \"GET /search/labels\", \"GET /search/repositories\", \"GET /search/topics\", \"GET /search/users\", \"GET /teams/{team_id}/discussions\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\", \"GET /teams/{team_id}/invitations\", \"GET /teams/{team_id}/members\", \"GET /teams/{team_id}/projects\", \"GET /teams/{team_id}/repos\", \"GET /teams/{team_id}/teams\", \"GET /user/blocks\", \"GET /user/codespaces\", \"GET /user/codespaces/secrets\", \"GET /user/emails\", \"GET /user/followers\", \"GET /user/following\", \"GET /user/gpg_keys\", \"GET /user/installations\", \"GET /user/installations/{installation_id}/repositories\", \"GET /user/issues\", \"GET /user/keys\", \"GET /user/marketplace_purchases\", \"GET /user/marketplace_purchases/stubbed\", \"GET /user/memberships/orgs\", \"GET /user/migrations\", \"GET /user/migrations/{migration_id}/repositories\", \"GET /user/orgs\", \"GET /user/packages\", \"GET /user/packages/{package_type}/{package_name}/versions\", \"GET /user/public_emails\", \"GET /user/repos\", \"GET /user/repository_invitations\", \"GET /user/starred\", \"GET /user/subscriptions\", \"GET /user/teams\", \"GET /users\", \"GET /users/{username}/events\", \"GET /users/{username}/events/orgs/{org}\", \"GET /users/{username}/events/public\", \"GET /users/{username}/followers\", \"GET /users/{username}/following\", \"GET /users/{username}/gists\", \"GET /users/{username}/gpg_keys\", \"GET /users/{username}/keys\", \"GET /users/{username}/orgs\", \"GET /users/{username}/packages\", \"GET /users/{username}/projects\", \"GET /users/{username}/received_events\", \"GET /users/{username}/received_events/public\", \"GET /users/{username}/repos\", \"GET /users/{username}/starred\", \"GET /users/{username}/subscriptions\"];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n\nexports.composePaginateRest = composePaginateRest;\nexports.isPaginatingEndpoint = isPaginatingEndpoint;\nexports.paginateRest = paginateRest;\nexports.paginatingEndpoints = paginatingEndpoints;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nconst Endpoints = {\n actions: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateEnvironmentSecret: [\"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n createWorkflowDispatch: [\"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteEnvironmentSecret: [\"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n disableSelectedRepositoryGithubActionsOrganization: [\"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n disableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n enableSelectedRepositoryGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n enableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"],\n getAllowedActionsOrganization: [\"GET /orgs/{org}/actions/permissions/selected-actions\"],\n getAllowedActionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"],\n getEnvironmentSecret: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n getGithubActionsPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions\"],\n getGithubActionsPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions\"],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n getRepoPermissions: [\"GET /repos/{owner}/{repo}/actions/permissions\", {}, {\n renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\"GET /orgs/{org}/actions/permissions/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n reviewPendingDeploymentsForRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n setAllowedActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/selected-actions\"],\n setAllowedActionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n setGithubActionsPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions\"],\n setGithubActionsPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\"],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createContentAttachment: [\"POST /content_references/{content_reference_id}/attachments\", {\n mediaType: {\n previews: [\"corsair\"]\n }\n }],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\"],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\"],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\"GET /users/{username}/settings/billing/actions\"],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\"GET /users/{username}/settings/billing/packages\"],\n getSharedStorageBillingOrg: [\"GET /orgs/{org}/settings/billing/shared-storage\"],\n getSharedStorageBillingUser: [\"GET /users/{username}/settings/billing/shared-storage\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\"],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"],\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\", {}, {\n renamedParameters: {\n alert_id: \"alert_number\"\n }\n }],\n getAnalysis: [\"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n getConductCode: [\"GET /codes_of_conduct/{key}\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }],\n getForRepo: [\"GET /repos/{owner}/{repo}/community/code_of_conduct\", {\n mediaType: {\n previews: [\"scarlet-witch\"]\n }\n }]\n },\n emojis: {\n get: [\"GET /emojis\"]\n },\n enterpriseAdmin: {\n disableSelectedOrganizationGithubActionsEnterprise: [\"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n enableSelectedOrganizationGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n getAllowedActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n getGithubActionsPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions\"],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/organizations\"],\n setAllowedActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n setGithubActionsPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions\"],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations\"]\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\"GET /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"]\n }],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\"],\n removeRestrictionsForYourPublicRepos: [\"DELETE /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"]\n }],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\"PUT /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"]\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", {\n mediaType: {\n previews: [\"mockingbird\"]\n }\n }],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listForAuthenticatedUser: [\"GET /user/migrations\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listForOrg: [\"GET /orgs/{org}/migrations\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n listReposForUser: [\"GET /user/migrations/{migration_id}/repositories\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\", {\n mediaType: {\n previews: [\"wyandotte\"]\n }\n }],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}\"],\n deletePackageForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"],\n deletePackageVersionForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"]\n }],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"]\n }],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions\"],\n getPackageForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}\"],\n getPackageForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}\"],\n getPackageForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}\"],\n getPackageVersionForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n restorePackageForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageVersionForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createCard: [\"POST /projects/columns/{column_id}/cards\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createColumn: [\"POST /projects/{project_id}/columns\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForAuthenticatedUser: [\"POST /user/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForOrg: [\"POST /orgs/{org}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n delete: [\"DELETE /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n get: [\"GET /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getCard: [\"GET /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getColumn: [\"GET /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listCards: [\"GET /projects/columns/{column_id}/cards\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listColumns: [\"GET /projects/{project_id}/columns\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForOrg: [\"GET /orgs/{org}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listForUser: [\"GET /users/{username}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n update: [\"PATCH /projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n updateColumn: [\"PATCH /projects/columns/{column_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\", {\n mediaType: {\n previews: [\"lydian\"]\n }\n }],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n deleteLegacy: [\"DELETE /reactions/{reaction_id}\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }, {\n deprecated: \"octokit.rest.reactions.deleteLegacy() is deprecated, see https://docs.github.com/rest/reference/reactions/#delete-a-reaction-legacy\"\n }],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", {\n mediaType: {\n previews: [\"squirrel-girl\"]\n }\n }]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\"PUT /repos/{owner}/{repo}/environments/{environment_name}\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\", {\n mediaType: {\n previews: [\"baptiste\"]\n }\n }],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteAnEnvironment: [\"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\", {\n mediaType: {\n previews: [\"switcheroo\"]\n }\n }],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\", {\n mediaType: {\n previews: [\"london\"]\n }\n }],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n downloadArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\", {}, {\n renamed: [\"repos\", \"downloadZipballArchive\"]\n }],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\", {\n mediaType: {\n previews: [\"london\"]\n }\n }],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\", {\n mediaType: {\n previews: [\"dorian\"]\n }\n }],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\", {\n mediaType: {\n previews: [\"zzzax\"]\n }\n }],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getEnvironment: [\"GET /repos/{owner}/{repo}/environments/{environment_name}\"],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\", {\n mediaType: {\n previews: [\"groot\"]\n }\n }],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", {\n mediaType: {\n previews: [\"groot\"]\n }\n }],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusCheckProtection\"]\n }],\n updateStatusCheckProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n uploadReleaseAsset: [\"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\", {\n baseUrl: \"https://uploads.github.com\"\n }]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\", {\n mediaType: {\n previews: [\"cloak\"]\n }\n }],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\", {\n mediaType: {\n previews: [\"mercy\"]\n }\n }],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\", {\n mediaType: {\n previews: [\"inertia\"]\n }\n }],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"4.15.1\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n }\n\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return _objectSpread2(_objectSpread2({}, api), {}, {\n rest: api\n });\n}\nrestEndpointMethods.VERSION = VERSION;\n\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnceCode = once(deprecation => console.warn(deprecation));\nconst logOnceHeaders = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n } // redact request credentials without mutating original request options\n\n\n const requestCopy = Object.assign({}, options.request);\n\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n\n requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\") // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy; // deprecations\n\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new deprecation.Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n }\n\n });\n }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = require('is-plain-object');\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.6.3\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n\n if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n\n let headers = {};\n let status;\n let url;\n const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request)).then(async response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined\n },\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new requestError.RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n\n return getResponseData(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) throw error;\n throw new requestError.RequestError(error.message, 500, {\n request: requestOptions\n });\n });\n}\n\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n}\n\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") return data; // istanbul ignore else - just in case\n\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n\n return data.message;\n } // istanbul ignore next - just in case\n\n\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","var concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n\n","module.exports = function (xs, fn) {\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = fn(xs[i], i);\n if (isArray(x)) res.push.apply(res, x);\n else res.push(x);\n }\n return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexports.Deprecation = Deprecation;\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n val += this.processTextOrObjNode(item, key, level)\n } else {\n val += this.buildTextValNode(item, key, '', level);\n }\n }\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n ' 0 && this.options.processEntities){\n for (let i=0; i 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, entity = false, comment = false;\n let exp = \"\";\n for(;i') {\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n if(entity) {\n parseEntityExp(exp, entities);\n entity = false;\n }\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nconst entityRegex = RegExp(\"^\\\\s([a-zA-z0-0]+)[ \\t](['\\\"])([^&]+)\\\\2\");\nfunction parseEntityExp(exp, entities){\n const match = entityRegex.exec(exp);\n if(match){\n entities[ match[1] ] = {\n regx : RegExp( `&${match[1]};`,\"g\"),\n val: match[3]\n };\n }\n}\nmodule.exports = readDocType;","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath) {\n if (!this.options.ignoreAttributes && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n \n currentNode = this.tagsNodeStack.pop();//avoid recurssion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath);\n }\n currentNode.addChild(childNode);\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n }\n\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //boolean tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n currentNode.addChild(childNode);\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n currentNode.addChild(childNode);\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-dobule quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const propCount = Object.keys(obj).length;\n if( propCount === 0 || (propCount === 1 && obj[options.textNodeName]) ) return true;\n return false;\n}\nexports.prettify = prettify;\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = (function () { try { return require('path') } catch (e) {}}()) || {\n sep: '/'\n}\nminimatch.sep = path.sep\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n b = b || {}\n var t = {}\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n m.Minimatch.defaults = function defaults (options) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n\n m.filter = function filter (pattern, options) {\n return orig.filter(pattern, ext(def, options))\n }\n\n m.defaults = function defaults (options) {\n return orig.defaults(ext(def, options))\n }\n\n m.makeRe = function makeRe (pattern, options) {\n return orig.makeRe(pattern, ext(def, options))\n }\n\n m.braceExpand = function braceExpand (pattern, options) {\n return orig.braceExpand(pattern, ext(def, options))\n }\n\n m.match = function (list, pattern, options) {\n return orig.match(list, pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (!options.allowWindowsEscape && path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\nvar MAX_PATTERN_LENGTH = 1024 * 64\nvar assertValidPattern = function (pattern) {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n assertValidPattern(pattern)\n\n var options = this.options\n\n // shortcuts\n if (pattern === '**') {\n if (!options.noglobstar)\n return GLOBSTAR\n else\n pattern = '*'\n }\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n /* istanbul ignore next */\n case '/': {\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n }\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '[': case '.': case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) /* istanbul ignore next - should be impossible */ {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) /* istanbul ignore next - should be impossible */ {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = function match (f, partial) {\n if (typeof partial === 'undefined') partial = this.partial\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* istanbul ignore if */\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n /* istanbul ignore if */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else /* istanbul ignore else */ if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return (fi === fl - 1) && (file[fi] === '')\n }\n\n // should be unreachable.\n /* istanbul ignore next */\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n crypto.randomFillSync(rnds8Pool);\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || stringify(b);\n}\n\nexport default v1;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import crypto from 'crypto';\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return crypto.createHash('md5').update(bytes).digest();\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nconst v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import crypto from 'crypto';\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return crypto.createHash('sha1').update(bytes).digest();\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nconst v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n",null,"module.exports = require(\"assert\");;","module.exports = require(\"buffer\");;","module.exports = require(\"child_process\");;","module.exports = require(\"crypto\");;","module.exports = require(\"events\");;","module.exports = require(\"fs\");;","module.exports = require(\"http\");;","module.exports = require(\"http2\");;","module.exports = require(\"https\");;","module.exports = require(\"net\");;","module.exports = require(\"os\");;","module.exports = require(\"path\");;","module.exports = require(\"process\");;","module.exports = require(\"punycode\");;","module.exports = require(\"stream\");;","module.exports = require(\"tls\");;","module.exports = require(\"url\");;","module.exports = require(\"util\");;","module.exports = require(\"zlib\");;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\n__webpack_require__.ab = __dirname + \"/\";","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(94822);\n"],"mappings":";;;;;;;;;;A;;;;;;;;A;;;;;;;;A;;;;;;;;A;;;;;;;;A;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1hBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC33CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACliDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3PA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACv3TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3gBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzGA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5jCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5CA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClOA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;A;;;;;;ACJA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC/BA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;A;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1CA;;;;;AAKA;;;;;;;;;;;;A;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9sCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACxaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC1PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACtjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACp7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC5vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACtSA;AACA;AACA;A;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;;ACHA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACzMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACrMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;;AClxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;;;AClCA;AACA;AACA;A;;;;;AAFA;AACA;AACA;A;;;;;AAFA;AACA;AACA;A;;;;;;;;A;;;;;;;;A;;;;;;ACFA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;;;ACDA;AACA;A;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACNA;AACA;ACDA;AACA;AACA;AACA;;A","sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0787108..24972ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ably/sdk-upload-action", - "version": "2.1.0", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ably/sdk-upload-action", - "version": "2.1.0", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { "@actions/core": "^1.2.5", @@ -1956,9 +1956,9 @@ "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { "path-key": "^3.1.0", @@ -2393,9 +2393,9 @@ } }, "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -2433,9 +2433,9 @@ } }, "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true, "bin": { @@ -2517,9 +2517,9 @@ } }, "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true, "bin": { @@ -3447,18 +3447,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -3863,13 +3851,10 @@ } }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -4328,9 +4313,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -4340,12 +4325,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } }, "dependencies": { @@ -5972,9 +5951,9 @@ "dev": true }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -6320,9 +6299,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -6353,9 +6332,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true } @@ -6408,9 +6387,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true } @@ -7094,15 +7073,6 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -7391,13 +7361,10 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true }, "shebang-command": { "version": "2.0.0", @@ -7750,21 +7717,15 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } } diff --git a/package.json b/package.json index 278b27c..ae1b873 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ably/sdk-upload-action", - "version": "2.1.0", + "version": "2.2.0", "description": "GitHub Action for use in Ably SDK repository workflows, uploading built artifacts to the SDK Team's Amazon S3 bucket (presented at sdk.ably.com).", "main": "index.js", "scripts": { diff --git a/src/index.ts b/src/index.ts index c15972c..6b3144f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -135,13 +135,16 @@ const createDeployment = async () => { } const setDeploymentStatus = async (id: number, state: 'in_progress' | 'success' | 'failure', url?: string) => { + // Set completeUrl if url exists; otherwise, it will remain undefined + const completeUrl = url ? `${url}${landingPagePath}` : undefined; + await octokit.repos.createDeploymentStatus({ ...context.repo, deployment_id: id, state, - log_url: url + landingPagePath, - target_url: url + landingPagePath, - environment_url: url + landingPagePath, + log_url: completeUrl, + target_url: completeUrl, + environment_url: completeUrl, mediaType: { // 'flash' is needed to use the 'in_progress' state // 'ant-man' is needed to use the log_url property