{"version":3,"sources":["webpack:///./node_modules/@aws-sdk/client-s3/dist/es/protocols/Aws_restXml.js"],"names":["serializeAws_restXmlAbortMultipartUploadCommand","input","context","headers","resolvedPath","labelValue","query","_a","hostname","_b","protocol","port","this","_c","label","isSerializableHeaderValue","RequestPayer","undefined","Bucket","Error","length","replace","Key","split","map","segment","join","UploadId","uploadId","endpoint","sent","method","path","body","serializeAws_restXmlCompleteMultipartUploadCommand","contents","MultipartUpload","serializeAws_restXmlCompletedMultipartUpload","addAttribute","toString","serializeAws_restXmlCreateMultipartUploadCommand","ACL","CacheControl","ContentDisposition","ContentEncoding","ContentLanguage","ContentType","Expires","GrantFullControl","GrantRead","GrantReadACP","GrantWriteACP","ObjectLockLegalHoldStatus","ObjectLockMode","ObjectLockRetainUntilDate","toISOString","SSECustomerAlgorithm","SSECustomerKey","SSECustomerKeyMD5","SSEKMSEncryptionContext","SSEKMSKeyId","ServerSideEncryption","StorageClass","Tagging","WebsiteRedirectLocation","Metadata","Object","keys","reduce","acc","suffix","uploads","serializeAws_restXmlDeleteObjectCommand","BypassGovernanceRetention","MFA","VersionId","versionId","serializeAws_restXmlGetObjectCommand","IfMatch","IfModifiedSince","IfNoneMatch","IfUnmodifiedSince","Range","PartNumber","partNumber","ResponseCacheControl","ResponseContentDisposition","ResponseContentEncoding","ResponseContentLanguage","ResponseContentType","ResponseExpires","serializeAws_restXmlListObjectsCommand","Delimiter","delimiter","EncodingType","Marker","marker","MaxKeys","Prefix","prefix","serializeAws_restXmlListPartsCommand","MaxParts","PartNumberMarker","serializeAws_restXmlPutObjectCommand","ContentLength","ContentMD5","Body","serializeAws_restXmlUploadPartCommand","deserializeAws_restXmlAbortMultipartUploadCommand","output","statusCode","deserializeAws_restXmlAbortMultipartUploadCommandError","$metadata","deserializeMetadata","__type","RequestCharged","collectBody","Promise","resolve","parsedOutput","response","errorCode","_d","parsedBody","message","_e","parseBody","apply","concat","loadRestXmlErrorCode","deserializeAws_restXmlNoSuchUploadResponse","name","code","Code","Message","$fault","reject","assign","deserializeAws_restXmlCompleteMultipartUploadCommand","data","deserializeAws_restXmlCompleteMultipartUploadCommandError","ETag","Expiration","Location","deserializeAws_restXmlCreateMultipartUploadCommand","deserializeAws_restXmlCreateMultipartUploadCommandError","AbortDate","AbortRuleId","Date","deserializeAws_restXmlDeleteObjectCommand","deserializeAws_restXmlDeleteObjectCommandError","DeleteMarker","deserializeAws_restXmlGetObjectCommand","deserializeAws_restXmlGetObjectCommandError","AcceptRanges","ContentRange","LastModified","MissingMeta","PartsCount","ReplicationStatus","Restore","TagCount","parseInt","forEach","header","startsWith","substring","deserializeAws_restXmlNoSuchKeyResponse","deserializeAws_restXmlListObjectsCommand","deserializeAws_restXmlListObjectsCommandError","CommonPrefixes","Contents","IsTruncated","Name","NextMarker","deserializeAws_restXmlCommonPrefixList","deserializeAws_restXmlObjectList","deserializeAws_restXmlNoSuchBucketResponse","deserializeAws_restXmlListPartsCommand","deserializeAws_restXmlListPartsCommandError","Initiator","NextPartNumberMarker","Owner","Parts","deserializeAws_restXmlInitiator","deserializeAws_restXmlOwner","Part","deserializeAws_restXmlParts","deserializeAws_restXmlPutObjectCommand","deserializeAws_restXmlPutObjectCommandError","deserializeAws_restXmlUploadPartCommand","deserializeAws_restXmlUploadPartCommandError","bodyNode","serializeAws_restXmlCompletedPartList","node","withName","addChildNode","entry","String","serializeAws_restXmlCompletedPart","deserializeAws_restXmlCommonPrefix","DisplayName","ID","Size","deserializeAws_restXml_Object","deserializeAws_restXmlPart","httpStatusCode","httpHeaders","requestId","streamBody","Uint8Array","streamCollector","value","getOwnPropertyNames","includes","size","then","utf8Encoder","collectBodyString","encoded","parsedObj","attributeNamePrefix","ignoreAttributes","parseNodeValue","tagValueProcessor","val","tagName","key","parsedObjToReturn"],"mappings":"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","file":"d6a9949e-a31cfec5cfc65458a8bc.js","sourcesContent":["import \"core-js/modules/es7.array.includes\";\nimport \"core-js/modules/es6.string.includes\";\nimport \"core-js/modules/es6.typed.uint8-array\";\nimport \"core-js/modules/es7.object.entries\";\nimport \"core-js/modules/es6.string.starts-with\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.promise\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.reduce\";\nimport \"core-js/modules/es6.date.to-iso-string\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.date.to-string\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest as __HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { dateToUtcString as __dateToUtcString, extendedEncodeURIComponent as __extendedEncodeURIComponent, getArrayIfSingleItem as __getArrayIfSingleItem, getValueFromTextNode as __getValueFromTextNode } from \"@aws-sdk/smithy-client\";\nimport { XmlNode as __XmlNode, XmlText as __XmlText } from \"@aws-sdk/xml-builder\";\nimport { parse as xmlParse } from \"fast-xml-parser\";\nexport var serializeAws_restXmlAbortMultipartUploadCommand = function serializeAws_restXmlAbortMultipartUploadCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n \"x-id\": \"AbortMultipartUpload\"\n }, input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlCompleteMultipartUploadCommand = function serializeAws_restXmlCompleteMultipartUploadCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({}, input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n\n if (input.MultipartUpload !== undefined) {\n contents = serializeAws_restXmlCompletedMultipartUpload(input.MultipartUpload, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlCopyObjectCommand = function serializeAws_restXmlCopyObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.CacheControl) && {\n \"Cache-Control\": input.CacheControl\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"Content-Disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"Content-Encoding\": input.ContentEncoding\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"Content-Language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.ContentType) && {\n \"Content-Type\": input.ContentType\n }), isSerializableHeaderValue(input.CopySource) && {\n \"x-amz-copy-source\": input.CopySource\n }), isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch\n }), isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince).toString()\n }), isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch\n }), isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-MD5\": input.CopySourceSSECustomerKeyMD5\n }), isSerializableHeaderValue(input.Expires) && {\n Expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.MetadataDirective) && {\n \"x-amz-metadata-directive\": input.MetadataDirective\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\n }), isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.TaggingDirective) && {\n \"x-amz-tagging-directive\": input.TaggingDirective\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), input.Metadata !== undefined && Object.keys(input.Metadata).reduce(function (acc, suffix) {\n acc[\"x-amz-meta-\" + suffix] = input.Metadata[suffix];\n return acc;\n }, {}));\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n \"x-id\": \"CopyObject\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlCreateBucketCommand = function serializeAws_restXmlCreateBucketCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWrite) && {\n \"x-amz-grant-write\": input.GrantWrite\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.ObjectLockEnabledForBucket) && {\n \"x-amz-bucket-object-lock-enabled\": input.ObjectLockEnabledForBucket.toString()\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlCreateMultipartUploadCommand = function serializeAws_restXmlCreateMultipartUploadCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.CacheControl) && {\n \"Cache-Control\": input.CacheControl\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"Content-Disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"Content-Encoding\": input.ContentEncoding\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"Content-Language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.ContentType) && {\n \"Content-Type\": input.ContentType\n }), isSerializableHeaderValue(input.Expires) && {\n Expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\n }), isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), input.Metadata !== undefined && Object.keys(input.Metadata).reduce(function (acc, suffix) {\n acc[\"x-amz-meta-\" + suffix] = input.Metadata[suffix];\n return acc;\n }, {}));\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n uploads: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketCommand = function serializeAws_restXmlDeleteBucketCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = function serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n analytics: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketCorsCommand = function serializeAws_restXmlDeleteBucketCorsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n cors: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketEncryptionCommand = function serializeAws_restXmlDeleteBucketEncryptionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n encryption: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = function serializeAws_restXmlDeleteBucketInventoryConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n inventory: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketLifecycleCommand = function serializeAws_restXmlDeleteBucketLifecycleCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n lifecycle: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = function serializeAws_restXmlDeleteBucketMetricsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n metrics: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketPolicyCommand = function serializeAws_restXmlDeleteBucketPolicyCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n policy: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketReplicationCommand = function serializeAws_restXmlDeleteBucketReplicationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n replication: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketTaggingCommand = function serializeAws_restXmlDeleteBucketTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n tagging: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteBucketWebsiteCommand = function serializeAws_restXmlDeleteBucketWebsiteCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n website: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteObjectCommand = function serializeAws_restXmlDeleteObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\n }), isSerializableHeaderValue(input.MFA) && {\n \"x-amz-mfa\": input.MFA\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n \"x-id\": \"DeleteObject\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteObjectTaggingCommand = function serializeAws_restXmlDeleteObjectTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n tagging: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeleteObjectsCommand = function serializeAws_restXmlDeleteObjectsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\n }), isSerializableHeaderValue(input.MFA) && {\n \"x-amz-mfa\": input.MFA\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n \"delete\": \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlDeletePublicAccessBlockCommand = function serializeAws_restXmlDeletePublicAccessBlockCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n publicAccessBlock: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketAccelerateConfigurationCommand = function serializeAws_restXmlGetBucketAccelerateConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n accelerate: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketAclCommand = function serializeAws_restXmlGetBucketAclCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n acl: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = function serializeAws_restXmlGetBucketAnalyticsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n analytics: \"\",\n \"x-id\": \"GetBucketAnalyticsConfiguration\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketCorsCommand = function serializeAws_restXmlGetBucketCorsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n cors: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketEncryptionCommand = function serializeAws_restXmlGetBucketEncryptionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n encryption: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketInventoryConfigurationCommand = function serializeAws_restXmlGetBucketInventoryConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n inventory: \"\",\n \"x-id\": \"GetBucketInventoryConfiguration\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketLifecycleConfigurationCommand = function serializeAws_restXmlGetBucketLifecycleConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n lifecycle: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketLocationCommand = function serializeAws_restXmlGetBucketLocationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n location: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketLoggingCommand = function serializeAws_restXmlGetBucketLoggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n logging: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketMetricsConfigurationCommand = function serializeAws_restXmlGetBucketMetricsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n metrics: \"\",\n \"x-id\": \"GetBucketMetricsConfiguration\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketNotificationConfigurationCommand = function serializeAws_restXmlGetBucketNotificationConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n notification: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketPolicyCommand = function serializeAws_restXmlGetBucketPolicyCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n policy: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketPolicyStatusCommand = function serializeAws_restXmlGetBucketPolicyStatusCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n policyStatus: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketReplicationCommand = function serializeAws_restXmlGetBucketReplicationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n replication: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketRequestPaymentCommand = function serializeAws_restXmlGetBucketRequestPaymentCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n requestPayment: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketTaggingCommand = function serializeAws_restXmlGetBucketTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n tagging: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketVersioningCommand = function serializeAws_restXmlGetBucketVersioningCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n versioning: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetBucketWebsiteCommand = function serializeAws_restXmlGetBucketWebsiteCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n website: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectCommand = function serializeAws_restXmlGetObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.IfMatch) && {\n \"If-Match\": input.IfMatch\n }), isSerializableHeaderValue(input.IfModifiedSince) && {\n \"If-Modified-Since\": __dateToUtcString(input.IfModifiedSince).toString()\n }), isSerializableHeaderValue(input.IfNoneMatch) && {\n \"If-None-Match\": input.IfNoneMatch\n }), isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"If-Unmodified-Since\": __dateToUtcString(input.IfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.Range) && {\n Range: input.Range\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"x-id\": \"GetObject\"\n }, input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n }), input.ResponseCacheControl !== undefined && {\n \"response-cache-control\": input.ResponseCacheControl\n }), input.ResponseContentDisposition !== undefined && {\n \"response-content-disposition\": input.ResponseContentDisposition\n }), input.ResponseContentEncoding !== undefined && {\n \"response-content-encoding\": input.ResponseContentEncoding\n }), input.ResponseContentLanguage !== undefined && {\n \"response-content-language\": input.ResponseContentLanguage\n }), input.ResponseContentType !== undefined && {\n \"response-content-type\": input.ResponseContentType\n }), input.ResponseExpires !== undefined && {\n \"response-expires\": (input.ResponseExpires.toISOString().split(\".\")[0] + \"Z\").toString()\n }), input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectAclCommand = function serializeAws_restXmlGetObjectAclCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n acl: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectLegalHoldCommand = function serializeAws_restXmlGetObjectLegalHoldCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n \"legal-hold\": \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectLockConfigurationCommand = function serializeAws_restXmlGetObjectLockConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n \"object-lock\": \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectRetentionCommand = function serializeAws_restXmlGetObjectRetentionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n retention: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectTaggingCommand = function serializeAws_restXmlGetObjectTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n tagging: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetObjectTorrentCommand = function serializeAws_restXmlGetObjectTorrentCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n torrent: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlGetPublicAccessBlockCommand = function serializeAws_restXmlGetPublicAccessBlockCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n publicAccessBlock: \"\"\n };\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlHeadBucketCommand = function serializeAws_restXmlHeadBucketCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"HEAD\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlHeadObjectCommand = function serializeAws_restXmlHeadObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.IfMatch) && {\n \"If-Match\": input.IfMatch\n }), isSerializableHeaderValue(input.IfModifiedSince) && {\n \"If-Modified-Since\": __dateToUtcString(input.IfModifiedSince).toString()\n }), isSerializableHeaderValue(input.IfNoneMatch) && {\n \"If-None-Match\": input.IfNoneMatch\n }), isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"If-Unmodified-Since\": __dateToUtcString(input.IfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.Range) && {\n Range: input.Range\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign({}, input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n }), input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"HEAD\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = function serializeAws_restXmlListBucketAnalyticsConfigurationsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n analytics: \"\",\n \"x-id\": \"ListBucketAnalyticsConfigurations\"\n }, input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketInventoryConfigurationsCommand = function serializeAws_restXmlListBucketInventoryConfigurationsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n inventory: \"\",\n \"x-id\": \"ListBucketInventoryConfigurations\"\n }, input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketMetricsConfigurationsCommand = function serializeAws_restXmlListBucketMetricsConfigurationsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n metrics: \"\",\n \"x-id\": \"ListBucketMetricsConfigurations\"\n }, input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListBucketsCommand = function serializeAws_restXmlListBucketsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/\";\n body = \"\";\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListMultipartUploadsCommand = function serializeAws_restXmlListMultipartUploadsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign(__assign({\n uploads: \"\"\n }, input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.KeyMarker !== undefined && {\n \"key-marker\": input.KeyMarker\n }), input.MaxUploads !== undefined && {\n \"max-uploads\": input.MaxUploads.toString()\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.UploadIdMarker !== undefined && {\n \"upload-id-marker\": input.UploadIdMarker\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListObjectVersionsCommand = function serializeAws_restXmlListObjectVersionsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign(__assign({\n versions: \"\"\n }, input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.KeyMarker !== undefined && {\n \"key-marker\": input.KeyMarker\n }), input.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.VersionIdMarker !== undefined && {\n \"version-id-marker\": input.VersionIdMarker\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListObjectsCommand = function serializeAws_restXmlListObjectsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign({}, input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.Marker !== undefined && {\n marker: input.Marker\n }), input.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListObjectsV2Command = function serializeAws_restXmlListObjectsV2Command(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"list-type\": \"2\"\n }, input.ContinuationToken !== undefined && {\n \"continuation-token\": input.ContinuationToken\n }), input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.FetchOwner !== undefined && {\n \"fetch-owner\": input.FetchOwner.toString()\n }), input.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.StartAfter !== undefined && {\n \"start-after\": input.StartAfter\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlListPartsCommand = function serializeAws_restXmlListPartsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign(__assign({\n \"x-id\": \"ListParts\"\n }, input.MaxParts !== undefined && {\n \"max-parts\": input.MaxParts.toString()\n }), input.PartNumberMarker !== undefined && {\n \"part-number-marker\": input.PartNumberMarker.toString()\n }), input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketAccelerateConfigurationCommand = function serializeAws_restXmlPutBucketAccelerateConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"application/xml\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n accelerate: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketAclCommand = function serializeAws_restXmlPutBucketAclCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWrite) && {\n \"x-amz-grant-write\": input.GrantWrite\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n acl: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = function serializeAws_restXmlPutBucketAnalyticsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"application/xml\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n analytics: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketCorsCommand = function serializeAws_restXmlPutBucketCorsCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n cors: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketEncryptionCommand = function serializeAws_restXmlPutBucketEncryptionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n encryption: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketInventoryConfigurationCommand = function serializeAws_restXmlPutBucketInventoryConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"application/xml\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n inventory: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketLifecycleConfigurationCommand = function serializeAws_restXmlPutBucketLifecycleConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"application/xml\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n lifecycle: \"\"\n };\n\n if (input.LifecycleConfiguration !== undefined) {\n contents = serializeAws_restXmlBucketLifecycleConfiguration(input.LifecycleConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketLoggingCommand = function serializeAws_restXmlPutBucketLoggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n logging: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketMetricsConfigurationCommand = function serializeAws_restXmlPutBucketMetricsConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"application/xml\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = __assign({\n metrics: \"\"\n }, input.Id !== undefined && {\n id: input.Id\n });\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketNotificationConfigurationCommand = function serializeAws_restXmlPutBucketNotificationConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"Content-Type\": \"application/xml\"\n };\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n notification: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketPolicyCommand = function serializeAws_restXmlPutBucketPolicyCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, bodyNode, node, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess) && {\n \"x-amz-confirm-remove-self-bucket-access\": input.ConfirmRemoveSelfBucketAccess.toString()\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n policy: \"\"\n };\n body = '';\n bodyNode = new __XmlNode(\"PutBucketPolicyRequest\");\n bodyNode.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n\n if (input.Policy !== undefined) {\n node = new __XmlNode(\"Policy\").addChildNode(new __XmlText(input.Policy)).withName(\"Policy\");\n bodyNode.addChildNode(node);\n }\n\n body += bodyNode.toString();\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketReplicationCommand = function serializeAws_restXmlPutBucketReplicationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.Token) && {\n \"x-amz-bucket-object-lock-token\": input.Token\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n replication: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketRequestPaymentCommand = function serializeAws_restXmlPutBucketRequestPaymentCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n requestPayment: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketTaggingCommand = function serializeAws_restXmlPutBucketTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n tagging: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketVersioningCommand = function serializeAws_restXmlPutBucketVersioningCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.MFA) && {\n \"x-amz-mfa\": input.MFA\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n versioning: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutBucketWebsiteCommand = function serializeAws_restXmlPutBucketWebsiteCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n website: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectCommand = function serializeAws_restXmlPutObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"application/octet-stream\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.CacheControl) && {\n \"Cache-Control\": input.CacheControl\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"Content-Disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"Content-Encoding\": input.ContentEncoding\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"Content-Language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.ContentLength) && {\n \"Content-Length\": input.ContentLength.toString()\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ContentType) && {\n \"Content-Type\": input.ContentType\n }), isSerializableHeaderValue(input.Expires) && {\n Expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\n }), isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), input.Metadata !== undefined && Object.keys(input.Metadata).reduce(function (acc, suffix) {\n acc[\"x-amz-meta-\" + suffix] = input.Metadata[suffix];\n return acc;\n }, {}));\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n \"x-id\": \"PutObject\"\n };\n\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectAclCommand = function serializeAws_restXmlPutObjectAclCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantWrite) && {\n \"x-amz-grant-write\": input.GrantWrite\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n acl: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectLegalHoldCommand = function serializeAws_restXmlPutObjectLegalHoldCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n \"legal-hold\": \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\n if (input.LegalHold !== undefined) {\n contents = serializeAws_restXmlObjectLockLegalHold(input.LegalHold, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectLockConfigurationCommand = function serializeAws_restXmlPutObjectLockConfigurationCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.Token) && {\n \"x-amz-bucket-object-lock-token\": input.Token\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n \"object-lock\": \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectRetentionCommand = function serializeAws_restXmlPutObjectRetentionCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n retention: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\n if (input.Retention !== undefined) {\n contents = serializeAws_restXmlObjectLockRetention(input.Retention, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutObjectTaggingCommand = function serializeAws_restXmlPutObjectTaggingCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n tagging: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlPutPublicAccessBlockCommand = function serializeAws_restXmlPutPublicAccessBlockCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n query = {\n publicAccessBlock: \"\"\n };\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlRestoreObjectCommand = function serializeAws_restXmlRestoreObjectCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign({\n restore: \"\"\n }, input.VersionId !== undefined && {\n versionId: input.VersionId\n });\n\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\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlSelectObjectContentCommand = function serializeAws_restXmlSelectObjectContentCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, bodyNode, node, node, node, node, node, node, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = {\n select: \"\",\n \"select-type\": \"2\"\n };\n body = '';\n bodyNode = new __XmlNode(\"SelectObjectContentRequest\");\n bodyNode.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n\n if (input.Expression !== undefined) {\n node = new __XmlNode(\"Expression\").addChildNode(new __XmlText(input.Expression)).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ExpressionType !== undefined) {\n node = new __XmlNode(\"ExpressionType\").addChildNode(new __XmlText(input.ExpressionType)).withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n\n if (input.InputSerialization !== undefined) {\n node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OutputSerialization !== undefined) {\n node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RequestProgress !== undefined) {\n node = serializeAws_restXmlRequestProgress(input.RequestProgress, context).withName(\"RequestProgress\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ScanRange !== undefined) {\n node = serializeAws_restXmlScanRange(input.ScanRange, context).withName(\"ScanRange\");\n bodyNode.addChildNode(node);\n }\n\n body += bodyNode.toString();\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlUploadPartCommand = function serializeAws_restXmlUploadPartCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"application/octet-stream\"\n }, isSerializableHeaderValue(input.ContentLength) && {\n \"Content-Length\": input.ContentLength.toString()\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign({\n \"x-id\": \"UploadPart\"\n }, input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n }), input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var serializeAws_restXmlUploadPartCopyCommand = function serializeAws_restXmlUploadPartCopyCommand(input, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.CopySource) && {\n \"x-amz-copy-source\": input.CopySource\n }), isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch\n }), isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince).toString()\n }), isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch\n }), isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.CopySourceRange) && {\n \"x-amz-copy-source-range\": input.CopySourceRange\n }), isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-MD5\": input.CopySourceSSECustomerKeyMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\n\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n\n if (input.Key !== undefined) {\n labelValue = input.Key;\n\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue.split(\"/\").map(function (segment) {\n return __extendedEncodeURIComponent(segment);\n }).join(\"/\"));\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n\n query = __assign(__assign({\n \"x-id\": \"UploadPartCopy\"\n }, input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n }), input.UploadId !== undefined && {\n uploadId: input.UploadId\n });\n return [4\n /*yield*/\n , context.endpoint()];\n\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2\n /*return*/\n , new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body\n })];\n }\n });\n });\n};\nexport var deserializeAws_restXmlAbortMultipartUploadCommand = function deserializeAws_restXmlAbortMultipartUploadCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlAbortMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"AbortMultipartUploadOutput\",\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlAbortMultipartUploadCommandError = function deserializeAws_restXmlAbortMultipartUploadCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"NoSuchUpload\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchUpload\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlCompleteMultipartUploadCommand = function deserializeAws_restXmlCompleteMultipartUploadCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"CompleteMultipartUploadOutput\",\n Bucket: undefined,\n ETag: undefined,\n Expiration: undefined,\n Key: undefined,\n Location: undefined,\n RequestCharged: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n\n if (data[\"ETag\"] !== undefined) {\n contents.ETag = data[\"ETag\"];\n }\n\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n\n if (data[\"Location\"] !== undefined) {\n contents.Location = data[\"Location\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlCompleteMultipartUploadCommandError = function deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlCopyObjectCommand = function deserializeAws_restXmlCopyObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlCopyObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"CopyObjectOutput\",\n CopyObjectResult: undefined,\n CopySourceVersionId: undefined,\n Expiration: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\n }\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.CopyObjectResult = deserializeAws_restXmlCopyObjectResult(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlCopyObjectCommandError = function deserializeAws_restXmlCopyObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"ObjectNotInActiveTierError\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#ObjectNotInActiveTierError\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlCreateBucketCommand = function deserializeAws_restXmlCreateBucketCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlCreateBucketCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"CreateBucketOutput\",\n Location: undefined\n };\n\n if (output.headers[\"location\"] !== undefined) {\n contents.Location = output.headers[\"location\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlCreateBucketCommandError = function deserializeAws_restXmlCreateBucketCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, _e, parsedBody, message;\n\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _f.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"BucketAlreadyExists\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#BucketAlreadyExists\":\n return [3\n /*break*/\n , 2];\n\n case \"BucketAlreadyOwnedByYou\":\n return [3\n /*break*/\n , 4];\n\n case \"com.amazonaws.s3#BucketAlreadyOwnedByYou\":\n return [3\n /*break*/\n , 4];\n }\n\n return [3\n /*break*/\n , 6];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_f.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 7];\n\n case 4:\n _e = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context)];\n\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([_f.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 7];\n\n case 6:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _f.label = 7;\n\n case 7:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlCreateMultipartUploadCommand = function deserializeAws_restXmlCreateMultipartUploadCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlCreateMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"CreateMultipartUploadOutput\",\n AbortDate: undefined,\n AbortRuleId: undefined,\n Bucket: undefined,\n Key: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n UploadId: undefined\n };\n\n if (output.headers[\"x-amz-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\n }\n\n if (output.headers[\"x-amz-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = data[\"UploadId\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlCreateMultipartUploadCommandError = function deserializeAws_restXmlCreateMultipartUploadCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketCommand = function deserializeAws_restXmlDeleteBucketCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketCommandError = function deserializeAws_restXmlDeleteBucketCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = function deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError = function deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketCorsCommand = function deserializeAws_restXmlDeleteBucketCorsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketCorsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketCorsCommandError = function deserializeAws_restXmlDeleteBucketCorsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketEncryptionCommand = function deserializeAws_restXmlDeleteBucketEncryptionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketEncryptionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketEncryptionCommandError = function deserializeAws_restXmlDeleteBucketEncryptionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = function deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError = function deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketLifecycleCommand = function deserializeAws_restXmlDeleteBucketLifecycleCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketLifecycleCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketLifecycleCommandError = function deserializeAws_restXmlDeleteBucketLifecycleCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = function deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError = function deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketPolicyCommand = function deserializeAws_restXmlDeleteBucketPolicyCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketPolicyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketPolicyCommandError = function deserializeAws_restXmlDeleteBucketPolicyCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketReplicationCommand = function deserializeAws_restXmlDeleteBucketReplicationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketReplicationCommandError = function deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketTaggingCommand = function deserializeAws_restXmlDeleteBucketTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketTaggingCommandError = function deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteBucketWebsiteCommand = function deserializeAws_restXmlDeleteBucketWebsiteCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketWebsiteCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteBucketWebsiteCommandError = function deserializeAws_restXmlDeleteBucketWebsiteCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteObjectCommand = function deserializeAws_restXmlDeleteObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"DeleteObjectOutput\",\n DeleteMarker: undefined,\n RequestCharged: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteObjectCommandError = function deserializeAws_restXmlDeleteObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteObjectTaggingCommand = function deserializeAws_restXmlDeleteObjectTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"DeleteObjectTaggingOutput\",\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteObjectTaggingCommandError = function deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeleteObjectsCommand = function deserializeAws_restXmlDeleteObjectsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"DeleteObjectsOutput\",\n Deleted: undefined,\n Errors: undefined,\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.Deleted === \"\") {\n contents.Deleted = [];\n }\n\n if (data[\"Deleted\"] !== undefined) {\n contents.Deleted = deserializeAws_restXmlDeletedObjects(__getArrayIfSingleItem(data[\"Deleted\"]), context);\n }\n\n if (data.Error === \"\") {\n contents.Errors = [];\n }\n\n if (data[\"Error\"] !== undefined) {\n contents.Errors = deserializeAws_restXmlErrors(__getArrayIfSingleItem(data[\"Error\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeleteObjectsCommandError = function deserializeAws_restXmlDeleteObjectsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlDeletePublicAccessBlockCommand = function deserializeAws_restXmlDeletePublicAccessBlockCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeletePublicAccessBlockCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlDeletePublicAccessBlockCommandError = function deserializeAws_restXmlDeletePublicAccessBlockCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = function deserializeAws_restXmlGetBucketAccelerateConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketAccelerateConfigurationOutput\",\n Status: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Status\"] !== undefined) {\n contents.Status = data[\"Status\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError = function deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketAclCommand = function deserializeAws_restXmlGetBucketAclCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketAclOutput\",\n Grants: undefined,\n Owner: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n\n if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketAclCommandError = function deserializeAws_restXmlGetBucketAclCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = function deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketAnalyticsConfigurationOutput\",\n AnalyticsConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.AnalyticsConfiguration = deserializeAws_restXmlAnalyticsConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError = function deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketCorsCommand = function deserializeAws_restXmlGetBucketCorsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketCorsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketCorsOutput\",\n CORSRules: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CORSRule === \"\") {\n contents.CORSRules = [];\n }\n\n if (data[\"CORSRule\"] !== undefined) {\n contents.CORSRules = deserializeAws_restXmlCORSRules(__getArrayIfSingleItem(data[\"CORSRule\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketCorsCommandError = function deserializeAws_restXmlGetBucketCorsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketEncryptionCommand = function deserializeAws_restXmlGetBucketEncryptionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketEncryptionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketEncryptionOutput\",\n ServerSideEncryptionConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.ServerSideEncryptionConfiguration = deserializeAws_restXmlServerSideEncryptionConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketEncryptionCommandError = function deserializeAws_restXmlGetBucketEncryptionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketInventoryConfigurationCommand = function deserializeAws_restXmlGetBucketInventoryConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketInventoryConfigurationOutput\",\n InventoryConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.InventoryConfiguration = deserializeAws_restXmlInventoryConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketInventoryConfigurationCommandError = function deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = function deserializeAws_restXmlGetBucketLifecycleConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketLifecycleConfigurationOutput\",\n Rules: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.Rule === \"\") {\n contents.Rules = [];\n }\n\n if (data[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlLifecycleRules(__getArrayIfSingleItem(data[\"Rule\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError = function deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketLocationCommand = function deserializeAws_restXmlGetBucketLocationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLocationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketLocationOutput\",\n LocationConstraint: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"LocationConstraint\"] !== undefined) {\n contents.LocationConstraint = data[\"LocationConstraint\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketLocationCommandError = function deserializeAws_restXmlGetBucketLocationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketLoggingCommand = function deserializeAws_restXmlGetBucketLoggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLoggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketLoggingOutput\",\n LoggingEnabled: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"LoggingEnabled\"] !== undefined) {\n contents.LoggingEnabled = deserializeAws_restXmlLoggingEnabled(data[\"LoggingEnabled\"], context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketLoggingCommandError = function deserializeAws_restXmlGetBucketLoggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketMetricsConfigurationCommand = function deserializeAws_restXmlGetBucketMetricsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketMetricsConfigurationOutput\",\n MetricsConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.MetricsConfiguration = deserializeAws_restXmlMetricsConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketMetricsConfigurationCommandError = function deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketNotificationConfigurationCommand = function deserializeAws_restXmlGetBucketNotificationConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"NotificationConfiguration\",\n LambdaFunctionConfigurations: undefined,\n QueueConfigurations: undefined,\n TopicConfigurations: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CloudFunctionConfiguration === \"\") {\n contents.LambdaFunctionConfigurations = [];\n }\n\n if (data[\"CloudFunctionConfiguration\"] !== undefined) {\n contents.LambdaFunctionConfigurations = deserializeAws_restXmlLambdaFunctionConfigurationList(__getArrayIfSingleItem(data[\"CloudFunctionConfiguration\"]), context);\n }\n\n if (data.QueueConfiguration === \"\") {\n contents.QueueConfigurations = [];\n }\n\n if (data[\"QueueConfiguration\"] !== undefined) {\n contents.QueueConfigurations = deserializeAws_restXmlQueueConfigurationList(__getArrayIfSingleItem(data[\"QueueConfiguration\"]), context);\n }\n\n if (data.TopicConfiguration === \"\") {\n contents.TopicConfigurations = [];\n }\n\n if (data[\"TopicConfiguration\"] !== undefined) {\n contents.TopicConfigurations = deserializeAws_restXmlTopicConfigurationList(__getArrayIfSingleItem(data[\"TopicConfiguration\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketNotificationConfigurationCommandError = function deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketPolicyCommand = function deserializeAws_restXmlGetBucketPolicyCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketPolicyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketPolicyOutput\",\n Policy: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Policy\"] !== undefined) {\n contents.Policy = data[\"Policy\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketPolicyCommandError = function deserializeAws_restXmlGetBucketPolicyCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketPolicyStatusCommand = function deserializeAws_restXmlGetBucketPolicyStatusCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketPolicyStatusOutput\",\n PolicyStatus: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.PolicyStatus = deserializeAws_restXmlPolicyStatus(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketPolicyStatusCommandError = function deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketReplicationCommand = function deserializeAws_restXmlGetBucketReplicationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketReplicationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketReplicationOutput\",\n ReplicationConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.ReplicationConfiguration = deserializeAws_restXmlReplicationConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketReplicationCommandError = function deserializeAws_restXmlGetBucketReplicationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketRequestPaymentCommand = function deserializeAws_restXmlGetBucketRequestPaymentCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketRequestPaymentOutput\",\n Payer: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Payer\"] !== undefined) {\n contents.Payer = data[\"Payer\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketRequestPaymentCommandError = function deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketTaggingCommand = function deserializeAws_restXmlGetBucketTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketTaggingOutput\",\n TagSet: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n\n if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data[\"TagSet\"][\"Tag\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketTaggingCommandError = function deserializeAws_restXmlGetBucketTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketVersioningCommand = function deserializeAws_restXmlGetBucketVersioningCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketVersioningCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketVersioningOutput\",\n MFADelete: undefined,\n Status: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"MfaDelete\"] !== undefined) {\n contents.MFADelete = data[\"MfaDelete\"];\n }\n\n if (data[\"Status\"] !== undefined) {\n contents.Status = data[\"Status\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketVersioningCommandError = function deserializeAws_restXmlGetBucketVersioningCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetBucketWebsiteCommand = function deserializeAws_restXmlGetBucketWebsiteCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketWebsiteCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetBucketWebsiteOutput\",\n ErrorDocument: undefined,\n IndexDocument: undefined,\n RedirectAllRequestsTo: undefined,\n RoutingRules: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"ErrorDocument\"] !== undefined) {\n contents.ErrorDocument = deserializeAws_restXmlErrorDocument(data[\"ErrorDocument\"], context);\n }\n\n if (data[\"IndexDocument\"] !== undefined) {\n contents.IndexDocument = deserializeAws_restXmlIndexDocument(data[\"IndexDocument\"], context);\n }\n\n if (data[\"RedirectAllRequestsTo\"] !== undefined) {\n contents.RedirectAllRequestsTo = deserializeAws_restXmlRedirectAllRequestsTo(data[\"RedirectAllRequestsTo\"], context);\n }\n\n if (data.RoutingRules === \"\") {\n contents.RoutingRules = [];\n }\n\n if (data[\"RoutingRules\"] !== undefined && data[\"RoutingRules\"][\"RoutingRule\"] !== undefined) {\n contents.RoutingRules = deserializeAws_restXmlRoutingRules(__getArrayIfSingleItem(data[\"RoutingRules\"][\"RoutingRule\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketWebsiteCommandError = function deserializeAws_restXmlGetBucketWebsiteCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectCommand = function deserializeAws_restXmlGetObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetObjectOutput\",\n AcceptRanges: undefined,\n Body: undefined,\n CacheControl: undefined,\n ContentDisposition: undefined,\n ContentEncoding: undefined,\n ContentLanguage: undefined,\n ContentLength: undefined,\n ContentRange: undefined,\n ContentType: undefined,\n DeleteMarker: undefined,\n ETag: undefined,\n Expiration: undefined,\n Expires: undefined,\n LastModified: undefined,\n Metadata: undefined,\n MissingMeta: undefined,\n ObjectLockLegalHoldStatus: undefined,\n ObjectLockMode: undefined,\n ObjectLockRetainUntilDate: undefined,\n PartsCount: undefined,\n ReplicationStatus: undefined,\n RequestCharged: undefined,\n Restore: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n StorageClass: undefined,\n TagCount: undefined,\n VersionId: undefined,\n WebsiteRedirectLocation: undefined\n };\n\n if (output.headers[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\n }\n\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\n }\n\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\n }\n\n if (output.headers[\"content-range\"] !== undefined) {\n contents.ContentRange = output.headers[\"content-range\"];\n }\n\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\n }\n\n if (output.headers[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\n }\n\n if (output.headers[\"x-amz-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 10);\n }\n\n if (output.headers[\"x-amz-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\n }\n\n if (output.headers[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n\n if (output.headers[\"x-amz-object-lock-retain-until-date\"] !== undefined) {\n contents.ObjectLockRetainUntilDate = new Date(output.headers[\"x-amz-object-lock-retain-until-date\"]);\n }\n\n if (output.headers[\"x-amz-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\n }\n\n if (output.headers[\"x-amz-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n\n if (output.headers[\"x-amz-tagging-count\"] !== undefined) {\n contents.TagCount = parseInt(output.headers[\"x-amz-tagging-count\"], 10);\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n if (output.headers[\"x-amz-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\n }\n\n Object.keys(output.headers).forEach(function (header) {\n if (contents.Metadata === undefined) {\n contents.Metadata = {};\n }\n\n if (header.startsWith(\"x-amz-meta-\")) {\n contents.Metadata[header.substring(11)] = output.headers[header];\n }\n });\n data = output.body;\n contents.Body = data;\n return [2\n /*return*/\n , Promise.resolve(contents)];\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectCommandError = function deserializeAws_restXmlGetObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"NoSuchKey\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchKey\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectAclCommand = function deserializeAws_restXmlGetObjectAclCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetObjectAclOutput\",\n Grants: undefined,\n Owner: undefined,\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n\n if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectAclCommandError = function deserializeAws_restXmlGetObjectAclCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"NoSuchKey\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchKey\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectLegalHoldCommand = function deserializeAws_restXmlGetObjectLegalHoldCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetObjectLegalHoldOutput\",\n LegalHold: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.LegalHold = deserializeAws_restXmlObjectLockLegalHold(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectLegalHoldCommandError = function deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectLockConfigurationCommand = function deserializeAws_restXmlGetObjectLockConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetObjectLockConfigurationOutput\",\n ObjectLockConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.ObjectLockConfiguration = deserializeAws_restXmlObjectLockConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectLockConfigurationCommandError = function deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectRetentionCommand = function deserializeAws_restXmlGetObjectRetentionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectRetentionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetObjectRetentionOutput\",\n Retention: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.Retention = deserializeAws_restXmlObjectLockRetention(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectRetentionCommandError = function deserializeAws_restXmlGetObjectRetentionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectTaggingCommand = function deserializeAws_restXmlGetObjectTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetObjectTaggingOutput\",\n TagSet: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n\n if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data[\"TagSet\"][\"Tag\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectTaggingCommandError = function deserializeAws_restXmlGetObjectTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetObjectTorrentCommand = function deserializeAws_restXmlGetObjectTorrentCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectTorrentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetObjectTorrentOutput\",\n Body: undefined,\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n data = output.body;\n contents.Body = data;\n return [2\n /*return*/\n , Promise.resolve(contents)];\n });\n });\n};\n\nvar deserializeAws_restXmlGetObjectTorrentCommandError = function deserializeAws_restXmlGetObjectTorrentCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlGetPublicAccessBlockCommand = function deserializeAws_restXmlGetPublicAccessBlockCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"GetPublicAccessBlockOutput\",\n PublicAccessBlockConfiguration: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.PublicAccessBlockConfiguration = deserializeAws_restXmlPublicAccessBlockConfiguration(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetPublicAccessBlockCommandError = function deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlHeadBucketCommand = function deserializeAws_restXmlHeadBucketCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlHeadBucketCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlHeadBucketCommandError = function deserializeAws_restXmlHeadBucketCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlHeadObjectCommand = function deserializeAws_restXmlHeadObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlHeadObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"HeadObjectOutput\",\n AcceptRanges: undefined,\n CacheControl: undefined,\n ContentDisposition: undefined,\n ContentEncoding: undefined,\n ContentLanguage: undefined,\n ContentLength: undefined,\n ContentType: undefined,\n DeleteMarker: undefined,\n ETag: undefined,\n Expiration: undefined,\n Expires: undefined,\n LastModified: undefined,\n Metadata: undefined,\n MissingMeta: undefined,\n ObjectLockLegalHoldStatus: undefined,\n ObjectLockMode: undefined,\n ObjectLockRetainUntilDate: undefined,\n PartsCount: undefined,\n ReplicationStatus: undefined,\n RequestCharged: undefined,\n Restore: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n StorageClass: undefined,\n VersionId: undefined,\n WebsiteRedirectLocation: undefined\n };\n\n if (output.headers[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\n }\n\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\n }\n\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\n }\n\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\n }\n\n if (output.headers[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\n }\n\n if (output.headers[\"x-amz-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 10);\n }\n\n if (output.headers[\"x-amz-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\n }\n\n if (output.headers[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n\n if (output.headers[\"x-amz-object-lock-retain-until-date\"] !== undefined) {\n contents.ObjectLockRetainUntilDate = new Date(output.headers[\"x-amz-object-lock-retain-until-date\"]);\n }\n\n if (output.headers[\"x-amz-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\n }\n\n if (output.headers[\"x-amz-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n if (output.headers[\"x-amz-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\n }\n\n Object.keys(output.headers).forEach(function (header) {\n if (contents.Metadata === undefined) {\n contents.Metadata = {};\n }\n\n if (header.startsWith(\"x-amz-meta-\")) {\n contents.Metadata[header.substring(11)] = output.headers[header];\n }\n });\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlHeadObjectCommandError = function deserializeAws_restXmlHeadObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"NoSuchKey\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchKey\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = function deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListBucketAnalyticsConfigurationsOutput\",\n AnalyticsConfigurationList: undefined,\n ContinuationToken: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.AnalyticsConfiguration === \"\") {\n contents.AnalyticsConfigurationList = [];\n }\n\n if (data[\"AnalyticsConfiguration\"] !== undefined) {\n contents.AnalyticsConfigurationList = deserializeAws_restXmlAnalyticsConfigurationList(__getArrayIfSingleItem(data[\"AnalyticsConfiguration\"]), context);\n }\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError = function deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketInventoryConfigurationsCommand = function deserializeAws_restXmlListBucketInventoryConfigurationsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListBucketInventoryConfigurationsOutput\",\n ContinuationToken: undefined,\n InventoryConfigurationList: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data.InventoryConfiguration === \"\") {\n contents.InventoryConfigurationList = [];\n }\n\n if (data[\"InventoryConfiguration\"] !== undefined) {\n contents.InventoryConfigurationList = deserializeAws_restXmlInventoryConfigurationList(__getArrayIfSingleItem(data[\"InventoryConfiguration\"]), context);\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketInventoryConfigurationsCommandError = function deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketMetricsConfigurationsCommand = function deserializeAws_restXmlListBucketMetricsConfigurationsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListBucketMetricsConfigurationsOutput\",\n ContinuationToken: undefined,\n IsTruncated: undefined,\n MetricsConfigurationList: undefined,\n NextContinuationToken: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data.MetricsConfiguration === \"\") {\n contents.MetricsConfigurationList = [];\n }\n\n if (data[\"MetricsConfiguration\"] !== undefined) {\n contents.MetricsConfigurationList = deserializeAws_restXmlMetricsConfigurationList(__getArrayIfSingleItem(data[\"MetricsConfiguration\"]), context);\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketMetricsConfigurationsCommandError = function deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListBucketsCommand = function deserializeAws_restXmlListBucketsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListBucketsOutput\",\n Buckets: undefined,\n Owner: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.Buckets === \"\") {\n contents.Buckets = [];\n }\n\n if (data[\"Buckets\"] !== undefined && data[\"Buckets\"][\"Bucket\"] !== undefined) {\n contents.Buckets = deserializeAws_restXmlBuckets(__getArrayIfSingleItem(data[\"Buckets\"][\"Bucket\"]), context);\n }\n\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListBucketsCommandError = function deserializeAws_restXmlListBucketsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListMultipartUploadsCommand = function deserializeAws_restXmlListMultipartUploadsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListMultipartUploadsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListMultipartUploadsOutput\",\n Bucket: undefined,\n CommonPrefixes: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyMarker: undefined,\n MaxUploads: undefined,\n NextKeyMarker: undefined,\n NextUploadIdMarker: undefined,\n Prefix: undefined,\n UploadIdMarker: undefined,\n Uploads: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = data[\"KeyMarker\"];\n }\n\n if (data[\"MaxUploads\"] !== undefined) {\n contents.MaxUploads = parseInt(data[\"MaxUploads\"]);\n }\n\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = data[\"NextKeyMarker\"];\n }\n\n if (data[\"NextUploadIdMarker\"] !== undefined) {\n contents.NextUploadIdMarker = data[\"NextUploadIdMarker\"];\n }\n\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n\n if (data[\"UploadIdMarker\"] !== undefined) {\n contents.UploadIdMarker = data[\"UploadIdMarker\"];\n }\n\n if (data.Upload === \"\") {\n contents.Uploads = [];\n }\n\n if (data[\"Upload\"] !== undefined) {\n contents.Uploads = deserializeAws_restXmlMultipartUploadList(__getArrayIfSingleItem(data[\"Upload\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListMultipartUploadsCommandError = function deserializeAws_restXmlListMultipartUploadsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListObjectVersionsCommand = function deserializeAws_restXmlListObjectVersionsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectVersionsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListObjectVersionsOutput\",\n CommonPrefixes: undefined,\n DeleteMarkers: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyMarker: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextKeyMarker: undefined,\n NextVersionIdMarker: undefined,\n Prefix: undefined,\n VersionIdMarker: undefined,\n Versions: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n\n if (data.DeleteMarker === \"\") {\n contents.DeleteMarkers = [];\n }\n\n if (data[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarkers = deserializeAws_restXmlDeleteMarkers(__getArrayIfSingleItem(data[\"DeleteMarker\"]), context);\n }\n\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = data[\"KeyMarker\"];\n }\n\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = data[\"NextKeyMarker\"];\n }\n\n if (data[\"NextVersionIdMarker\"] !== undefined) {\n contents.NextVersionIdMarker = data[\"NextVersionIdMarker\"];\n }\n\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n\n if (data[\"VersionIdMarker\"] !== undefined) {\n contents.VersionIdMarker = data[\"VersionIdMarker\"];\n }\n\n if (data.Version === \"\") {\n contents.Versions = [];\n }\n\n if (data[\"Version\"] !== undefined) {\n contents.Versions = deserializeAws_restXmlObjectVersionList(__getArrayIfSingleItem(data[\"Version\"]), context);\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListObjectVersionsCommandError = function deserializeAws_restXmlListObjectVersionsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListObjectsCommand = function deserializeAws_restXmlListObjectsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListObjectsOutput\",\n CommonPrefixes: undefined,\n Contents: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n Marker: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextMarker: undefined,\n Prefix: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n\n if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data[\"Contents\"]), context);\n }\n\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"Marker\"] !== undefined) {\n contents.Marker = data[\"Marker\"];\n }\n\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n\n if (data[\"NextMarker\"] !== undefined) {\n contents.NextMarker = data[\"NextMarker\"];\n }\n\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListObjectsCommandError = function deserializeAws_restXmlListObjectsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListObjectsV2Command = function deserializeAws_restXmlListObjectsV2Command(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectsV2CommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListObjectsV2Output\",\n CommonPrefixes: undefined,\n Contents: undefined,\n ContinuationToken: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyCount: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextContinuationToken: undefined,\n Prefix: undefined,\n StartAfter: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n\n if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data[\"Contents\"]), context);\n }\n\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"KeyCount\"] !== undefined) {\n contents.KeyCount = parseInt(data[\"KeyCount\"]);\n }\n\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n\n if (data[\"StartAfter\"] !== undefined) {\n contents.StartAfter = data[\"StartAfter\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListObjectsV2CommandError = function deserializeAws_restXmlListObjectsV2CommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchBucket\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlListPartsCommand = function deserializeAws_restXmlListPartsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlListPartsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"ListPartsOutput\",\n AbortDate: undefined,\n AbortRuleId: undefined,\n Bucket: undefined,\n Initiator: undefined,\n IsTruncated: undefined,\n Key: undefined,\n MaxParts: undefined,\n NextPartNumberMarker: undefined,\n Owner: undefined,\n PartNumberMarker: undefined,\n Parts: undefined,\n RequestCharged: undefined,\n StorageClass: undefined,\n UploadId: undefined\n };\n\n if (output.headers[\"x-amz-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\n }\n\n if (output.headers[\"x-amz-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n\n if (data[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(data[\"Initiator\"], context);\n }\n\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n\n if (data[\"MaxParts\"] !== undefined) {\n contents.MaxParts = parseInt(data[\"MaxParts\"]);\n }\n\n if (data[\"NextPartNumberMarker\"] !== undefined) {\n contents.NextPartNumberMarker = parseInt(data[\"NextPartNumberMarker\"]);\n }\n\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n\n if (data[\"PartNumberMarker\"] !== undefined) {\n contents.PartNumberMarker = parseInt(data[\"PartNumberMarker\"]);\n }\n\n if (data.Part === \"\") {\n contents.Parts = [];\n }\n\n if (data[\"Part\"] !== undefined) {\n contents.Parts = deserializeAws_restXmlParts(__getArrayIfSingleItem(data[\"Part\"]), context);\n }\n\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = data[\"StorageClass\"];\n }\n\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = data[\"UploadId\"];\n }\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlListPartsCommandError = function deserializeAws_restXmlListPartsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = function deserializeAws_restXmlPutBucketAccelerateConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError = function deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketAclCommand = function deserializeAws_restXmlPutBucketAclCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketAclCommandError = function deserializeAws_restXmlPutBucketAclCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = function deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError = function deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketCorsCommand = function deserializeAws_restXmlPutBucketCorsCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketCorsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketCorsCommandError = function deserializeAws_restXmlPutBucketCorsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketEncryptionCommand = function deserializeAws_restXmlPutBucketEncryptionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketEncryptionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketEncryptionCommandError = function deserializeAws_restXmlPutBucketEncryptionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketInventoryConfigurationCommand = function deserializeAws_restXmlPutBucketInventoryConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketInventoryConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketInventoryConfigurationCommandError = function deserializeAws_restXmlPutBucketInventoryConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = function deserializeAws_restXmlPutBucketLifecycleConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError = function deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketLoggingCommand = function deserializeAws_restXmlPutBucketLoggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketLoggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketLoggingCommandError = function deserializeAws_restXmlPutBucketLoggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketMetricsConfigurationCommand = function deserializeAws_restXmlPutBucketMetricsConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketMetricsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketMetricsConfigurationCommandError = function deserializeAws_restXmlPutBucketMetricsConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketNotificationConfigurationCommand = function deserializeAws_restXmlPutBucketNotificationConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketNotificationConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketNotificationConfigurationCommandError = function deserializeAws_restXmlPutBucketNotificationConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketPolicyCommand = function deserializeAws_restXmlPutBucketPolicyCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketPolicyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketPolicyCommandError = function deserializeAws_restXmlPutBucketPolicyCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketReplicationCommand = function deserializeAws_restXmlPutBucketReplicationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketReplicationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketReplicationCommandError = function deserializeAws_restXmlPutBucketReplicationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketRequestPaymentCommand = function deserializeAws_restXmlPutBucketRequestPaymentCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketRequestPaymentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketRequestPaymentCommandError = function deserializeAws_restXmlPutBucketRequestPaymentCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketTaggingCommand = function deserializeAws_restXmlPutBucketTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketTaggingCommandError = function deserializeAws_restXmlPutBucketTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketVersioningCommand = function deserializeAws_restXmlPutBucketVersioningCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketVersioningCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketVersioningCommandError = function deserializeAws_restXmlPutBucketVersioningCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutBucketWebsiteCommand = function deserializeAws_restXmlPutBucketWebsiteCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketWebsiteCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutBucketWebsiteCommandError = function deserializeAws_restXmlPutBucketWebsiteCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectCommand = function deserializeAws_restXmlPutObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PutObjectOutput\",\n ETag: undefined,\n Expiration: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined\n };\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectCommandError = function deserializeAws_restXmlPutObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectAclCommand = function deserializeAws_restXmlPutObjectAclCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PutObjectAclOutput\",\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectAclCommandError = function deserializeAws_restXmlPutObjectAclCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"NoSuchKey\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#NoSuchKey\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectLegalHoldCommand = function deserializeAws_restXmlPutObjectLegalHoldCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PutObjectLegalHoldOutput\",\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectLegalHoldCommandError = function deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectLockConfigurationCommand = function deserializeAws_restXmlPutObjectLockConfigurationCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PutObjectLockConfigurationOutput\",\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectLockConfigurationCommandError = function deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectRetentionCommand = function deserializeAws_restXmlPutObjectRetentionCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectRetentionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PutObjectRetentionOutput\",\n RequestCharged: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectRetentionCommandError = function deserializeAws_restXmlPutObjectRetentionCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutObjectTaggingCommand = function deserializeAws_restXmlPutObjectTaggingCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"PutObjectTaggingOutput\",\n VersionId: undefined\n };\n\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutObjectTaggingCommandError = function deserializeAws_restXmlPutObjectTaggingCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlPutPublicAccessBlockCommand = function deserializeAws_restXmlPutPublicAccessBlockCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutPublicAccessBlockCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output)\n };\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlPutPublicAccessBlockCommandError = function deserializeAws_restXmlPutPublicAccessBlockCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlRestoreObjectCommand = function deserializeAws_restXmlRestoreObjectCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlRestoreObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"RestoreObjectOutput\",\n RequestCharged: undefined,\n RestoreOutputPath: undefined\n };\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-restore-output-path\"] !== undefined) {\n contents.RestoreOutputPath = output.headers[\"x-amz-restore-output-path\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlRestoreObjectCommandError = function deserializeAws_restXmlRestoreObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, _c, _d, parsedBody, message;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _e.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _c = errorCode;\n\n switch (_c) {\n case \"ObjectAlreadyInActiveTierError\":\n return [3\n /*break*/\n , 2];\n\n case \"com.amazonaws.s3#ObjectAlreadyInActiveTierError\":\n return [3\n /*break*/\n , 2];\n }\n\n return [3\n /*break*/\n , 4];\n\n case 2:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([_e.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 5];\n\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n _e.label = 5;\n\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlSelectObjectContentCommand = function deserializeAws_restXmlSelectObjectContentCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlSelectObjectContentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"SelectObjectContentOutput\",\n Payload: undefined\n };\n data = context.eventStreamMarshaller.deserialize(output.body, function (event) {\n return __awaiter(void 0, void 0, void 0, function () {\n var eventName, eventHeaders, eventMessage, parsedEvent;\n\n var _a;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n eventName = Object.keys(event)[0];\n eventHeaders = Object.entries(event[eventName].headers).reduce(function (accummulator, curr) {\n accummulator[curr[0]] = curr[1].value;\n return accummulator;\n }, {});\n eventMessage = {\n headers: eventHeaders,\n body: event[eventName].body\n };\n parsedEvent = (_a = {}, _a[eventName] = eventMessage, _a);\n return [4\n /*yield*/\n , deserializeAws_restXmlSelectObjectContentEventStream_event(parsedEvent, context)];\n\n case 1:\n return [2\n /*return*/\n , _b.sent()];\n }\n });\n });\n });\n contents.Payload = data;\n return [2\n /*return*/\n , Promise.resolve(contents)];\n });\n });\n};\n\nvar deserializeAws_restXmlSelectObjectContentCommandError = function deserializeAws_restXmlSelectObjectContentCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlUploadPartCommand = function deserializeAws_restXmlUploadPartCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlUploadPartCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"UploadPartOutput\",\n ETag: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined\n };\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n return [4\n /*yield*/\n , collectBody(output.body, context)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlUploadPartCommandError = function deserializeAws_restXmlUploadPartCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nexport var deserializeAws_restXmlUploadPartCopyCommand = function deserializeAws_restXmlUploadPartCopyCommand(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 400) {\n return [2\n /*return*/\n , deserializeAws_restXmlUploadPartCopyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n __type: \"UploadPartCopyOutput\",\n CopyPartResult: undefined,\n CopySourceVersionId: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined\n };\n\n if (output.headers[\"x-amz-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\n }\n\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.CopyPartResult = deserializeAws_restXmlCopyPartResult(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlUploadPartCopyCommandError = function deserializeAws_restXmlUploadPartCopyCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, _b, response, errorCode, parsedBody, message;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), {\n name: \"\" + errorCode,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output)\n });\n }\n\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2\n /*return*/\n , Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlSelectObjectContentEventStream_event = function deserializeAws_restXmlSelectObjectContentEventStream_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var _a, _b, _c, _d, _e;\n\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!(output[\"Cont\"] !== undefined)) return [3\n /*break*/\n , 2];\n _a = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlContinuationEvent_event(output[\"Cont\"], context)];\n\n case 1:\n return [2\n /*return*/\n , (_a.Cont = _f.sent(), _a)];\n\n case 2:\n if (!(output[\"End\"] !== undefined)) return [3\n /*break*/\n , 4];\n _b = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlEndEvent_event(output[\"End\"], context)];\n\n case 3:\n return [2\n /*return*/\n , (_b.End = _f.sent(), _b)];\n\n case 4:\n if (!(output[\"Progress\"] !== undefined)) return [3\n /*break*/\n , 6];\n _c = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlProgressEvent_event(output[\"Progress\"], context)];\n\n case 5:\n return [2\n /*return*/\n , (_c.Progress = _f.sent(), _c)];\n\n case 6:\n if (!(output[\"Records\"] !== undefined)) return [3\n /*break*/\n , 8];\n _d = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlRecordsEvent_event(output[\"Records\"], context)];\n\n case 7:\n return [2\n /*return*/\n , (_d.Records = _f.sent(), _d)];\n\n case 8:\n if (!(output[\"Stats\"] !== undefined)) return [3\n /*break*/\n , 10];\n _e = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlStatsEvent_event(output[\"Stats\"], context)];\n\n case 9:\n return [2\n /*return*/\n , (_e.Stats = _f.sent(), _e)];\n\n case 10:\n return [2\n /*return*/\n , {\n $unknown: output\n }];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlContinuationEvent_event = function deserializeAws_restXmlContinuationEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {};\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlEndEvent_event = function deserializeAws_restXmlEndEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {};\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlProgressEvent_event = function deserializeAws_restXmlProgressEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, _a;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n contents = {\n __type: \"ProgressEvent\"\n };\n _a = contents;\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n _a.Details = _b.sent();\n return [2\n /*return*/\n , contents];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlRecordsEvent_event = function deserializeAws_restXmlRecordsEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {\n __type: \"RecordsEvent\"\n };\n contents.Payload = output.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlStatsEvent_event = function deserializeAws_restXmlStatsEvent_event(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, _a;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n contents = {\n __type: \"StatsEvent\"\n };\n _a = contents;\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n _a.Details = _b.sent();\n return [2\n /*return*/\n , contents];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlBucketAlreadyExistsResponse = function deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlBucketAlreadyOwnedByYouResponse = function deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlNoSuchBucketResponse = function deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchBucket\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlNoSuchKeyResponse = function deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchKey\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlNoSuchUploadResponse = function deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchUpload\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse = function deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar deserializeAws_restXmlObjectNotInActiveTierErrorResponse = function deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput)\n };\n data = parsedOutput.body;\n return [2\n /*return*/\n , contents];\n });\n });\n};\n\nvar serializeAws_restXmlAbortIncompleteMultipartUpload = function serializeAws_restXmlAbortIncompleteMultipartUpload(input, context) {\n var bodyNode = new __XmlNode(\"AbortIncompleteMultipartUpload\");\n\n if (input.DaysAfterInitiation !== undefined) {\n var node = new __XmlNode(\"DaysAfterInitiation\").addChildNode(new __XmlText(String(input.DaysAfterInitiation))).withName(\"DaysAfterInitiation\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAccelerateConfiguration = function serializeAws_restXmlAccelerateConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"AccelerateConfiguration\");\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"BucketAccelerateStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAccessControlPolicy = function serializeAws_restXmlAccessControlPolicy(input, context) {\n var bodyNode = new __XmlNode(\"AccessControlPolicy\");\n\n if (input.Grants !== undefined) {\n var nodes = serializeAws_restXmlGrants(input.Grants, context);\n var containerNode_1 = new __XmlNode(\"AccessControlList\");\n nodes.map(function (node) {\n containerNode_1.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_1);\n }\n\n if (input.Owner !== undefined) {\n var node = serializeAws_restXmlOwner(input.Owner, context).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAccessControlTranslation = function serializeAws_restXmlAccessControlTranslation(input, context) {\n var bodyNode = new __XmlNode(\"AccessControlTranslation\");\n\n if (input.Owner !== undefined) {\n var node = new __XmlNode(\"OwnerOverride\").addChildNode(new __XmlText(input.Owner)).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAllowedHeaders = function serializeAws_restXmlAllowedHeaders(input, context) {\n return input.map(function (entry) {\n var node = new __XmlNode(\"AllowedHeader\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlAllowedMethods = function serializeAws_restXmlAllowedMethods(input, context) {\n return input.map(function (entry) {\n var node = new __XmlNode(\"AllowedMethod\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlAllowedOrigins = function serializeAws_restXmlAllowedOrigins(input, context) {\n return input.map(function (entry) {\n var node = new __XmlNode(\"AllowedOrigin\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlAnalyticsAndOperator = function serializeAws_restXmlAnalyticsAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsAndOperator\");\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAnalyticsConfiguration = function serializeAws_restXmlAnalyticsConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsConfiguration\");\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlAnalyticsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Id !== undefined) {\n var node = new __XmlNode(\"AnalyticsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClassAnalysis !== undefined) {\n var node = serializeAws_restXmlStorageClassAnalysis(input.StorageClassAnalysis, context).withName(\"StorageClassAnalysis\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAnalyticsExportDestination = function serializeAws_restXmlAnalyticsExportDestination(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsExportDestination\");\n\n if (input.S3BucketDestination !== undefined) {\n var node = serializeAws_restXmlAnalyticsS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAnalyticsFilter = function serializeAws_restXmlAnalyticsFilter(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsFilter\");\n\n if (input.And !== undefined) {\n var node = serializeAws_restXmlAnalyticsAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tag !== undefined) {\n var node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlAnalyticsS3BucketDestination = function serializeAws_restXmlAnalyticsS3BucketDestination(input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsS3BucketDestination\");\n\n if (input.Bucket !== undefined) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n\n if (input.BucketAccountId !== undefined) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.BucketAccountId)).withName(\"BucketAccountId\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Format !== undefined) {\n var node = new __XmlNode(\"AnalyticsS3ExportFileFormat\").addChildNode(new __XmlText(input.Format)).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlBucketLifecycleConfiguration = function serializeAws_restXmlBucketLifecycleConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"BucketLifecycleConfiguration\");\n\n if (input.Rules !== undefined) {\n var nodes = serializeAws_restXmlLifecycleRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlBucketLoggingStatus = function serializeAws_restXmlBucketLoggingStatus(input, context) {\n var bodyNode = new __XmlNode(\"BucketLoggingStatus\");\n\n if (input.LoggingEnabled !== undefined) {\n var node = serializeAws_restXmlLoggingEnabled(input.LoggingEnabled, context).withName(\"LoggingEnabled\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCORSConfiguration = function serializeAws_restXmlCORSConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"CORSConfiguration\");\n\n if (input.CORSRules !== undefined) {\n var nodes = serializeAws_restXmlCORSRules(input.CORSRules, context);\n nodes.map(function (node) {\n node = node.withName(\"CORSRule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCORSRule = function serializeAws_restXmlCORSRule(input, context) {\n var bodyNode = new __XmlNode(\"CORSRule\");\n\n if (input.AllowedHeaders !== undefined) {\n var nodes = serializeAws_restXmlAllowedHeaders(input.AllowedHeaders, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedHeader\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.AllowedMethods !== undefined) {\n var nodes = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedMethod\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.AllowedOrigins !== undefined) {\n var nodes = serializeAws_restXmlAllowedOrigins(input.AllowedOrigins, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedOrigin\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.ExposeHeaders !== undefined) {\n var nodes = serializeAws_restXmlExposeHeaders(input.ExposeHeaders, context);\n nodes.map(function (node) {\n node = node.withName(\"ExposeHeader\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.MaxAgeSeconds !== undefined) {\n var node = new __XmlNode(\"MaxAgeSeconds\").addChildNode(new __XmlText(String(input.MaxAgeSeconds))).withName(\"MaxAgeSeconds\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCORSRules = function serializeAws_restXmlCORSRules(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlCORSRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlCSVInput = function serializeAws_restXmlCSVInput(input, context) {\n var bodyNode = new __XmlNode(\"CSVInput\");\n\n if (input.AllowQuotedRecordDelimiter !== undefined) {\n var node = new __XmlNode(\"AllowQuotedRecordDelimiter\").addChildNode(new __XmlText(String(input.AllowQuotedRecordDelimiter))).withName(\"AllowQuotedRecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Comments !== undefined) {\n var node = new __XmlNode(\"Comments\").addChildNode(new __XmlText(input.Comments)).withName(\"Comments\");\n bodyNode.addChildNode(node);\n }\n\n if (input.FieldDelimiter !== undefined) {\n var node = new __XmlNode(\"FieldDelimiter\").addChildNode(new __XmlText(input.FieldDelimiter)).withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.FileHeaderInfo !== undefined) {\n var node = new __XmlNode(\"FileHeaderInfo\").addChildNode(new __XmlText(input.FileHeaderInfo)).withName(\"FileHeaderInfo\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteCharacter !== undefined) {\n var node = new __XmlNode(\"QuoteCharacter\").addChildNode(new __XmlText(input.QuoteCharacter)).withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteEscapeCharacter !== undefined) {\n var node = new __XmlNode(\"QuoteEscapeCharacter\").addChildNode(new __XmlText(input.QuoteEscapeCharacter)).withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RecordDelimiter !== undefined) {\n var node = new __XmlNode(\"RecordDelimiter\").addChildNode(new __XmlText(input.RecordDelimiter)).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCSVOutput = function serializeAws_restXmlCSVOutput(input, context) {\n var bodyNode = new __XmlNode(\"CSVOutput\");\n\n if (input.FieldDelimiter !== undefined) {\n var node = new __XmlNode(\"FieldDelimiter\").addChildNode(new __XmlText(input.FieldDelimiter)).withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteCharacter !== undefined) {\n var node = new __XmlNode(\"QuoteCharacter\").addChildNode(new __XmlText(input.QuoteCharacter)).withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteEscapeCharacter !== undefined) {\n var node = new __XmlNode(\"QuoteEscapeCharacter\").addChildNode(new __XmlText(input.QuoteEscapeCharacter)).withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QuoteFields !== undefined) {\n var node = new __XmlNode(\"QuoteFields\").addChildNode(new __XmlText(input.QuoteFields)).withName(\"QuoteFields\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RecordDelimiter !== undefined) {\n var node = new __XmlNode(\"RecordDelimiter\").addChildNode(new __XmlText(input.RecordDelimiter)).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCompletedMultipartUpload = function serializeAws_restXmlCompletedMultipartUpload(input, context) {\n var bodyNode = new __XmlNode(\"CompletedMultipartUpload\");\n\n if (input.Parts !== undefined) {\n var nodes = serializeAws_restXmlCompletedPartList(input.Parts, context);\n nodes.map(function (node) {\n node = node.withName(\"Part\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCompletedPart = function serializeAws_restXmlCompletedPart(input, context) {\n var bodyNode = new __XmlNode(\"CompletedPart\");\n\n if (input.ETag !== undefined) {\n var node = new __XmlNode(\"ETag\").addChildNode(new __XmlText(input.ETag)).withName(\"ETag\");\n bodyNode.addChildNode(node);\n }\n\n if (input.PartNumber !== undefined) {\n var node = new __XmlNode(\"PartNumber\").addChildNode(new __XmlText(String(input.PartNumber))).withName(\"PartNumber\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCompletedPartList = function serializeAws_restXmlCompletedPartList(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlCompletedPart(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlCondition = function serializeAws_restXmlCondition(input, context) {\n var bodyNode = new __XmlNode(\"Condition\");\n\n if (input.HttpErrorCodeReturnedEquals !== undefined) {\n var node = new __XmlNode(\"HttpErrorCodeReturnedEquals\").addChildNode(new __XmlText(input.HttpErrorCodeReturnedEquals)).withName(\"HttpErrorCodeReturnedEquals\");\n bodyNode.addChildNode(node);\n }\n\n if (input.KeyPrefixEquals !== undefined) {\n var node = new __XmlNode(\"KeyPrefixEquals\").addChildNode(new __XmlText(input.KeyPrefixEquals)).withName(\"KeyPrefixEquals\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlCreateBucketConfiguration = function serializeAws_restXmlCreateBucketConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"CreateBucketConfiguration\");\n\n if (input.LocationConstraint !== undefined) {\n var node = new __XmlNode(\"BucketLocationConstraint\").addChildNode(new __XmlText(input.LocationConstraint)).withName(\"LocationConstraint\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlDefaultRetention = function serializeAws_restXmlDefaultRetention(input, context) {\n var bodyNode = new __XmlNode(\"DefaultRetention\");\n\n if (input.Days !== undefined) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Mode !== undefined) {\n var node = new __XmlNode(\"ObjectLockRetentionMode\").addChildNode(new __XmlText(input.Mode)).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Years !== undefined) {\n var node = new __XmlNode(\"Years\").addChildNode(new __XmlText(String(input.Years))).withName(\"Years\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlDelete = function serializeAws_restXmlDelete(input, context) {\n var bodyNode = new __XmlNode(\"Delete\");\n\n if (input.Objects !== undefined) {\n var nodes = serializeAws_restXmlObjectIdentifierList(input.Objects, context);\n nodes.map(function (node) {\n node = node.withName(\"Object\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Quiet !== undefined) {\n var node = new __XmlNode(\"Quiet\").addChildNode(new __XmlText(String(input.Quiet))).withName(\"Quiet\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlDeleteMarkerReplication = function serializeAws_restXmlDeleteMarkerReplication(input, context) {\n var bodyNode = new __XmlNode(\"DeleteMarkerReplication\");\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"DeleteMarkerReplicationStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlDestination = function serializeAws_restXmlDestination(input, context) {\n var bodyNode = new __XmlNode(\"Destination\");\n\n if (input.AccessControlTranslation !== undefined) {\n var node = serializeAws_restXmlAccessControlTranslation(input.AccessControlTranslation, context).withName(\"AccessControlTranslation\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Account !== undefined) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.Account)).withName(\"Account\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Bucket !== undefined) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n\n if (input.EncryptionConfiguration !== undefined) {\n var node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName(\"EncryptionConfiguration\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Metrics !== undefined) {\n var node = serializeAws_restXmlMetrics(input.Metrics, context).withName(\"Metrics\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ReplicationTime !== undefined) {\n var node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName(\"ReplicationTime\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClass !== undefined) {\n var node = new __XmlNode(\"StorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlEncryption = function serializeAws_restXmlEncryption(input, context) {\n var bodyNode = new __XmlNode(\"Encryption\");\n\n if (input.EncryptionType !== undefined) {\n var node = new __XmlNode(\"ServerSideEncryption\").addChildNode(new __XmlText(input.EncryptionType)).withName(\"EncryptionType\");\n bodyNode.addChildNode(node);\n }\n\n if (input.KMSContext !== undefined) {\n var node = new __XmlNode(\"KMSContext\").addChildNode(new __XmlText(input.KMSContext)).withName(\"KMSContext\");\n bodyNode.addChildNode(node);\n }\n\n if (input.KMSKeyId !== undefined) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KMSKeyId)).withName(\"KMSKeyId\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlEncryptionConfiguration = function serializeAws_restXmlEncryptionConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"EncryptionConfiguration\");\n\n if (input.ReplicaKmsKeyID !== undefined) {\n var node = new __XmlNode(\"ReplicaKmsKeyID\").addChildNode(new __XmlText(input.ReplicaKmsKeyID)).withName(\"ReplicaKmsKeyID\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlErrorDocument = function serializeAws_restXmlErrorDocument(input, context) {\n var bodyNode = new __XmlNode(\"ErrorDocument\");\n\n if (input.Key !== undefined) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlEventList = function serializeAws_restXmlEventList(input, context) {\n return input.map(function (entry) {\n var node = new __XmlNode(\"Event\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlExistingObjectReplication = function serializeAws_restXmlExistingObjectReplication(input, context) {\n var bodyNode = new __XmlNode(\"ExistingObjectReplication\");\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"ExistingObjectReplicationStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlExposeHeaders = function serializeAws_restXmlExposeHeaders(input, context) {\n return input.map(function (entry) {\n var node = new __XmlNode(\"ExposeHeader\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlFilterRule = function serializeAws_restXmlFilterRule(input, context) {\n var bodyNode = new __XmlNode(\"FilterRule\");\n\n if (input.Name !== undefined) {\n var node = new __XmlNode(\"FilterRuleName\").addChildNode(new __XmlText(input.Name)).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Value !== undefined) {\n var node = new __XmlNode(\"FilterRuleValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlFilterRuleList = function serializeAws_restXmlFilterRuleList(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlFilterRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlGlacierJobParameters = function serializeAws_restXmlGlacierJobParameters(input, context) {\n var bodyNode = new __XmlNode(\"GlacierJobParameters\");\n\n if (input.Tier !== undefined) {\n var node = new __XmlNode(\"Tier\").addChildNode(new __XmlText(input.Tier)).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlGrant = function serializeAws_restXmlGrant(input, context) {\n var bodyNode = new __XmlNode(\"Grant\");\n\n if (input.Grantee !== undefined) {\n var node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Permission !== undefined) {\n var node = new __XmlNode(\"Permission\").addChildNode(new __XmlText(input.Permission)).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlGrantee = function serializeAws_restXmlGrantee(input, context) {\n var bodyNode = new __XmlNode(\"Grantee\");\n\n if (input.DisplayName !== undefined) {\n var node = new __XmlNode(\"DisplayName\").addChildNode(new __XmlText(input.DisplayName)).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.EmailAddress !== undefined) {\n var node = new __XmlNode(\"EmailAddress\").addChildNode(new __XmlText(input.EmailAddress)).withName(\"EmailAddress\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ID !== undefined) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Type !== undefined) {\n bodyNode.addAttribute(\"xsi:type\", input.Type);\n }\n\n if (input.URI !== undefined) {\n var node = new __XmlNode(\"URI\").addChildNode(new __XmlText(input.URI)).withName(\"URI\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlGrants = function serializeAws_restXmlGrants(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\n\nvar serializeAws_restXmlIndexDocument = function serializeAws_restXmlIndexDocument(input, context) {\n var bodyNode = new __XmlNode(\"IndexDocument\");\n\n if (input.Suffix !== undefined) {\n var node = new __XmlNode(\"Suffix\").addChildNode(new __XmlText(input.Suffix)).withName(\"Suffix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInputSerialization = function serializeAws_restXmlInputSerialization(input, context) {\n var bodyNode = new __XmlNode(\"InputSerialization\");\n\n if (input.CSV !== undefined) {\n var node = serializeAws_restXmlCSVInput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n\n if (input.CompressionType !== undefined) {\n var node = new __XmlNode(\"CompressionType\").addChildNode(new __XmlText(input.CompressionType)).withName(\"CompressionType\");\n bodyNode.addChildNode(node);\n }\n\n if (input.JSON !== undefined) {\n var node = serializeAws_restXmlJSONInput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Parquet !== undefined) {\n var node = serializeAws_restXmlParquetInput(input.Parquet, context).withName(\"Parquet\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryConfiguration = function serializeAws_restXmlInventoryConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"InventoryConfiguration\");\n\n if (input.Destination !== undefined) {\n var node = serializeAws_restXmlInventoryDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlInventoryFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Id !== undefined) {\n var node = new __XmlNode(\"InventoryId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.IncludedObjectVersions !== undefined) {\n var node = new __XmlNode(\"InventoryIncludedObjectVersions\").addChildNode(new __XmlText(input.IncludedObjectVersions)).withName(\"IncludedObjectVersions\");\n bodyNode.addChildNode(node);\n }\n\n if (input.IsEnabled !== undefined) {\n var node = new __XmlNode(\"IsEnabled\").addChildNode(new __XmlText(String(input.IsEnabled))).withName(\"IsEnabled\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OptionalFields !== undefined) {\n var nodes = serializeAws_restXmlInventoryOptionalFields(input.OptionalFields, context);\n var containerNode_2 = new __XmlNode(\"OptionalFields\");\n nodes.map(function (node) {\n containerNode_2.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_2);\n }\n\n if (input.Schedule !== undefined) {\n var node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName(\"Schedule\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryDestination = function serializeAws_restXmlInventoryDestination(input, context) {\n var bodyNode = new __XmlNode(\"InventoryDestination\");\n\n if (input.S3BucketDestination !== undefined) {\n var node = serializeAws_restXmlInventoryS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryEncryption = function serializeAws_restXmlInventoryEncryption(input, context) {\n var bodyNode = new __XmlNode(\"InventoryEncryption\");\n\n if (input.SSEKMS !== undefined) {\n var node = serializeAws_restXmlSSEKMS(input.SSEKMS, context).withName(\"SSE-KMS\");\n bodyNode.addChildNode(node);\n }\n\n if (input.SSES3 !== undefined) {\n var node = serializeAws_restXmlSSES3(input.SSES3, context).withName(\"SSE-S3\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryFilter = function serializeAws_restXmlInventoryFilter(input, context) {\n var bodyNode = new __XmlNode(\"InventoryFilter\");\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventoryOptionalFields = function serializeAws_restXmlInventoryOptionalFields(input, context) {\n return input.map(function (entry) {\n var node = new __XmlNode(\"InventoryOptionalField\").addChildNode(new __XmlText(entry));\n return node.withName(\"Field\");\n });\n};\n\nvar serializeAws_restXmlInventoryS3BucketDestination = function serializeAws_restXmlInventoryS3BucketDestination(input, context) {\n var bodyNode = new __XmlNode(\"InventoryS3BucketDestination\");\n\n if (input.AccountId !== undefined) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.AccountId)).withName(\"AccountId\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Bucket !== undefined) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Encryption !== undefined) {\n var node = serializeAws_restXmlInventoryEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Format !== undefined) {\n var node = new __XmlNode(\"InventoryFormat\").addChildNode(new __XmlText(input.Format)).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlInventorySchedule = function serializeAws_restXmlInventorySchedule(input, context) {\n var bodyNode = new __XmlNode(\"InventorySchedule\");\n\n if (input.Frequency !== undefined) {\n var node = new __XmlNode(\"InventoryFrequency\").addChildNode(new __XmlText(input.Frequency)).withName(\"Frequency\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlJSONInput = function serializeAws_restXmlJSONInput(input, context) {\n var bodyNode = new __XmlNode(\"JSONInput\");\n\n if (input.Type !== undefined) {\n var node = new __XmlNode(\"JSONType\").addChildNode(new __XmlText(input.Type)).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlJSONOutput = function serializeAws_restXmlJSONOutput(input, context) {\n var bodyNode = new __XmlNode(\"JSONOutput\");\n\n if (input.RecordDelimiter !== undefined) {\n var node = new __XmlNode(\"RecordDelimiter\").addChildNode(new __XmlText(input.RecordDelimiter)).withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLambdaFunctionConfiguration = function serializeAws_restXmlLambdaFunctionConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"LambdaFunctionConfiguration\");\n\n if (input.Events !== undefined) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Id !== undefined) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.LambdaFunctionArn !== undefined) {\n var node = new __XmlNode(\"LambdaFunctionArn\").addChildNode(new __XmlText(input.LambdaFunctionArn)).withName(\"CloudFunction\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLambdaFunctionConfigurationList = function serializeAws_restXmlLambdaFunctionConfigurationList(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlLifecycleExpiration = function serializeAws_restXmlLifecycleExpiration(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleExpiration\");\n\n if (input.Date !== undefined) {\n var node = new __XmlNode(\"Date\").addChildNode(new __XmlText(input.Date.toISOString().split(\".\")[0] + \"Z\")).withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Days !== undefined) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ExpiredObjectDeleteMarker !== undefined) {\n var node = new __XmlNode(\"ExpiredObjectDeleteMarker\").addChildNode(new __XmlText(String(input.ExpiredObjectDeleteMarker))).withName(\"ExpiredObjectDeleteMarker\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRule = function serializeAws_restXmlLifecycleRule(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRule\");\n\n if (input.AbortIncompleteMultipartUpload !== undefined) {\n var node = serializeAws_restXmlAbortIncompleteMultipartUpload(input.AbortIncompleteMultipartUpload, context).withName(\"AbortIncompleteMultipartUpload\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Expiration !== undefined) {\n var node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName(\"Expiration\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ID !== undefined) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n\n if (input.NoncurrentVersionExpiration !== undefined) {\n var node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName(\"NoncurrentVersionExpiration\");\n bodyNode.addChildNode(node);\n }\n\n if (input.NoncurrentVersionTransitions !== undefined) {\n var nodes = serializeAws_restXmlNoncurrentVersionTransitionList(input.NoncurrentVersionTransitions, context);\n nodes.map(function (node) {\n node = node.withName(\"NoncurrentVersionTransition\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"ExpirationStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Transitions !== undefined) {\n var nodes = serializeAws_restXmlTransitionList(input.Transitions, context);\n nodes.map(function (node) {\n node = node.withName(\"Transition\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRuleAndOperator = function serializeAws_restXmlLifecycleRuleAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRuleAndOperator\");\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRuleFilter = function serializeAws_restXmlLifecycleRuleFilter(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRuleFilter\");\n\n if (input.And !== undefined) {\n var node = serializeAws_restXmlLifecycleRuleAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tag !== undefined) {\n var node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRules = function serializeAws_restXmlLifecycleRules(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlLifecycleRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlLoggingEnabled = function serializeAws_restXmlLoggingEnabled(input, context) {\n var bodyNode = new __XmlNode(\"LoggingEnabled\");\n\n if (input.TargetBucket !== undefined) {\n var node = new __XmlNode(\"TargetBucket\").addChildNode(new __XmlText(input.TargetBucket)).withName(\"TargetBucket\");\n bodyNode.addChildNode(node);\n }\n\n if (input.TargetGrants !== undefined) {\n var nodes = serializeAws_restXmlTargetGrants(input.TargetGrants, context);\n var containerNode_3 = new __XmlNode(\"TargetGrants\");\n nodes.map(function (node) {\n containerNode_3.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_3);\n }\n\n if (input.TargetPrefix !== undefined) {\n var node = new __XmlNode(\"TargetPrefix\").addChildNode(new __XmlText(input.TargetPrefix)).withName(\"TargetPrefix\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetadataEntry = function serializeAws_restXmlMetadataEntry(input, context) {\n var bodyNode = new __XmlNode(\"MetadataEntry\");\n\n if (input.Name !== undefined) {\n var node = new __XmlNode(\"MetadataKey\").addChildNode(new __XmlText(input.Name)).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Value !== undefined) {\n var node = new __XmlNode(\"MetadataValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetrics = function serializeAws_restXmlMetrics(input, context) {\n var bodyNode = new __XmlNode(\"Metrics\");\n\n if (input.EventThreshold !== undefined) {\n var node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName(\"EventThreshold\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"MetricsStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetricsAndOperator = function serializeAws_restXmlMetricsAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"MetricsAndOperator\");\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetricsConfiguration = function serializeAws_restXmlMetricsConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"MetricsConfiguration\");\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Id !== undefined) {\n var node = new __XmlNode(\"MetricsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlMetricsFilter = function serializeAws_restXmlMetricsFilter(input, context) {\n var bodyNode = new __XmlNode(\"MetricsFilter\");\n\n if (input.And !== undefined) {\n var node = serializeAws_restXmlMetricsAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tag !== undefined) {\n var node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlNoncurrentVersionExpiration = function serializeAws_restXmlNoncurrentVersionExpiration(input, context) {\n var bodyNode = new __XmlNode(\"NoncurrentVersionExpiration\");\n\n if (input.NoncurrentDays !== undefined) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.NoncurrentDays))).withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlNoncurrentVersionTransition = function serializeAws_restXmlNoncurrentVersionTransition(input, context) {\n var bodyNode = new __XmlNode(\"NoncurrentVersionTransition\");\n\n if (input.NoncurrentDays !== undefined) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.NoncurrentDays))).withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClass !== undefined) {\n var node = new __XmlNode(\"TransitionStorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlNoncurrentVersionTransitionList = function serializeAws_restXmlNoncurrentVersionTransitionList(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlNoncurrentVersionTransition(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlNotificationConfiguration = function serializeAws_restXmlNotificationConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"NotificationConfiguration\");\n\n if (input.LambdaFunctionConfigurations !== undefined) {\n var nodes = serializeAws_restXmlLambdaFunctionConfigurationList(input.LambdaFunctionConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"CloudFunctionConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.QueueConfigurations !== undefined) {\n var nodes = serializeAws_restXmlQueueConfigurationList(input.QueueConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"QueueConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.TopicConfigurations !== undefined) {\n var nodes = serializeAws_restXmlTopicConfigurationList(input.TopicConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"TopicConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlNotificationConfigurationFilter = function serializeAws_restXmlNotificationConfigurationFilter(input, context) {\n var bodyNode = new __XmlNode(\"NotificationConfigurationFilter\");\n\n if (input.Key !== undefined) {\n var node = serializeAws_restXmlS3KeyFilter(input.Key, context).withName(\"S3Key\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectIdentifier = function serializeAws_restXmlObjectIdentifier(input, context) {\n var bodyNode = new __XmlNode(\"ObjectIdentifier\");\n\n if (input.Key !== undefined) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n\n if (input.VersionId !== undefined) {\n var node = new __XmlNode(\"ObjectVersionId\").addChildNode(new __XmlText(input.VersionId)).withName(\"VersionId\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectIdentifierList = function serializeAws_restXmlObjectIdentifierList(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlObjectIdentifier(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlObjectLockConfiguration = function serializeAws_restXmlObjectLockConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockConfiguration\");\n\n if (input.ObjectLockEnabled !== undefined) {\n var node = new __XmlNode(\"ObjectLockEnabled\").addChildNode(new __XmlText(input.ObjectLockEnabled)).withName(\"ObjectLockEnabled\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Rule !== undefined) {\n var node = serializeAws_restXmlObjectLockRule(input.Rule, context).withName(\"Rule\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectLockLegalHold = function serializeAws_restXmlObjectLockLegalHold(input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockLegalHold\");\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"ObjectLockLegalHoldStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectLockRetention = function serializeAws_restXmlObjectLockRetention(input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockRetention\");\n\n if (input.Mode !== undefined) {\n var node = new __XmlNode(\"ObjectLockRetentionMode\").addChildNode(new __XmlText(input.Mode)).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RetainUntilDate !== undefined) {\n var node = new __XmlNode(\"Date\").addChildNode(new __XmlText(input.RetainUntilDate.toISOString().split(\".\")[0] + \"Z\")).withName(\"RetainUntilDate\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlObjectLockRule = function serializeAws_restXmlObjectLockRule(input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockRule\");\n\n if (input.DefaultRetention !== undefined) {\n var node = serializeAws_restXmlDefaultRetention(input.DefaultRetention, context).withName(\"DefaultRetention\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOutputLocation = function serializeAws_restXmlOutputLocation(input, context) {\n var bodyNode = new __XmlNode(\"OutputLocation\");\n\n if (input.S3 !== undefined) {\n var node = serializeAws_restXmlS3Location(input.S3, context).withName(\"S3\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOutputSerialization = function serializeAws_restXmlOutputSerialization(input, context) {\n var bodyNode = new __XmlNode(\"OutputSerialization\");\n\n if (input.CSV !== undefined) {\n var node = serializeAws_restXmlCSVOutput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n\n if (input.JSON !== undefined) {\n var node = serializeAws_restXmlJSONOutput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOwner = function serializeAws_restXmlOwner(input, context) {\n var bodyNode = new __XmlNode(\"Owner\");\n\n if (input.DisplayName !== undefined) {\n var node = new __XmlNode(\"DisplayName\").addChildNode(new __XmlText(input.DisplayName)).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ID !== undefined) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlParquetInput = function serializeAws_restXmlParquetInput(input, context) {\n var bodyNode = new __XmlNode(\"ParquetInput\");\n return bodyNode;\n};\n\nvar serializeAws_restXmlPublicAccessBlockConfiguration = function serializeAws_restXmlPublicAccessBlockConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"PublicAccessBlockConfiguration\");\n\n if (input.BlockPublicAcls !== undefined) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.BlockPublicAcls))).withName(\"BlockPublicAcls\");\n bodyNode.addChildNode(node);\n }\n\n if (input.BlockPublicPolicy !== undefined) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.BlockPublicPolicy))).withName(\"BlockPublicPolicy\");\n bodyNode.addChildNode(node);\n }\n\n if (input.IgnorePublicAcls !== undefined) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.IgnorePublicAcls))).withName(\"IgnorePublicAcls\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RestrictPublicBuckets !== undefined) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.RestrictPublicBuckets))).withName(\"RestrictPublicBuckets\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlQueueConfiguration = function serializeAws_restXmlQueueConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"QueueConfiguration\");\n\n if (input.Events !== undefined) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Id !== undefined) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.QueueArn !== undefined) {\n var node = new __XmlNode(\"QueueArn\").addChildNode(new __XmlText(input.QueueArn)).withName(\"Queue\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlQueueConfigurationList = function serializeAws_restXmlQueueConfigurationList(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlQueueConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlRedirect = function serializeAws_restXmlRedirect(input, context) {\n var bodyNode = new __XmlNode(\"Redirect\");\n\n if (input.HostName !== undefined) {\n var node = new __XmlNode(\"HostName\").addChildNode(new __XmlText(input.HostName)).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.HttpRedirectCode !== undefined) {\n var node = new __XmlNode(\"HttpRedirectCode\").addChildNode(new __XmlText(input.HttpRedirectCode)).withName(\"HttpRedirectCode\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Protocol !== undefined) {\n var node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ReplaceKeyPrefixWith !== undefined) {\n var node = new __XmlNode(\"ReplaceKeyPrefixWith\").addChildNode(new __XmlText(input.ReplaceKeyPrefixWith)).withName(\"ReplaceKeyPrefixWith\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ReplaceKeyWith !== undefined) {\n var node = new __XmlNode(\"ReplaceKeyWith\").addChildNode(new __XmlText(input.ReplaceKeyWith)).withName(\"ReplaceKeyWith\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRedirectAllRequestsTo = function serializeAws_restXmlRedirectAllRequestsTo(input, context) {\n var bodyNode = new __XmlNode(\"RedirectAllRequestsTo\");\n\n if (input.HostName !== undefined) {\n var node = new __XmlNode(\"HostName\").addChildNode(new __XmlText(input.HostName)).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Protocol !== undefined) {\n var node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationConfiguration = function serializeAws_restXmlReplicationConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationConfiguration\");\n\n if (input.Role !== undefined) {\n var node = new __XmlNode(\"Role\").addChildNode(new __XmlText(input.Role)).withName(\"Role\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Rules !== undefined) {\n var nodes = serializeAws_restXmlReplicationRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationRule = function serializeAws_restXmlReplicationRule(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRule\");\n\n if (input.DeleteMarkerReplication !== undefined) {\n var node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName(\"DeleteMarkerReplication\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Destination !== undefined) {\n var node = serializeAws_restXmlDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ExistingObjectReplication !== undefined) {\n var node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName(\"ExistingObjectReplication\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ID !== undefined) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Priority !== undefined) {\n var node = new __XmlNode(\"Priority\").addChildNode(new __XmlText(String(input.Priority))).withName(\"Priority\");\n bodyNode.addChildNode(node);\n }\n\n if (input.SourceSelectionCriteria !== undefined) {\n var node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName(\"SourceSelectionCriteria\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"ReplicationRuleStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationRuleAndOperator = function serializeAws_restXmlReplicationRuleAndOperator(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRuleAndOperator\");\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tags !== undefined) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationRuleFilter = function serializeAws_restXmlReplicationRuleFilter(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRuleFilter\");\n\n if (input.And !== undefined) {\n var node = serializeAws_restXmlReplicationRuleAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tag !== undefined) {\n var node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationRules = function serializeAws_restXmlReplicationRules(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlReplicationRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlReplicationTime = function serializeAws_restXmlReplicationTime(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationTime\");\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"ReplicationTimeStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Time !== undefined) {\n var node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName(\"Time\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlReplicationTimeValue = function serializeAws_restXmlReplicationTimeValue(input, context) {\n var bodyNode = new __XmlNode(\"ReplicationTimeValue\");\n\n if (input.Minutes !== undefined) {\n var node = new __XmlNode(\"Minutes\").addChildNode(new __XmlText(String(input.Minutes))).withName(\"Minutes\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRequestPaymentConfiguration = function serializeAws_restXmlRequestPaymentConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"RequestPaymentConfiguration\");\n\n if (input.Payer !== undefined) {\n var node = new __XmlNode(\"Payer\").addChildNode(new __XmlText(input.Payer)).withName(\"Payer\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRequestProgress = function serializeAws_restXmlRequestProgress(input, context) {\n var bodyNode = new __XmlNode(\"RequestProgress\");\n\n if (input.Enabled !== undefined) {\n var node = new __XmlNode(\"EnableRequestProgress\").addChildNode(new __XmlText(String(input.Enabled))).withName(\"Enabled\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRestoreRequest = function serializeAws_restXmlRestoreRequest(input, context) {\n var bodyNode = new __XmlNode(\"RestoreRequest\");\n\n if (input.Days !== undefined) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Description !== undefined) {\n var node = new __XmlNode(\"Description\").addChildNode(new __XmlText(input.Description)).withName(\"Description\");\n bodyNode.addChildNode(node);\n }\n\n if (input.GlacierJobParameters !== undefined) {\n var node = serializeAws_restXmlGlacierJobParameters(input.GlacierJobParameters, context).withName(\"GlacierJobParameters\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OutputLocation !== undefined) {\n var node = serializeAws_restXmlOutputLocation(input.OutputLocation, context).withName(\"OutputLocation\");\n bodyNode.addChildNode(node);\n }\n\n if (input.SelectParameters !== undefined) {\n var node = serializeAws_restXmlSelectParameters(input.SelectParameters, context).withName(\"SelectParameters\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tier !== undefined) {\n var node = new __XmlNode(\"Tier\").addChildNode(new __XmlText(input.Tier)).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Type !== undefined) {\n var node = new __XmlNode(\"RestoreRequestType\").addChildNode(new __XmlText(input.Type)).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRoutingRule = function serializeAws_restXmlRoutingRule(input, context) {\n var bodyNode = new __XmlNode(\"RoutingRule\");\n\n if (input.Condition !== undefined) {\n var node = serializeAws_restXmlCondition(input.Condition, context).withName(\"Condition\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Redirect !== undefined) {\n var node = serializeAws_restXmlRedirect(input.Redirect, context).withName(\"Redirect\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlRoutingRules = function serializeAws_restXmlRoutingRules(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlRoutingRule(entry, context);\n return node.withName(\"RoutingRule\");\n });\n};\n\nvar serializeAws_restXmlS3KeyFilter = function serializeAws_restXmlS3KeyFilter(input, context) {\n var bodyNode = new __XmlNode(\"S3KeyFilter\");\n\n if (input.FilterRules !== undefined) {\n var nodes = serializeAws_restXmlFilterRuleList(input.FilterRules, context);\n nodes.map(function (node) {\n node = node.withName(\"FilterRule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlS3Location = function serializeAws_restXmlS3Location(input, context) {\n var bodyNode = new __XmlNode(\"S3Location\");\n\n if (input.AccessControlList !== undefined) {\n var nodes = serializeAws_restXmlGrants(input.AccessControlList, context);\n var containerNode_4 = new __XmlNode(\"AccessControlList\");\n nodes.map(function (node) {\n containerNode_4.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_4);\n }\n\n if (input.BucketName !== undefined) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.BucketName)).withName(\"BucketName\");\n bodyNode.addChildNode(node);\n }\n\n if (input.CannedACL !== undefined) {\n var node = new __XmlNode(\"ObjectCannedACL\").addChildNode(new __XmlText(input.CannedACL)).withName(\"CannedACL\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Encryption !== undefined) {\n var node = serializeAws_restXmlEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Prefix !== undefined) {\n var node = new __XmlNode(\"LocationPrefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClass !== undefined) {\n var node = new __XmlNode(\"StorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Tagging !== undefined) {\n var node = serializeAws_restXmlTagging(input.Tagging, context).withName(\"Tagging\");\n bodyNode.addChildNode(node);\n }\n\n if (input.UserMetadata !== undefined) {\n var nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context);\n var containerNode_5 = new __XmlNode(\"UserMetadata\");\n nodes.map(function (node) {\n containerNode_5.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_5);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlSSEKMS = function serializeAws_restXmlSSEKMS(input, context) {\n var bodyNode = new __XmlNode(\"SSE-KMS\");\n\n if (input.KeyId !== undefined) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KeyId)).withName(\"KeyId\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlSSES3 = function serializeAws_restXmlSSES3(input, context) {\n var bodyNode = new __XmlNode(\"SSE-S3\");\n return bodyNode;\n};\n\nvar serializeAws_restXmlScanRange = function serializeAws_restXmlScanRange(input, context) {\n var bodyNode = new __XmlNode(\"ScanRange\");\n\n if (input.End !== undefined) {\n var node = new __XmlNode(\"End\").addChildNode(new __XmlText(String(input.End))).withName(\"End\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Start !== undefined) {\n var node = new __XmlNode(\"Start\").addChildNode(new __XmlText(String(input.Start))).withName(\"Start\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlSelectParameters = function serializeAws_restXmlSelectParameters(input, context) {\n var bodyNode = new __XmlNode(\"SelectParameters\");\n\n if (input.Expression !== undefined) {\n var node = new __XmlNode(\"Expression\").addChildNode(new __XmlText(input.Expression)).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n\n if (input.ExpressionType !== undefined) {\n var node = new __XmlNode(\"ExpressionType\").addChildNode(new __XmlText(input.ExpressionType)).withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n\n if (input.InputSerialization !== undefined) {\n var node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OutputSerialization !== undefined) {\n var node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlServerSideEncryptionByDefault = function serializeAws_restXmlServerSideEncryptionByDefault(input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionByDefault\");\n\n if (input.KMSMasterKeyID !== undefined) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KMSMasterKeyID)).withName(\"KMSMasterKeyID\");\n bodyNode.addChildNode(node);\n }\n\n if (input.SSEAlgorithm !== undefined) {\n var node = new __XmlNode(\"ServerSideEncryption\").addChildNode(new __XmlText(input.SSEAlgorithm)).withName(\"SSEAlgorithm\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlServerSideEncryptionConfiguration = function serializeAws_restXmlServerSideEncryptionConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionConfiguration\");\n\n if (input.Rules !== undefined) {\n var nodes = serializeAws_restXmlServerSideEncryptionRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlServerSideEncryptionRule = function serializeAws_restXmlServerSideEncryptionRule(input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionRule\");\n\n if (input.ApplyServerSideEncryptionByDefault !== undefined) {\n var node = serializeAws_restXmlServerSideEncryptionByDefault(input.ApplyServerSideEncryptionByDefault, context).withName(\"ApplyServerSideEncryptionByDefault\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlServerSideEncryptionRules = function serializeAws_restXmlServerSideEncryptionRules(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlServerSideEncryptionRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlSourceSelectionCriteria = function serializeAws_restXmlSourceSelectionCriteria(input, context) {\n var bodyNode = new __XmlNode(\"SourceSelectionCriteria\");\n\n if (input.SseKmsEncryptedObjects !== undefined) {\n var node = serializeAws_restXmlSseKmsEncryptedObjects(input.SseKmsEncryptedObjects, context).withName(\"SseKmsEncryptedObjects\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlSseKmsEncryptedObjects = function serializeAws_restXmlSseKmsEncryptedObjects(input, context) {\n var bodyNode = new __XmlNode(\"SseKmsEncryptedObjects\");\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"SseKmsEncryptedObjectsStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlStorageClassAnalysis = function serializeAws_restXmlStorageClassAnalysis(input, context) {\n var bodyNode = new __XmlNode(\"StorageClassAnalysis\");\n\n if (input.DataExport !== undefined) {\n var node = serializeAws_restXmlStorageClassAnalysisDataExport(input.DataExport, context).withName(\"DataExport\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlStorageClassAnalysisDataExport = function serializeAws_restXmlStorageClassAnalysisDataExport(input, context) {\n var bodyNode = new __XmlNode(\"StorageClassAnalysisDataExport\");\n\n if (input.Destination !== undefined) {\n var node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n\n if (input.OutputSchemaVersion !== undefined) {\n var node = new __XmlNode(\"StorageClassAnalysisSchemaVersion\").addChildNode(new __XmlText(input.OutputSchemaVersion)).withName(\"OutputSchemaVersion\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTag = function serializeAws_restXmlTag(input, context) {\n var bodyNode = new __XmlNode(\"Tag\");\n\n if (input.Key !== undefined) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Value !== undefined) {\n var node = new __XmlNode(\"Value\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTagSet = function serializeAws_restXmlTagSet(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlTag(entry, context);\n return node.withName(\"Tag\");\n });\n};\n\nvar serializeAws_restXmlTagging = function serializeAws_restXmlTagging(input, context) {\n var bodyNode = new __XmlNode(\"Tagging\");\n\n if (input.TagSet !== undefined) {\n var nodes = serializeAws_restXmlTagSet(input.TagSet, context);\n var containerNode_6 = new __XmlNode(\"TagSet\");\n nodes.map(function (node) {\n containerNode_6.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_6);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTargetGrant = function serializeAws_restXmlTargetGrant(input, context) {\n var bodyNode = new __XmlNode(\"TargetGrant\");\n\n if (input.Grantee !== undefined) {\n var node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Permission !== undefined) {\n var node = new __XmlNode(\"BucketLogsPermission\").addChildNode(new __XmlText(input.Permission)).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTargetGrants = function serializeAws_restXmlTargetGrants(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlTargetGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\n\nvar serializeAws_restXmlTopicConfiguration = function serializeAws_restXmlTopicConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"TopicConfiguration\");\n\n if (input.Events !== undefined) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Id !== undefined) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.TopicArn !== undefined) {\n var node = new __XmlNode(\"TopicArn\").addChildNode(new __XmlText(input.TopicArn)).withName(\"Topic\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTopicConfigurationList = function serializeAws_restXmlTopicConfigurationList(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlTopicConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlTransition = function serializeAws_restXmlTransition(input, context) {\n var bodyNode = new __XmlNode(\"Transition\");\n\n if (input.Date !== undefined) {\n var node = new __XmlNode(\"Date\").addChildNode(new __XmlText(input.Date.toISOString().split(\".\")[0] + \"Z\")).withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Days !== undefined) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n\n if (input.StorageClass !== undefined) {\n var node = new __XmlNode(\"TransitionStorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlTransitionList = function serializeAws_restXmlTransitionList(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlTransition(entry, context);\n return node.withName(\"member\");\n });\n};\n\nvar serializeAws_restXmlUserMetadata = function serializeAws_restXmlUserMetadata(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlMetadataEntry(entry, context);\n return node.withName(\"MetadataEntry\");\n });\n};\n\nvar serializeAws_restXmlVersioningConfiguration = function serializeAws_restXmlVersioningConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"VersioningConfiguration\");\n\n if (input.MFADelete !== undefined) {\n var node = new __XmlNode(\"MFADelete\").addChildNode(new __XmlText(input.MFADelete)).withName(\"MfaDelete\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Status !== undefined) {\n var node = new __XmlNode(\"BucketVersioningStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlWebsiteConfiguration = function serializeAws_restXmlWebsiteConfiguration(input, context) {\n var bodyNode = new __XmlNode(\"WebsiteConfiguration\");\n\n if (input.ErrorDocument !== undefined) {\n var node = serializeAws_restXmlErrorDocument(input.ErrorDocument, context).withName(\"ErrorDocument\");\n bodyNode.addChildNode(node);\n }\n\n if (input.IndexDocument !== undefined) {\n var node = serializeAws_restXmlIndexDocument(input.IndexDocument, context).withName(\"IndexDocument\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RedirectAllRequestsTo !== undefined) {\n var node = serializeAws_restXmlRedirectAllRequestsTo(input.RedirectAllRequestsTo, context).withName(\"RedirectAllRequestsTo\");\n bodyNode.addChildNode(node);\n }\n\n if (input.RoutingRules !== undefined) {\n var nodes = serializeAws_restXmlRoutingRules(input.RoutingRules, context);\n var containerNode_7 = new __XmlNode(\"RoutingRules\");\n nodes.map(function (node) {\n containerNode_7.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_7);\n }\n\n return bodyNode;\n};\n\nvar deserializeAws_restXmlAbortIncompleteMultipartUpload = function deserializeAws_restXmlAbortIncompleteMultipartUpload(output, context) {\n var contents = {\n __type: \"AbortIncompleteMultipartUpload\",\n DaysAfterInitiation: undefined\n };\n\n if (output[\"DaysAfterInitiation\"] !== undefined) {\n contents.DaysAfterInitiation = parseInt(output[\"DaysAfterInitiation\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAccessControlTranslation = function deserializeAws_restXmlAccessControlTranslation(output, context) {\n var contents = {\n __type: \"AccessControlTranslation\",\n Owner: undefined\n };\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = output[\"Owner\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAllowedHeaders = function deserializeAws_restXmlAllowedHeaders(output, context) {\n return (output || []).map(function (entry) {\n return entry;\n });\n};\n\nvar deserializeAws_restXmlAllowedMethods = function deserializeAws_restXmlAllowedMethods(output, context) {\n return (output || []).map(function (entry) {\n return entry;\n });\n};\n\nvar deserializeAws_restXmlAllowedOrigins = function deserializeAws_restXmlAllowedOrigins(output, context) {\n return (output || []).map(function (entry) {\n return entry;\n });\n};\n\nvar deserializeAws_restXmlAnalyticsAndOperator = function deserializeAws_restXmlAnalyticsAndOperator(output, context) {\n var contents = {\n __type: \"AnalyticsAndOperator\",\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAnalyticsConfiguration = function deserializeAws_restXmlAnalyticsConfiguration(output, context) {\n var contents = {\n __type: \"AnalyticsConfiguration\",\n Filter: undefined,\n Id: undefined,\n StorageClassAnalysis: undefined\n };\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlAnalyticsFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"StorageClassAnalysis\"] !== undefined) {\n contents.StorageClassAnalysis = deserializeAws_restXmlStorageClassAnalysis(output[\"StorageClassAnalysis\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAnalyticsConfigurationList = function deserializeAws_restXmlAnalyticsConfigurationList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlAnalyticsConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlAnalyticsExportDestination = function deserializeAws_restXmlAnalyticsExportDestination(output, context) {\n var contents = {\n __type: \"AnalyticsExportDestination\",\n S3BucketDestination: undefined\n };\n\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlAnalyticsS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAnalyticsFilter = function deserializeAws_restXmlAnalyticsFilter(output, context) {\n var contents = {\n __type: \"AnalyticsFilter\",\n And: undefined,\n Prefix: undefined,\n Tag: undefined\n };\n\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlAnalyticsAndOperator(output[\"And\"], context);\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAnalyticsS3BucketDestination = function deserializeAws_restXmlAnalyticsS3BucketDestination(output, context) {\n var contents = {\n __type: \"AnalyticsS3BucketDestination\",\n Bucket: undefined,\n BucketAccountId: undefined,\n Format: undefined,\n Prefix: undefined\n };\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"BucketAccountId\"] !== undefined) {\n contents.BucketAccountId = output[\"BucketAccountId\"];\n }\n\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlBucket = function deserializeAws_restXmlBucket(output, context) {\n var contents = {\n __type: \"Bucket\",\n CreationDate: undefined,\n Name: undefined\n };\n\n if (output[\"CreationDate\"] !== undefined) {\n contents.CreationDate = new Date(output[\"CreationDate\"]);\n }\n\n if (output[\"Name\"] !== undefined) {\n contents.Name = output[\"Name\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlBuckets = function deserializeAws_restXmlBuckets(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlBucket(entry, context);\n });\n};\n\nvar deserializeAws_restXmlCORSRule = function deserializeAws_restXmlCORSRule(output, context) {\n var contents = {\n __type: \"CORSRule\",\n AllowedHeaders: undefined,\n AllowedMethods: undefined,\n AllowedOrigins: undefined,\n ExposeHeaders: undefined,\n MaxAgeSeconds: undefined\n };\n\n if (output.AllowedHeader === \"\") {\n contents.AllowedHeaders = [];\n }\n\n if (output[\"AllowedHeader\"] !== undefined) {\n contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders(__getArrayIfSingleItem(output[\"AllowedHeader\"]), context);\n }\n\n if (output.AllowedMethod === \"\") {\n contents.AllowedMethods = [];\n }\n\n if (output[\"AllowedMethod\"] !== undefined) {\n contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(__getArrayIfSingleItem(output[\"AllowedMethod\"]), context);\n }\n\n if (output.AllowedOrigin === \"\") {\n contents.AllowedOrigins = [];\n }\n\n if (output[\"AllowedOrigin\"] !== undefined) {\n contents.AllowedOrigins = deserializeAws_restXmlAllowedOrigins(__getArrayIfSingleItem(output[\"AllowedOrigin\"]), context);\n }\n\n if (output.ExposeHeader === \"\") {\n contents.ExposeHeaders = [];\n }\n\n if (output[\"ExposeHeader\"] !== undefined) {\n contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders(__getArrayIfSingleItem(output[\"ExposeHeader\"]), context);\n }\n\n if (output[\"MaxAgeSeconds\"] !== undefined) {\n contents.MaxAgeSeconds = parseInt(output[\"MaxAgeSeconds\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCORSRules = function deserializeAws_restXmlCORSRules(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlCORSRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlCommonPrefix = function deserializeAws_restXmlCommonPrefix(output, context) {\n var contents = {\n __type: \"CommonPrefix\",\n Prefix: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCommonPrefixList = function deserializeAws_restXmlCommonPrefixList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlCommonPrefix(entry, context);\n });\n};\n\nvar deserializeAws_restXmlCondition = function deserializeAws_restXmlCondition(output, context) {\n var contents = {\n __type: \"Condition\",\n HttpErrorCodeReturnedEquals: undefined,\n KeyPrefixEquals: undefined\n };\n\n if (output[\"HttpErrorCodeReturnedEquals\"] !== undefined) {\n contents.HttpErrorCodeReturnedEquals = output[\"HttpErrorCodeReturnedEquals\"];\n }\n\n if (output[\"KeyPrefixEquals\"] !== undefined) {\n contents.KeyPrefixEquals = output[\"KeyPrefixEquals\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCopyObjectResult = function deserializeAws_restXmlCopyObjectResult(output, context) {\n var contents = {\n __type: \"CopyObjectResult\",\n ETag: undefined,\n LastModified: undefined\n };\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCopyPartResult = function deserializeAws_restXmlCopyPartResult(output, context) {\n var contents = {\n __type: \"CopyPartResult\",\n ETag: undefined,\n LastModified: undefined\n };\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDefaultRetention = function deserializeAws_restXmlDefaultRetention(output, context) {\n var contents = {\n __type: \"DefaultRetention\",\n Days: undefined,\n Mode: undefined,\n Years: undefined\n };\n\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = output[\"Mode\"];\n }\n\n if (output[\"Years\"] !== undefined) {\n contents.Years = parseInt(output[\"Years\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeleteMarkerEntry = function deserializeAws_restXmlDeleteMarkerEntry(output, context) {\n var contents = {\n __type: \"DeleteMarkerEntry\",\n IsLatest: undefined,\n Key: undefined,\n LastModified: undefined,\n Owner: undefined,\n VersionId: undefined\n };\n\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeleteMarkerReplication = function deserializeAws_restXmlDeleteMarkerReplication(output, context) {\n var contents = {\n __type: \"DeleteMarkerReplication\",\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeleteMarkers = function deserializeAws_restXmlDeleteMarkers(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlDeleteMarkerEntry(entry, context);\n });\n};\n\nvar deserializeAws_restXmlDeletedObject = function deserializeAws_restXmlDeletedObject(output, context) {\n var contents = {\n __type: \"DeletedObject\",\n DeleteMarker: undefined,\n DeleteMarkerVersionId: undefined,\n Key: undefined,\n VersionId: undefined\n };\n\n if (output[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarker = output[\"DeleteMarker\"] == \"true\";\n }\n\n if (output[\"DeleteMarkerVersionId\"] !== undefined) {\n contents.DeleteMarkerVersionId = output[\"DeleteMarkerVersionId\"];\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeletedObjects = function deserializeAws_restXmlDeletedObjects(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlDeletedObject(entry, context);\n });\n};\n\nvar deserializeAws_restXmlDestination = function deserializeAws_restXmlDestination(output, context) {\n var contents = {\n __type: \"Destination\",\n AccessControlTranslation: undefined,\n Account: undefined,\n Bucket: undefined,\n EncryptionConfiguration: undefined,\n Metrics: undefined,\n ReplicationTime: undefined,\n StorageClass: undefined\n };\n\n if (output[\"AccessControlTranslation\"] !== undefined) {\n contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(output[\"AccessControlTranslation\"], context);\n }\n\n if (output[\"Account\"] !== undefined) {\n contents.Account = output[\"Account\"];\n }\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"EncryptionConfiguration\"] !== undefined) {\n contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(output[\"EncryptionConfiguration\"], context);\n }\n\n if (output[\"Metrics\"] !== undefined) {\n contents.Metrics = deserializeAws_restXmlMetrics(output[\"Metrics\"], context);\n }\n\n if (output[\"ReplicationTime\"] !== undefined) {\n contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output[\"ReplicationTime\"], context);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlEncryptionConfiguration = function deserializeAws_restXmlEncryptionConfiguration(output, context) {\n var contents = {\n __type: \"EncryptionConfiguration\",\n ReplicaKmsKeyID: undefined\n };\n\n if (output[\"ReplicaKmsKeyID\"] !== undefined) {\n contents.ReplicaKmsKeyID = output[\"ReplicaKmsKeyID\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXml_Error = function deserializeAws_restXml_Error(output, context) {\n var contents = {\n __type: \"Error\",\n Code: undefined,\n Key: undefined,\n Message: undefined,\n VersionId: undefined\n };\n\n if (output[\"Code\"] !== undefined) {\n contents.Code = output[\"Code\"];\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"Message\"] !== undefined) {\n contents.Message = output[\"Message\"];\n }\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlErrorDocument = function deserializeAws_restXmlErrorDocument(output, context) {\n var contents = {\n __type: \"ErrorDocument\",\n Key: undefined\n };\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlErrors = function deserializeAws_restXmlErrors(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXml_Error(entry, context);\n });\n};\n\nvar deserializeAws_restXmlEventList = function deserializeAws_restXmlEventList(output, context) {\n return (output || []).map(function (entry) {\n return entry;\n });\n};\n\nvar deserializeAws_restXmlExistingObjectReplication = function deserializeAws_restXmlExistingObjectReplication(output, context) {\n var contents = {\n __type: \"ExistingObjectReplication\",\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlExposeHeaders = function deserializeAws_restXmlExposeHeaders(output, context) {\n return (output || []).map(function (entry) {\n return entry;\n });\n};\n\nvar deserializeAws_restXmlFilterRule = function deserializeAws_restXmlFilterRule(output, context) {\n var contents = {\n __type: \"FilterRule\",\n Name: undefined,\n Value: undefined\n };\n\n if (output[\"Name\"] !== undefined) {\n contents.Name = output[\"Name\"];\n }\n\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlFilterRuleList = function deserializeAws_restXmlFilterRuleList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlFilterRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlGrant = function deserializeAws_restXmlGrant(output, context) {\n var contents = {\n __type: \"Grant\",\n Grantee: undefined,\n Permission: undefined\n };\n\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = output[\"Permission\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlGrantee = function deserializeAws_restXmlGrantee(output, context) {\n var contents = {\n __type: \"Grantee\",\n DisplayName: undefined,\n EmailAddress: undefined,\n ID: undefined,\n Type: undefined,\n URI: undefined\n };\n\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n\n if (output[\"EmailAddress\"] !== undefined) {\n contents.EmailAddress = output[\"EmailAddress\"];\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"xsi:type\"] !== undefined) {\n contents.Type = output[\"xsi:type\"];\n }\n\n if (output[\"URI\"] !== undefined) {\n contents.URI = output[\"URI\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlGrants = function deserializeAws_restXmlGrants(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlGrant(entry, context);\n });\n};\n\nvar deserializeAws_restXmlIndexDocument = function deserializeAws_restXmlIndexDocument(output, context) {\n var contents = {\n __type: \"IndexDocument\",\n Suffix: undefined\n };\n\n if (output[\"Suffix\"] !== undefined) {\n contents.Suffix = output[\"Suffix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInitiator = function deserializeAws_restXmlInitiator(output, context) {\n var contents = {\n __type: \"Initiator\",\n DisplayName: undefined,\n ID: undefined\n };\n\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryConfiguration = function deserializeAws_restXmlInventoryConfiguration(output, context) {\n var contents = {\n __type: \"InventoryConfiguration\",\n Destination: undefined,\n Filter: undefined,\n Id: undefined,\n IncludedObjectVersions: undefined,\n IsEnabled: undefined,\n OptionalFields: undefined,\n Schedule: undefined\n };\n\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlInventoryDestination(output[\"Destination\"], context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlInventoryFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"IncludedObjectVersions\"] !== undefined) {\n contents.IncludedObjectVersions = output[\"IncludedObjectVersions\"];\n }\n\n if (output[\"IsEnabled\"] !== undefined) {\n contents.IsEnabled = output[\"IsEnabled\"] == \"true\";\n }\n\n if (output.OptionalFields === \"\") {\n contents.OptionalFields = [];\n }\n\n if (output[\"OptionalFields\"] !== undefined && output[\"OptionalFields\"][\"Field\"] !== undefined) {\n contents.OptionalFields = deserializeAws_restXmlInventoryOptionalFields(__getArrayIfSingleItem(output[\"OptionalFields\"][\"Field\"]), context);\n }\n\n if (output[\"Schedule\"] !== undefined) {\n contents.Schedule = deserializeAws_restXmlInventorySchedule(output[\"Schedule\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryConfigurationList = function deserializeAws_restXmlInventoryConfigurationList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlInventoryConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlInventoryDestination = function deserializeAws_restXmlInventoryDestination(output, context) {\n var contents = {\n __type: \"InventoryDestination\",\n S3BucketDestination: undefined\n };\n\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlInventoryS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryEncryption = function deserializeAws_restXmlInventoryEncryption(output, context) {\n var contents = {\n __type: \"InventoryEncryption\",\n SSEKMS: undefined,\n SSES3: undefined\n };\n\n if (output[\"SSE-KMS\"] !== undefined) {\n contents.SSEKMS = deserializeAws_restXmlSSEKMS(output[\"SSE-KMS\"], context);\n }\n\n if (output[\"SSE-S3\"] !== undefined) {\n contents.SSES3 = deserializeAws_restXmlSSES3(output[\"SSE-S3\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryFilter = function deserializeAws_restXmlInventoryFilter(output, context) {\n var contents = {\n __type: \"InventoryFilter\",\n Prefix: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryOptionalFields = function deserializeAws_restXmlInventoryOptionalFields(output, context) {\n return (output || []).map(function (entry) {\n return entry;\n });\n};\n\nvar deserializeAws_restXmlInventoryS3BucketDestination = function deserializeAws_restXmlInventoryS3BucketDestination(output, context) {\n var contents = {\n __type: \"InventoryS3BucketDestination\",\n AccountId: undefined,\n Bucket: undefined,\n Encryption: undefined,\n Format: undefined,\n Prefix: undefined\n };\n\n if (output[\"AccountId\"] !== undefined) {\n contents.AccountId = output[\"AccountId\"];\n }\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"Encryption\"] !== undefined) {\n contents.Encryption = deserializeAws_restXmlInventoryEncryption(output[\"Encryption\"], context);\n }\n\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventorySchedule = function deserializeAws_restXmlInventorySchedule(output, context) {\n var contents = {\n __type: \"InventorySchedule\",\n Frequency: undefined\n };\n\n if (output[\"Frequency\"] !== undefined) {\n contents.Frequency = output[\"Frequency\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLambdaFunctionConfiguration = function deserializeAws_restXmlLambdaFunctionConfiguration(output, context) {\n var contents = {\n __type: \"LambdaFunctionConfiguration\",\n Events: undefined,\n Filter: undefined,\n Id: undefined,\n LambdaFunctionArn: undefined\n };\n\n if (output.Event === \"\") {\n contents.Events = [];\n }\n\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"CloudFunction\"] !== undefined) {\n contents.LambdaFunctionArn = output[\"CloudFunction\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLambdaFunctionConfigurationList = function deserializeAws_restXmlLambdaFunctionConfigurationList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlLifecycleExpiration = function deserializeAws_restXmlLifecycleExpiration(output, context) {\n var contents = {\n __type: \"LifecycleExpiration\",\n Date: undefined,\n Days: undefined,\n ExpiredObjectDeleteMarker: undefined\n };\n\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n\n if (output[\"ExpiredObjectDeleteMarker\"] !== undefined) {\n contents.ExpiredObjectDeleteMarker = output[\"ExpiredObjectDeleteMarker\"] == \"true\";\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRule = function deserializeAws_restXmlLifecycleRule(output, context) {\n var contents = {\n __type: \"LifecycleRule\",\n AbortIncompleteMultipartUpload: undefined,\n Expiration: undefined,\n Filter: undefined,\n ID: undefined,\n NoncurrentVersionExpiration: undefined,\n NoncurrentVersionTransitions: undefined,\n Prefix: undefined,\n Status: undefined,\n Transitions: undefined\n };\n\n if (output[\"AbortIncompleteMultipartUpload\"] !== undefined) {\n contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload(output[\"AbortIncompleteMultipartUpload\"], context);\n }\n\n if (output[\"Expiration\"] !== undefined) {\n contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output[\"Expiration\"], context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output[\"Filter\"], context);\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"NoncurrentVersionExpiration\"] !== undefined) {\n contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration(output[\"NoncurrentVersionExpiration\"], context);\n }\n\n if (output.NoncurrentVersionTransition === \"\") {\n contents.NoncurrentVersionTransitions = [];\n }\n\n if (output[\"NoncurrentVersionTransition\"] !== undefined) {\n contents.NoncurrentVersionTransitions = deserializeAws_restXmlNoncurrentVersionTransitionList(__getArrayIfSingleItem(output[\"NoncurrentVersionTransition\"]), context);\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output.Transition === \"\") {\n contents.Transitions = [];\n }\n\n if (output[\"Transition\"] !== undefined) {\n contents.Transitions = deserializeAws_restXmlTransitionList(__getArrayIfSingleItem(output[\"Transition\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRuleAndOperator = function deserializeAws_restXmlLifecycleRuleAndOperator(output, context) {\n var contents = {\n __type: \"LifecycleRuleAndOperator\",\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRuleFilter = function deserializeAws_restXmlLifecycleRuleFilter(output, context) {\n var contents = {\n __type: \"LifecycleRuleFilter\",\n And: undefined,\n Prefix: undefined,\n Tag: undefined\n };\n\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlLifecycleRuleAndOperator(output[\"And\"], context);\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRules = function deserializeAws_restXmlLifecycleRules(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlLifecycleRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlLoggingEnabled = function deserializeAws_restXmlLoggingEnabled(output, context) {\n var contents = {\n __type: \"LoggingEnabled\",\n TargetBucket: undefined,\n TargetGrants: undefined,\n TargetPrefix: undefined\n };\n\n if (output[\"TargetBucket\"] !== undefined) {\n contents.TargetBucket = output[\"TargetBucket\"];\n }\n\n if (output.TargetGrants === \"\") {\n contents.TargetGrants = [];\n }\n\n if (output[\"TargetGrants\"] !== undefined && output[\"TargetGrants\"][\"Grant\"] !== undefined) {\n contents.TargetGrants = deserializeAws_restXmlTargetGrants(__getArrayIfSingleItem(output[\"TargetGrants\"][\"Grant\"]), context);\n }\n\n if (output[\"TargetPrefix\"] !== undefined) {\n contents.TargetPrefix = output[\"TargetPrefix\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetrics = function deserializeAws_restXmlMetrics(output, context) {\n var contents = {\n __type: \"Metrics\",\n EventThreshold: undefined,\n Status: undefined\n };\n\n if (output[\"EventThreshold\"] !== undefined) {\n contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output[\"EventThreshold\"], context);\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetricsAndOperator = function deserializeAws_restXmlMetricsAndOperator(output, context) {\n var contents = {\n __type: \"MetricsAndOperator\",\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetricsConfiguration = function deserializeAws_restXmlMetricsConfiguration(output, context) {\n var contents = {\n __type: \"MetricsConfiguration\",\n Filter: undefined,\n Id: undefined\n };\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlMetricsFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetricsConfigurationList = function deserializeAws_restXmlMetricsConfigurationList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlMetricsConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlMetricsFilter = function deserializeAws_restXmlMetricsFilter(output, context) {\n var contents = {\n __type: \"MetricsFilter\",\n And: undefined,\n Prefix: undefined,\n Tag: undefined\n };\n\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlMetricsAndOperator(output[\"And\"], context);\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMultipartUpload = function deserializeAws_restXmlMultipartUpload(output, context) {\n var contents = {\n __type: \"MultipartUpload\",\n Initiated: undefined,\n Initiator: undefined,\n Key: undefined,\n Owner: undefined,\n StorageClass: undefined,\n UploadId: undefined\n };\n\n if (output[\"Initiated\"] !== undefined) {\n contents.Initiated = new Date(output[\"Initiated\"]);\n }\n\n if (output[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(output[\"Initiator\"], context);\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"UploadId\"] !== undefined) {\n contents.UploadId = output[\"UploadId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMultipartUploadList = function deserializeAws_restXmlMultipartUploadList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlMultipartUpload(entry, context);\n });\n};\n\nvar deserializeAws_restXmlNoncurrentVersionExpiration = function deserializeAws_restXmlNoncurrentVersionExpiration(output, context) {\n var contents = {\n __type: \"NoncurrentVersionExpiration\",\n NoncurrentDays: undefined\n };\n\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlNoncurrentVersionTransition = function deserializeAws_restXmlNoncurrentVersionTransition(output, context) {\n var contents = {\n __type: \"NoncurrentVersionTransition\",\n NoncurrentDays: undefined,\n StorageClass: undefined\n };\n\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlNoncurrentVersionTransitionList = function deserializeAws_restXmlNoncurrentVersionTransitionList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlNoncurrentVersionTransition(entry, context);\n });\n};\n\nvar deserializeAws_restXmlNotificationConfigurationFilter = function deserializeAws_restXmlNotificationConfigurationFilter(output, context) {\n var contents = {\n __type: \"NotificationConfigurationFilter\",\n Key: undefined\n };\n\n if (output[\"S3Key\"] !== undefined) {\n contents.Key = deserializeAws_restXmlS3KeyFilter(output[\"S3Key\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXml_Object = function deserializeAws_restXml_Object(output, context) {\n var contents = {\n __type: \"Object\",\n ETag: undefined,\n Key: undefined,\n LastModified: undefined,\n Owner: undefined,\n Size: undefined,\n StorageClass: undefined\n };\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectList = function deserializeAws_restXmlObjectList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXml_Object(entry, context);\n });\n};\n\nvar deserializeAws_restXmlObjectLockConfiguration = function deserializeAws_restXmlObjectLockConfiguration(output, context) {\n var contents = {\n __type: \"ObjectLockConfiguration\",\n ObjectLockEnabled: undefined,\n Rule: undefined\n };\n\n if (output[\"ObjectLockEnabled\"] !== undefined) {\n contents.ObjectLockEnabled = output[\"ObjectLockEnabled\"];\n }\n\n if (output[\"Rule\"] !== undefined) {\n contents.Rule = deserializeAws_restXmlObjectLockRule(output[\"Rule\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectLockLegalHold = function deserializeAws_restXmlObjectLockLegalHold(output, context) {\n var contents = {\n __type: \"ObjectLockLegalHold\",\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectLockRetention = function deserializeAws_restXmlObjectLockRetention(output, context) {\n var contents = {\n __type: \"ObjectLockRetention\",\n Mode: undefined,\n RetainUntilDate: undefined\n };\n\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = output[\"Mode\"];\n }\n\n if (output[\"RetainUntilDate\"] !== undefined) {\n contents.RetainUntilDate = new Date(output[\"RetainUntilDate\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectLockRule = function deserializeAws_restXmlObjectLockRule(output, context) {\n var contents = {\n __type: \"ObjectLockRule\",\n DefaultRetention: undefined\n };\n\n if (output[\"DefaultRetention\"] !== undefined) {\n contents.DefaultRetention = deserializeAws_restXmlDefaultRetention(output[\"DefaultRetention\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectVersion = function deserializeAws_restXmlObjectVersion(output, context) {\n var contents = {\n __type: \"ObjectVersion\",\n ETag: undefined,\n IsLatest: undefined,\n Key: undefined,\n LastModified: undefined,\n Owner: undefined,\n Size: undefined,\n StorageClass: undefined,\n VersionId: undefined\n };\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlObjectVersionList = function deserializeAws_restXmlObjectVersionList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlObjectVersion(entry, context);\n });\n};\n\nvar deserializeAws_restXmlOwner = function deserializeAws_restXmlOwner(output, context) {\n var contents = {\n __type: \"Owner\",\n DisplayName: undefined,\n ID: undefined\n };\n\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlPart = function deserializeAws_restXmlPart(output, context) {\n var contents = {\n __type: \"Part\",\n ETag: undefined,\n LastModified: undefined,\n PartNumber: undefined,\n Size: undefined\n };\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n if (output[\"PartNumber\"] !== undefined) {\n contents.PartNumber = parseInt(output[\"PartNumber\"]);\n }\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlParts = function deserializeAws_restXmlParts(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlPart(entry, context);\n });\n};\n\nvar deserializeAws_restXmlPolicyStatus = function deserializeAws_restXmlPolicyStatus(output, context) {\n var contents = {\n __type: \"PolicyStatus\",\n IsPublic: undefined\n };\n\n if (output[\"IsPublic\"] !== undefined) {\n contents.IsPublic = output[\"IsPublic\"] == \"true\";\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlPublicAccessBlockConfiguration = function deserializeAws_restXmlPublicAccessBlockConfiguration(output, context) {\n var contents = {\n __type: \"PublicAccessBlockConfiguration\",\n BlockPublicAcls: undefined,\n BlockPublicPolicy: undefined,\n IgnorePublicAcls: undefined,\n RestrictPublicBuckets: undefined\n };\n\n if (output[\"BlockPublicAcls\"] !== undefined) {\n contents.BlockPublicAcls = output[\"BlockPublicAcls\"] == \"true\";\n }\n\n if (output[\"BlockPublicPolicy\"] !== undefined) {\n contents.BlockPublicPolicy = output[\"BlockPublicPolicy\"] == \"true\";\n }\n\n if (output[\"IgnorePublicAcls\"] !== undefined) {\n contents.IgnorePublicAcls = output[\"IgnorePublicAcls\"] == \"true\";\n }\n\n if (output[\"RestrictPublicBuckets\"] !== undefined) {\n contents.RestrictPublicBuckets = output[\"RestrictPublicBuckets\"] == \"true\";\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlQueueConfiguration = function deserializeAws_restXmlQueueConfiguration(output, context) {\n var contents = {\n __type: \"QueueConfiguration\",\n Events: undefined,\n Filter: undefined,\n Id: undefined,\n QueueArn: undefined\n };\n\n if (output.Event === \"\") {\n contents.Events = [];\n }\n\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Queue\"] !== undefined) {\n contents.QueueArn = output[\"Queue\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlQueueConfigurationList = function deserializeAws_restXmlQueueConfigurationList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlQueueConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlRedirect = function deserializeAws_restXmlRedirect(output, context) {\n var contents = {\n __type: \"Redirect\",\n HostName: undefined,\n HttpRedirectCode: undefined,\n Protocol: undefined,\n ReplaceKeyPrefixWith: undefined,\n ReplaceKeyWith: undefined\n };\n\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n\n if (output[\"HttpRedirectCode\"] !== undefined) {\n contents.HttpRedirectCode = output[\"HttpRedirectCode\"];\n }\n\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n\n if (output[\"ReplaceKeyPrefixWith\"] !== undefined) {\n contents.ReplaceKeyPrefixWith = output[\"ReplaceKeyPrefixWith\"];\n }\n\n if (output[\"ReplaceKeyWith\"] !== undefined) {\n contents.ReplaceKeyWith = output[\"ReplaceKeyWith\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlRedirectAllRequestsTo = function deserializeAws_restXmlRedirectAllRequestsTo(output, context) {\n var contents = {\n __type: \"RedirectAllRequestsTo\",\n HostName: undefined,\n Protocol: undefined\n };\n\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationConfiguration = function deserializeAws_restXmlReplicationConfiguration(output, context) {\n var contents = {\n __type: \"ReplicationConfiguration\",\n Role: undefined,\n Rules: undefined\n };\n\n if (output[\"Role\"] !== undefined) {\n contents.Role = output[\"Role\"];\n }\n\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlReplicationRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationRule = function deserializeAws_restXmlReplicationRule(output, context) {\n var contents = {\n __type: \"ReplicationRule\",\n DeleteMarkerReplication: undefined,\n Destination: undefined,\n ExistingObjectReplication: undefined,\n Filter: undefined,\n ID: undefined,\n Prefix: undefined,\n Priority: undefined,\n SourceSelectionCriteria: undefined,\n Status: undefined\n };\n\n if (output[\"DeleteMarkerReplication\"] !== undefined) {\n contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(output[\"DeleteMarkerReplication\"], context);\n }\n\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlDestination(output[\"Destination\"], context);\n }\n\n if (output[\"ExistingObjectReplication\"] !== undefined) {\n contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(output[\"ExistingObjectReplication\"], context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlReplicationRuleFilter(output[\"Filter\"], context);\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Priority\"] !== undefined) {\n contents.Priority = parseInt(output[\"Priority\"]);\n }\n\n if (output[\"SourceSelectionCriteria\"] !== undefined) {\n contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(output[\"SourceSelectionCriteria\"], context);\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationRuleAndOperator = function deserializeAws_restXmlReplicationRuleAndOperator(output, context) {\n var contents = {\n __type: \"ReplicationRuleAndOperator\",\n Prefix: undefined,\n Tags: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationRuleFilter = function deserializeAws_restXmlReplicationRuleFilter(output, context) {\n var contents = {\n __type: \"ReplicationRuleFilter\",\n And: undefined,\n Prefix: undefined,\n Tag: undefined\n };\n\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlReplicationRuleAndOperator(output[\"And\"], context);\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationRules = function deserializeAws_restXmlReplicationRules(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlReplicationRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlReplicationTime = function deserializeAws_restXmlReplicationTime(output, context) {\n var contents = {\n __type: \"ReplicationTime\",\n Status: undefined,\n Time: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output[\"Time\"] !== undefined) {\n contents.Time = deserializeAws_restXmlReplicationTimeValue(output[\"Time\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationTimeValue = function deserializeAws_restXmlReplicationTimeValue(output, context) {\n var contents = {\n __type: \"ReplicationTimeValue\",\n Minutes: undefined\n };\n\n if (output[\"Minutes\"] !== undefined) {\n contents.Minutes = parseInt(output[\"Minutes\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlRoutingRule = function deserializeAws_restXmlRoutingRule(output, context) {\n var contents = {\n __type: \"RoutingRule\",\n Condition: undefined,\n Redirect: undefined\n };\n\n if (output[\"Condition\"] !== undefined) {\n contents.Condition = deserializeAws_restXmlCondition(output[\"Condition\"], context);\n }\n\n if (output[\"Redirect\"] !== undefined) {\n contents.Redirect = deserializeAws_restXmlRedirect(output[\"Redirect\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlRoutingRules = function deserializeAws_restXmlRoutingRules(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlRoutingRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlS3KeyFilter = function deserializeAws_restXmlS3KeyFilter(output, context) {\n var contents = {\n __type: \"S3KeyFilter\",\n FilterRules: undefined\n };\n\n if (output.FilterRule === \"\") {\n contents.FilterRules = [];\n }\n\n if (output[\"FilterRule\"] !== undefined) {\n contents.FilterRules = deserializeAws_restXmlFilterRuleList(__getArrayIfSingleItem(output[\"FilterRule\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlSSEKMS = function deserializeAws_restXmlSSEKMS(output, context) {\n var contents = {\n __type: \"SSEKMS\",\n KeyId: undefined\n };\n\n if (output[\"KeyId\"] !== undefined) {\n contents.KeyId = output[\"KeyId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlSSES3 = function deserializeAws_restXmlSSES3(output, context) {\n var contents = {\n __type: \"SSES3\"\n };\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionByDefault = function deserializeAws_restXmlServerSideEncryptionByDefault(output, context) {\n var contents = {\n __type: \"ServerSideEncryptionByDefault\",\n KMSMasterKeyID: undefined,\n SSEAlgorithm: undefined\n };\n\n if (output[\"KMSMasterKeyID\"] !== undefined) {\n contents.KMSMasterKeyID = output[\"KMSMasterKeyID\"];\n }\n\n if (output[\"SSEAlgorithm\"] !== undefined) {\n contents.SSEAlgorithm = output[\"SSEAlgorithm\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionConfiguration = function deserializeAws_restXmlServerSideEncryptionConfiguration(output, context) {\n var contents = {\n __type: \"ServerSideEncryptionConfiguration\",\n Rules: undefined\n };\n\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlServerSideEncryptionRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionRule = function deserializeAws_restXmlServerSideEncryptionRule(output, context) {\n var contents = {\n __type: \"ServerSideEncryptionRule\",\n ApplyServerSideEncryptionByDefault: undefined\n };\n\n if (output[\"ApplyServerSideEncryptionByDefault\"] !== undefined) {\n contents.ApplyServerSideEncryptionByDefault = deserializeAws_restXmlServerSideEncryptionByDefault(output[\"ApplyServerSideEncryptionByDefault\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionRules = function deserializeAws_restXmlServerSideEncryptionRules(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlServerSideEncryptionRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlSourceSelectionCriteria = function deserializeAws_restXmlSourceSelectionCriteria(output, context) {\n var contents = {\n __type: \"SourceSelectionCriteria\",\n SseKmsEncryptedObjects: undefined\n };\n\n if (output[\"SseKmsEncryptedObjects\"] !== undefined) {\n contents.SseKmsEncryptedObjects = deserializeAws_restXmlSseKmsEncryptedObjects(output[\"SseKmsEncryptedObjects\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlSseKmsEncryptedObjects = function deserializeAws_restXmlSseKmsEncryptedObjects(output, context) {\n var contents = {\n __type: \"SseKmsEncryptedObjects\",\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlStorageClassAnalysis = function deserializeAws_restXmlStorageClassAnalysis(output, context) {\n var contents = {\n __type: \"StorageClassAnalysis\",\n DataExport: undefined\n };\n\n if (output[\"DataExport\"] !== undefined) {\n contents.DataExport = deserializeAws_restXmlStorageClassAnalysisDataExport(output[\"DataExport\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlStorageClassAnalysisDataExport = function deserializeAws_restXmlStorageClassAnalysisDataExport(output, context) {\n var contents = {\n __type: \"StorageClassAnalysisDataExport\",\n Destination: undefined,\n OutputSchemaVersion: undefined\n };\n\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output[\"Destination\"], context);\n }\n\n if (output[\"OutputSchemaVersion\"] !== undefined) {\n contents.OutputSchemaVersion = output[\"OutputSchemaVersion\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTag = function deserializeAws_restXmlTag(output, context) {\n var contents = {\n __type: \"Tag\",\n Key: undefined,\n Value: undefined\n };\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTagSet = function deserializeAws_restXmlTagSet(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlTag(entry, context);\n });\n};\n\nvar deserializeAws_restXmlTargetGrant = function deserializeAws_restXmlTargetGrant(output, context) {\n var contents = {\n __type: \"TargetGrant\",\n Grantee: undefined,\n Permission: undefined\n };\n\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = output[\"Permission\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTargetGrants = function deserializeAws_restXmlTargetGrants(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlTargetGrant(entry, context);\n });\n};\n\nvar deserializeAws_restXmlTopicConfiguration = function deserializeAws_restXmlTopicConfiguration(output, context) {\n var contents = {\n __type: \"TopicConfiguration\",\n Events: undefined,\n Filter: undefined,\n Id: undefined,\n TopicArn: undefined\n };\n\n if (output.Event === \"\") {\n contents.Events = [];\n }\n\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Topic\"] !== undefined) {\n contents.TopicArn = output[\"Topic\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTopicConfigurationList = function deserializeAws_restXmlTopicConfigurationList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlTopicConfiguration(entry, context);\n });\n};\n\nvar deserializeAws_restXmlTransition = function deserializeAws_restXmlTransition(output, context) {\n var contents = {\n __type: \"Transition\",\n Date: undefined,\n Days: undefined,\n StorageClass: undefined\n };\n\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTransitionList = function deserializeAws_restXmlTransitionList(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlTransition(entry, context);\n });\n};\n\nvar deserializeMetadata = function deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n httpHeaders: output.headers,\n requestId: output.headers[\"x-amzn-requestid\"]\n };\n}; // Collect low-level response body stream to Uint8Array.\n\n\nvar collectBody = function collectBody(streamBody, context) {\n if (streamBody === void 0) {\n streamBody = new Uint8Array();\n }\n\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n}; // Encode Uint8Array data into string with utf-8.\n\n\nvar collectBodyString = function collectBodyString(streamBody, context) {\n return collectBody(streamBody, context).then(function (body) {\n return context.utf8Encoder(body);\n });\n};\n\nvar isSerializableHeaderValue = function isSerializableHeaderValue(value) {\n return value !== undefined && value !== \"\" && (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\n};\n\nvar decodeEscapedXML = function decodeEscapedXML(str) {\n return str.replace(/&/g, \"&\").replace(/'/g, \"'\").replace(/"/g, '\"').replace(/>/g, \">\").replace(/</g, \"<\");\n};\n\nvar parseBody = function parseBody(streamBody, context) {\n return collectBodyString(streamBody, context).then(function (encoded) {\n if (encoded.length) {\n var parsedObj = xmlParse(encoded, {\n attributeNamePrefix: \"\",\n ignoreAttributes: false,\n parseNodeValue: false,\n tagValueProcessor: function tagValueProcessor(val, tagName) {\n return decodeEscapedXML(val);\n }\n });\n var textNodeName = \"#text\";\n var key = Object.keys(parsedObj)[0];\n var parsedObjToReturn = parsedObj[key];\n\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n\n return __getValueFromTextNode(parsedObjToReturn);\n }\n\n return {};\n });\n};\n\nvar loadRestXmlErrorCode = function loadRestXmlErrorCode(output, data) {\n if (data.Code !== undefined) {\n return data.Code;\n }\n\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n\n return \"\";\n};"],"sourceRoot":""}