{"version":3,"sources":["webpack://@microsites/inh0018-web/./node_modules/babel-loader/shared_ui/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","ExpectedBucketOwner","undefined","Key","Error","length","replace","split","map","segment","join","Bucket","UploadId","uploadId","endpoint","sent","method","path","body","serializeAws_restXmlCompleteMultipartUploadCommand","contents","MultipartUpload","serializeAws_restXmlCompletedMultipartUpload","addAttribute","toString","serializeAws_restXmlCreateMultipartUploadCommand","GrantFullControl","SSECustomerKeyMD5","SSECustomerAlgorithm","SSEKMSKeyId","ObjectLockLegalHoldStatus","GrantRead","GrantWriteACP","WebsiteRedirectLocation","ContentType","ContentLanguage","CacheControl","GrantReadACP","Tagging","SSEKMSEncryptionContext","ACL","SSECustomerKey","Expires","ObjectLockRetainUntilDate","toISOString","ServerSideEncryption","ContentDisposition","ObjectLockMode","StorageClass","ContentEncoding","Metadata","Object","keys","reduce","acc","suffix","uploads","serializeAws_restXmlDeleteObjectCommand","MFA","BypassGovernanceRetention","VersionId","versionId","serializeAws_restXmlGetObjectCommand","IfUnmodifiedSince","IfModifiedSince","IfNoneMatch","IfMatch","Range","ResponseContentEncoding","ResponseCacheControl","ResponseContentLanguage","ResponseContentDisposition","PartNumber","partNumber","ResponseExpires","ResponseContentType","serializeAws_restXmlListObjectsCommand","MaxKeys","Marker","marker","Prefix","prefix","Delimiter","delimiter","EncodingType","serializeAws_restXmlListPartsCommand","MaxParts","PartNumberMarker","serializeAws_restXmlPutObjectCommand","ContentLength","ContentMD5","Body","serializeAws_restXmlUploadPartCommand","deserializeAws_restXmlAbortMultipartUploadCommand","output","statusCode","deserializeAws_restXmlAbortMultipartUploadCommandError","$metadata","deserializeMetadata","RequestCharged","collectBody","Promise","resolve","parsedOutput","response","errorCode","parsedBody","message","_d","_e","parseBody","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","ID","DisplayName","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","textNodeName"],"mappings":"8oBAKWA,EAAkD,SAAyDC,EAAOC,GAC3H,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAA0BC,EAAYC,EAAaC,EAAIC,EAAUC,EAAIC,EAAUC,EAE5F,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAUH,GATAX,GAAU,SAAS,QAAS,CAC1B,eAAgB,IACfY,EAA0Bd,EAAMe,eAAiB,CAClD,sBAAuBf,EAAMe,eAC3BD,EAA0Bd,EAAMgB,sBAAwB,CAC1D,8BAA+BhB,EAAMgB,sBAEvCb,EAAe,wBAEGc,IAAdjB,EAAMkB,IAWR,MAAM,IAAIC,MAAM,gDARhB,IAFAf,EAAaJ,EAAMkB,KAEJE,QAAU,EACvB,MAAM,IAAID,MAAM,mDAUpB,GAPEhB,EAAeA,EAAakB,QAAQ,SAAUjB,EAAWkB,MAAM,KAAKC,KAAI,SAAUC,GAChF,OAAO,QAA6BA,MACnCC,KAAK,WAKWR,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAapB,OAVEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,IAK/EC,GAAQ,QAAS,CACf,OAAQ,6BACYY,IAAnBjB,EAAM2B,UAA0B,CACjCC,SAAU5B,EAAM2B,WAEX,CAAC,EAEN1B,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,SACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KA7DkDA,qBAmEnDC,EAAqD,SAA4DlC,EAAOC,GACjI,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAA0BC,EAAYC,EAAO4B,EAAME,EAAU7B,EAAIC,EAAUC,EAAIC,EAAUC,EAEtG,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAUH,GATAX,GAAU,SAAS,QAAS,CAC1B,eAAgB,mBACfY,EAA0Bd,EAAMgB,sBAAwB,CACzD,8BAA+BhB,EAAMgB,sBACnCF,EAA0Bd,EAAMe,eAAiB,CACnD,sBAAuBf,EAAMe,eAE/BZ,EAAe,wBAEGc,IAAdjB,EAAMkB,IAWR,MAAM,IAAIC,MAAM,gDARhB,IAFAf,EAAaJ,EAAMkB,KAEJE,QAAU,EACvB,MAAM,IAAID,MAAM,mDAUpB,GAPEhB,EAAeA,EAAakB,QAAQ,SAAUjB,EAAWkB,MAAM,KAAKC,KAAI,SAAUC,GAChF,OAAO,QAA6BA,MACnCC,KAAK,WAKWR,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAmBpB,OAhBEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,IAK/EC,GAAQ,QAAS,QAAuBY,IAAnBjB,EAAM2B,UAA0B,CACnDC,SAAU5B,EAAM2B,gBAGYV,IAA1BjB,EAAMoC,kBACRD,EAAWE,EAA6CrC,EAAMoC,gBAAiBnC,GAC/EgC,EAAO,yCACPE,EAASG,aAAa,QAAS,2CAC/BL,GAAQE,EAASI,YAGZ,CAAC,EAENtC,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,OACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KAAMA,aAkNPO,EAAmD,SAA0DxC,EAAOC,GAC7H,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAA0BC,EAAYC,EAAaC,EAAIC,EAAUC,EAAIC,EAAUC,EAE5F,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EA2DH,GA1DAX,GAAU,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,QAAS,CAClP,eAAgB,IACfY,EAA0Bd,EAAMyC,mBAAqB,CACtD,2BAA4BzC,EAAMyC,mBAChC3B,EAA0Bd,EAAM0C,oBAAsB,CACxD,gDAAiD1C,EAAM0C,oBACrD5B,EAA0Bd,EAAM2C,uBAAyB,CAC3D,kDAAmD3C,EAAM2C,uBACvD7B,EAA0Bd,EAAM4C,cAAgB,CAClD,8CAA+C5C,EAAM4C,cACnD9B,EAA0Bd,EAAM6C,4BAA8B,CAChE,+BAAgC7C,EAAM6C,4BACpC/B,EAA0Bd,EAAMe,eAAiB,CACnD,sBAAuBf,EAAMe,eAC3BD,EAA0Bd,EAAM8C,YAAc,CAChD,mBAAoB9C,EAAM8C,YACxBhC,EAA0Bd,EAAM+C,gBAAkB,CACpD,wBAAyB/C,EAAM+C,gBAC7BjC,EAA0Bd,EAAMgD,0BAA4B,CAC9D,kCAAmChD,EAAMgD,0BACvClC,EAA0Bd,EAAMiD,cAAgB,CAClD,eAAgBjD,EAAMiD,cACpBnC,EAA0Bd,EAAMkD,kBAAoB,CACtD,mBAAoBlD,EAAMkD,kBACxBpC,EAA0Bd,EAAMmD,eAAiB,CACnD,gBAAiBnD,EAAMmD,eACrBrC,EAA0Bd,EAAMoD,eAAiB,CACnD,uBAAwBpD,EAAMoD,eAC5BtC,EAA0Bd,EAAMqD,UAAY,CAC9C,gBAAiBrD,EAAMqD,UACrBvC,EAA0Bd,EAAMsD,0BAA4B,CAC9D,uCAAwCtD,EAAMsD,0BAC5CxC,EAA0Bd,EAAMuD,MAAQ,CAC1C,YAAavD,EAAMuD,MACjBzC,EAA0Bd,EAAMwD,iBAAmB,CACrD,4CAA6CxD,EAAMwD,iBACjD1C,EAA0Bd,EAAMgB,sBAAwB,CAC1D,8BAA+BhB,EAAMgB,sBACnCF,EAA0Bd,EAAMyD,UAAY,CAC9CA,SAAS,QAAkBzD,EAAMyD,SAASlB,aACxCzB,EAA0Bd,EAAM0D,4BAA8B,CAChE,uCAAwC1D,EAAM0D,0BAA0BC,cAAcrC,MAAM,KAAK,GAAK,KAAKiB,aACzGzB,EAA0Bd,EAAM4D,uBAAyB,CAC3D,+BAAgC5D,EAAM4D,uBACpC9C,EAA0Bd,EAAM6D,qBAAuB,CACzD,sBAAuB7D,EAAM6D,qBAC3B/C,EAA0Bd,EAAM8D,iBAAmB,CACrD,yBAA0B9D,EAAM8D,iBAC9BhD,EAA0Bd,EAAM+D,eAAiB,CACnD,sBAAuB/D,EAAM+D,eAC3BjD,EAA0Bd,EAAMgE,kBAAoB,CACtD,mBAAoBhE,EAAMgE,uBACL/C,IAAnBjB,EAAMiE,UAA0BC,OAAOC,KAAKnE,EAAMiE,UAAUG,QAAO,SAAUC,EAAKC,GAEpF,OADAD,EAAI,cAAgBC,GAAUtE,EAAMiE,SAASK,GACtCD,IACN,KACHlE,EAAe,wBAEMc,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAQpB,GALEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,SAK7Da,IAAdjB,EAAMkB,IAWR,MAAM,IAAIC,MAAM,gDARhB,IAFAf,EAAaJ,EAAMkB,KAEJE,QAAU,EACvB,MAAM,IAAID,MAAM,mDAapB,OAVEhB,EAAeA,EAAakB,QAAQ,SAAUjB,EAAWkB,MAAM,KAAKC,KAAI,SAAUC,GAChF,OAAO,QAA6BA,MACnCC,KAAK,MAKVpB,EAAQ,CACNkE,QAAS,IAEJ,CAAC,EAENtE,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,OACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KA5GkDA,qBAwtBnDuC,EAA0C,SAAiDxE,EAAOC,GAC3G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAA0BC,EAAYC,EAAaC,EAAIC,EAAUC,EAAIC,EAAUC,EAE5F,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAcH,GAbAX,GAAU,SAAS,SAAS,SAAS,QAAS,CAC5C,eAAgB,IACfY,EAA0Bd,EAAMyE,MAAQ,CACzC,YAAazE,EAAMyE,MACjB3D,EAA0Bd,EAAMgB,sBAAwB,CAC1D,8BAA+BhB,EAAMgB,sBACnCF,EAA0Bd,EAAM0E,4BAA8B,CAChE,oCAAqC1E,EAAM0E,0BAA0BnC,aACnEzB,EAA0Bd,EAAMe,eAAiB,CACnD,sBAAuBf,EAAMe,eAE/BZ,EAAe,wBAEMc,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAQpB,GALEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,SAK7Da,IAAdjB,EAAMkB,IAWR,MAAM,IAAIC,MAAM,gDARhB,IAFAf,EAAaJ,EAAMkB,KAEJE,QAAU,EACvB,MAAM,IAAID,MAAM,mDAepB,OAZEhB,EAAeA,EAAakB,QAAQ,SAAUjB,EAAWkB,MAAM,KAAKC,KAAI,SAAUC,GAChF,OAAO,QAA6BA,MACnCC,KAAK,MAKVpB,GAAQ,QAAS,CACf,OAAQ,qBACaY,IAApBjB,EAAM2E,WAA2B,CAClCC,UAAW5E,EAAM2E,YAEZ,CAAC,EAEN1E,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,SACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KAjEkDA,qBAgtCnD4C,EAAuC,SAA8C7E,EAAOC,GACrG,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAA0BC,EAAYC,EAAaC,EAAIC,EAAUC,EAAIC,EAAUC,EAE5F,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EA0BH,GAzBAX,GAAU,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,QAAS,CAClG,eAAgB,IACfY,EAA0Bd,EAAMwD,iBAAmB,CACpD,4CAA6CxD,EAAMwD,iBACjD1C,EAA0Bd,EAAM2C,uBAAyB,CAC3D,kDAAmD3C,EAAM2C,uBACvD7B,EAA0Bd,EAAM0C,oBAAsB,CACxD,gDAAiD1C,EAAM0C,oBACrD5B,EAA0Bd,EAAMe,eAAiB,CACnD,sBAAuBf,EAAMe,eAC3BD,EAA0Bd,EAAMgB,sBAAwB,CAC1D,8BAA+BhB,EAAMgB,sBACnCF,EAA0Bd,EAAM8E,oBAAsB,CACxD,uBAAuB,QAAkB9E,EAAM8E,mBAAmBvC,aAChEzB,EAA0Bd,EAAM+E,kBAAoB,CACtD,qBAAqB,QAAkB/E,EAAM+E,iBAAiBxC,aAC5DzB,EAA0Bd,EAAMgF,cAAgB,CAClD,gBAAiBhF,EAAMgF,cACrBlE,EAA0Bd,EAAMiF,UAAY,CAC9C,WAAYjF,EAAMiF,UAChBnE,EAA0Bd,EAAMkF,QAAU,CAC5CA,MAAOlF,EAAMkF,QAEf/E,EAAe,wBAEMc,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAQpB,GALEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,SAK7Da,IAAdjB,EAAMkB,IAWR,MAAM,IAAIC,MAAM,gDARhB,IAFAf,EAAaJ,EAAMkB,KAEJE,QAAU,EACvB,MAAM,IAAID,MAAM,mDA6BpB,OA1BEhB,EAAeA,EAAakB,QAAQ,SAAUjB,EAAWkB,MAAM,KAAKC,KAAI,SAAUC,GAChF,OAAO,QAA6BA,MACnCC,KAAK,MAKVpB,GAAQ,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,QAAS,CAC9E,OAAQ,kBAC2BY,IAAlCjB,EAAMmF,yBAAyC,CAChD,4BAA6BnF,EAAMmF,+BACFlE,IAA/BjB,EAAMoF,sBAAsC,CAC9C,yBAA0BpF,EAAMoF,4BACInE,IAAlCjB,EAAMqF,yBAAyC,CACjD,4BAA6BrF,EAAMqF,+BACIpE,IAArCjB,EAAMsF,4BAA4C,CACpD,+BAAgCtF,EAAMsF,kCACfrE,IAArBjB,EAAMuF,YAA4B,CACpCC,WAAYxF,EAAMuF,WAAWhD,kBACPtB,IAApBjB,EAAM2E,WAA2B,CACnCC,UAAW5E,EAAM2E,iBACW1D,IAA1BjB,EAAMyF,iBAAiC,CACzC,oBAAqBzF,EAAMyF,gBAAgB9B,cAAcrC,MAAM,KAAK,GAAK,KAAKiB,kBAC9CtB,IAA9BjB,EAAM0F,qBAAqC,CAC7C,wBAAyB1F,EAAM0F,sBAE1B,CAAC,EAENzF,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,MACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KA3FkDA,qBAk6BnD0D,EAAyC,SAAgD3F,EAAOC,GACzG,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAAcC,EAAYC,EAAaC,EAAIC,EAAUC,EAAIC,EAAUC,EAEhF,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAUH,GATAX,GAAU,SAAS,QAAS,CAC1B,eAAgB,IACfY,EAA0Bd,EAAMgB,sBAAwB,CACzD,8BAA+BhB,EAAMgB,sBACnCF,EAA0Bd,EAAMe,eAAiB,CACnD,sBAAuBf,EAAMe,eAE/BZ,EAAe,iBAEMc,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAmBpB,OAhBEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,IAK/EC,GAAQ,SAAS,SAAS,SAAS,SAAS,QAAS,QAAsBY,IAAlBjB,EAAM4F,SAAyB,CACtF,WAAY5F,EAAM4F,QAAQrD,kBACPtB,IAAjBjB,EAAM6F,QAAwB,CAChCC,OAAQ9F,EAAM6F,cACK5E,IAAjBjB,EAAM+F,QAAwB,CAChCC,OAAQhG,EAAM+F,cACQ9E,IAApBjB,EAAMiG,WAA2B,CACnCC,UAAWlG,EAAMiG,iBACQhF,IAAvBjB,EAAMmG,cAA8B,CACtC,gBAAiBnG,EAAMmG,eAElB,CAAC,EAENlG,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,MACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KArDsCA,qBA6LvCmE,EAAuC,SAA8CpG,EAAOC,GACrG,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAA0BC,EAAYC,EAAaC,EAAIC,EAAUC,EAAIC,EAAUC,EAE5F,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAUH,GATAX,GAAU,SAAS,QAAS,CAC1B,eAAgB,IACfY,EAA0Bd,EAAMe,eAAiB,CAClD,sBAAuBf,EAAMe,eAC3BD,EAA0Bd,EAAMgB,sBAAwB,CAC1D,8BAA+BhB,EAAMgB,sBAEvCb,EAAe,wBAEMc,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAQpB,GALEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,SAK7Da,IAAdjB,EAAMkB,IAWR,MAAM,IAAIC,MAAM,gDARhB,IAFAf,EAAaJ,EAAMkB,KAEJE,QAAU,EACvB,MAAM,IAAID,MAAM,mDAmBpB,OAhBEhB,EAAeA,EAAakB,QAAQ,SAAUjB,EAAWkB,MAAM,KAAKC,KAAI,SAAUC,GAChF,OAAO,QAA6BA,MACnCC,KAAK,MAKVpB,GAAQ,SAAS,SAAS,QAAS,CACjC,OAAQ,kBACYY,IAAnBjB,EAAM2B,UAA0B,CACjCC,SAAU5B,EAAM2B,gBACKV,IAAnBjB,EAAMqG,UAA0B,CAClC,YAAarG,EAAMqG,SAAS9D,kBACCtB,IAA3BjB,EAAMsG,kBAAkC,CAC1C,qBAAsBtG,EAAMsG,iBAAiB/D,aAExC,CAAC,EAENtC,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,MACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KAjEkDA,qBAkmCnDsE,EAAuC,SAA8CvG,EAAOC,GACrG,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAA0BC,EAAYC,EAAO4B,EAAME,EAAU7B,EAAIC,EAAUC,EAAIC,EAAUC,EAEtG,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EA+DH,GA9DAX,GAAU,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,QAAS,CACpQ,eAAgB,4BACfY,EAA0Bd,EAAMyC,mBAAqB,CACtD,2BAA4BzC,EAAMyC,mBAChC3B,EAA0Bd,EAAMgE,kBAAoB,CACtD,mBAAoBhE,EAAMgE,kBACxBlD,EAA0Bd,EAAMe,eAAiB,CACnD,sBAAuBf,EAAMe,eAC3BD,EAA0Bd,EAAMoD,eAAiB,CACnD,uBAAwBpD,EAAMoD,eAC5BtC,EAA0Bd,EAAM0C,oBAAsB,CACxD,gDAAiD1C,EAAM0C,oBACrD5B,EAA0Bd,EAAMmD,eAAiB,CACnD,gBAAiBnD,EAAMmD,eACrBrC,EAA0Bd,EAAMgD,0BAA4B,CAC9D,kCAAmChD,EAAMgD,0BACvClC,EAA0Bd,EAAM6C,4BAA8B,CAChE,+BAAgC7C,EAAM6C,4BACpC/B,EAA0Bd,EAAM+C,gBAAkB,CACpD,wBAAyB/C,EAAM+C,gBAC7BjC,EAA0Bd,EAAMwG,gBAAkB,CACpD,iBAAkBxG,EAAMwG,cAAcjE,aACpCzB,EAA0Bd,EAAM0D,4BAA8B,CAChE,uCAAwC1D,EAAM0D,0BAA0BC,cAAcrC,MAAM,KAAK,GAAK,KAAKiB,aACzGzB,EAA0Bd,EAAM2C,uBAAyB,CAC3D,kDAAmD3C,EAAM2C,uBACvD7B,EAA0Bd,EAAM6D,qBAAuB,CACzD,sBAAuB7D,EAAM6D,qBAC3B/C,EAA0Bd,EAAMwD,iBAAmB,CACrD,4CAA6CxD,EAAMwD,iBACjD1C,EAA0Bd,EAAMsD,0BAA4B,CAC9D,uCAAwCtD,EAAMsD,0BAC5CxC,EAA0Bd,EAAMqD,UAAY,CAC9C,gBAAiBrD,EAAMqD,UACrBvC,EAA0Bd,EAAMyD,UAAY,CAC9CA,SAAS,QAAkBzD,EAAMyD,SAASlB,aACxCzB,EAA0Bd,EAAM+D,eAAiB,CACnD,sBAAuB/D,EAAM+D,eAC3BjD,EAA0Bd,EAAMgB,sBAAwB,CAC1D,8BAA+BhB,EAAMgB,sBACnCF,EAA0Bd,EAAMyG,aAAe,CACjD,cAAezG,EAAMyG,aACnB3F,EAA0Bd,EAAM4D,uBAAyB,CAC3D,+BAAgC5D,EAAM4D,uBACpC9C,EAA0Bd,EAAM8D,iBAAmB,CACrD,yBAA0B9D,EAAM8D,iBAC9BhD,EAA0Bd,EAAM4C,cAAgB,CAClD,8CAA+C5C,EAAM4C,cACnD9B,EAA0Bd,EAAMkD,kBAAoB,CACtD,mBAAoBlD,EAAMkD,kBACxBpC,EAA0Bd,EAAM8C,YAAc,CAChD,mBAAoB9C,EAAM8C,YACxBhC,EAA0Bd,EAAMuD,MAAQ,CAC1C,YAAavD,EAAMuD,MACjBzC,EAA0Bd,EAAMiD,cAAgB,CAClD,eAAgBjD,EAAMiD,mBACDhC,IAAnBjB,EAAMiE,UAA0BC,OAAOC,KAAKnE,EAAMiE,UAAUG,QAAO,SAAUC,EAAKC,GAEpF,OADAD,EAAI,cAAgBC,GAAUtE,EAAMiE,SAASK,GACtCD,IACN,KACHlE,EAAe,wBAEMc,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAQpB,GALEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,SAK7Da,IAAdjB,EAAMkB,IAWR,MAAM,IAAIC,MAAM,gDARhB,IAFAf,EAAaJ,EAAMkB,KAEJE,QAAU,EACvB,MAAM,IAAID,MAAM,mDAmBpB,OAhBEhB,EAAeA,EAAakB,QAAQ,SAAUjB,EAAWkB,MAAM,KAAKC,KAAI,SAAUC,GAChF,OAAO,QAA6BA,MACnCC,KAAK,MAKVpB,EAAQ,CACN,OAAQ,kBAGSY,IAAfjB,EAAM0G,OACRvE,EAAWnC,EAAM0G,KACjBzE,EAAOE,GAGF,CAAC,EAENlC,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,MACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KAAMA,aAooBP0E,EAAwC,SAA+C3G,EAAOC,GACvG,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIC,EAASC,EAA0BC,EAAYC,EAAO4B,EAAME,EAAU7B,EAAIC,EAAUC,EAAIC,EAAUC,EAEtG,OAAO,QAAYC,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAoBH,GAnBAX,GAAU,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,QAAS,CACvE,eAAgB,4BACfY,EAA0Bd,EAAMgB,sBAAwB,CACzD,8BAA+BhB,EAAMgB,sBACnCF,EAA0Bd,EAAMe,eAAiB,CACnD,sBAAuBf,EAAMe,eAC3BD,EAA0Bd,EAAMwG,gBAAkB,CACpD,iBAAkBxG,EAAMwG,cAAcjE,aACpCzB,EAA0Bd,EAAMwD,iBAAmB,CACrD,4CAA6CxD,EAAMwD,iBACjD1C,EAA0Bd,EAAM2C,uBAAyB,CAC3D,kDAAmD3C,EAAM2C,uBACvD7B,EAA0Bd,EAAM0C,oBAAsB,CACxD,gDAAiD1C,EAAM0C,oBACrD5B,EAA0Bd,EAAMyG,aAAe,CACjD,cAAezG,EAAMyG,aAEvBtG,EAAe,wBAEMc,IAAjBjB,EAAM0B,OASR,MAAM,IAAIP,MAAM,mDANhB,IAFAf,EAAaJ,EAAM0B,QAEJN,QAAU,EACvB,MAAM,IAAID,MAAM,sDAQpB,GALEhB,EAAeA,EAAakB,QAAQ,YAAY,QAA6BjB,SAK7Da,IAAdjB,EAAMkB,IAWR,MAAM,IAAIC,MAAM,gDARhB,IAFAf,EAAaJ,EAAMkB,KAEJE,QAAU,EACvB,MAAM,IAAID,MAAM,mDAuBpB,OApBEhB,EAAeA,EAAakB,QAAQ,SAAUjB,EAAWkB,MAAM,KAAKC,KAAI,SAAUC,GAChF,OAAO,QAA6BA,MACnCC,KAAK,MAKVpB,GAAQ,SAAS,QAAS,CACxB,OAAQ,mBACcY,IAArBjB,EAAMuF,YAA4B,CACnCC,WAAYxF,EAAMuF,WAAWhD,kBACRtB,IAAnBjB,EAAM2B,UAA0B,CAClCC,SAAU5B,EAAM2B,gBAGCV,IAAfjB,EAAM0G,OACRvE,EAAWnC,EAAM0G,KACjBzE,EAAOE,GAGF,CAAC,EAENlC,EAAQ4B,YAEZ,KAAK,EAEH,OADAvB,EAAKM,EAAGkB,OAAQvB,EAAWD,EAAGC,SAAUC,EAAKF,EAAGG,SAAUA,OAAkB,IAAPD,EAAgB,QAAUA,EAAIE,EAAOJ,EAAGI,KACtG,CAAC,EAEN,IAAI,KAAc,CAClBD,SAAUA,EACVF,SAAUA,EACVG,KAAMA,EACNqB,OAAQ,MACR7B,QAASA,EACT8B,KAAM7B,EACNE,MAAOA,EACP4B,KAAMA,aAuGP2E,EAAoD,SAA2DC,EAAQ5G,GAChI,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EACJ,OAAO,QAAYxB,MAAM,SAAUL,GACjC,OAAQA,EAAGO,OACT,KAAK,EACH,OAA0B,MAAtBgG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAENC,EAAuDF,EAAQ5G,KAGnEkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/BK,oBAAgBjG,QAG8BA,IAA5C4F,EAAO3G,QAAQ,2BACjBiC,EAAS+E,eAAiBL,EAAO3G,QAAQ,0BAGpC,CAAC,EAENiH,EAAYN,EAAO5E,KAAMhC,KAE7B,KAAK,EAGH,OAFAK,EAAGwB,OAEI,CAAC,EAENsF,QAAQC,QAAQlF,YAMxB4E,EAAyD,SAAgEF,EAAQ5G,GACnI,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAe5G,EAAI6G,EAAYC,EAE3DC,EAEJ,OAAO,QAAYhH,MAAM,SAAUiH,GACjC,OAAQA,EAAG/G,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBc,EAAK,GACE,CAAC,EAENE,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAMH,OALAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEH,EAAG1F,KAAO2F,EAAG9F,OAAQ6F,MACvEH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MACjDuF,GAGH,IAAK,eAKL,IAAK,gCACH,MAAO,CAAC,EAEN,GAGN,MAAO,CAAC,EAEN,GAEJ,KAAK,EAEH,OADA5G,EAAK,CAAC,IACC,CAAC,EAENoH,EAA2CV,EAAcrH,IAE7D,KAAK,EAKH,OAJAsH,EAAW,gBAAe,EAAQ,CAAC,gBAAe,EAAQ3G,EAAGkH,OAAO,CAACF,EAAG9F,UAAW,CACjFmG,KAAMT,EACNR,UAAWC,EAAoBJ,MAE1B,CAAC,EAEN,GAEJ,KAAK,EACHY,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAEjCe,EAAG/G,MAAQ,EAEb,KAAK,EAIH,OAHA6G,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aAMlDiB,EAAuD,SAA8D3B,EAAQ5G,GACtI,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EAAUsG,EACd,OAAO,QAAY9H,MAAM,SAAUL,GACjC,OAAQA,EAAGO,OACT,KAAK,EACH,OAA0B,MAAtBgG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAEN4B,EAA0D7B,EAAQ5G,KAGtEkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/BnF,YAAQT,EACR0H,UAAM1H,EACN2H,gBAAY3H,EACZC,SAAKD,EACL4H,cAAU5H,EACViG,oBAAgBjG,EAChB2B,iBAAa3B,EACb2C,0BAAsB3C,EACtB0D,eAAW1D,QAG8BA,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAASyG,WAAa/B,EAAO3G,QAAQ,0BAGgBe,IAAnD4F,EAAO3G,QAAQ,kCACjBiC,EAASyB,qBAAuBiD,EAAO3G,QAAQ,sCAGqBe,IAAlE4F,EAAO3G,QAAQ,iDACjBiC,EAASS,YAAciE,EAAO3G,QAAQ,qDAGGe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAASwC,UAAYkC,EAAO3G,QAAQ,0BAGUe,IAA5C4F,EAAO3G,QAAQ,2BACjBiC,EAAS+E,eAAiBL,EAAO3G,QAAQ,0BAGpC,CAAC,EAEN2H,EAAUhB,EAAO5E,KAAMhC,KAE3B,KAAK,EAmBH,YAhBuBgB,KAFvBwH,EAAOnI,EAAGwB,QAEO,SACfK,EAAST,OAAS+G,EAAa,aAGZxH,IAAjBwH,EAAW,OACbtG,EAASwG,KAAOF,EAAW,WAGTxH,IAAhBwH,EAAU,MACZtG,EAASjB,IAAMuH,EAAU,UAGFxH,IAArBwH,EAAe,WACjBtG,EAAS0G,SAAWJ,EAAe,UAG9B,CAAC,EAENrB,QAAQC,QAAQlF,YAMxBuG,EAA4D,SAAmE7B,EAAQ5G,GACzI,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAWC,EAAYC,EAEnDlH,EAEJ,OAAO,QAAYG,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBrG,EAAK,GACE,CAAC,EAENqH,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAoBH,OAnBAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEtH,EAAGyB,KAAOrB,EAAGkB,OAAQtB,MACvEgH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MAIlDwF,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAIrCa,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aAsSlDuB,EAAqD,SAA4DjC,EAAQ5G,GAClI,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EAAUsG,EACd,OAAO,QAAY9H,MAAM,SAAUL,GACjC,OAAQA,EAAGO,OACT,KAAK,EACH,OAA0B,MAAtBgG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAENiC,EAAwDlC,EAAQ5G,KAGpEkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/BmC,eAAW/H,EACXgI,iBAAahI,EACbS,YAAQT,EACRC,SAAKD,EACLiG,oBAAgBjG,EAChB0B,0BAAsB1B,EACtByB,uBAAmBzB,EACnBqC,6BAAyBrC,EACzB2B,iBAAa3B,EACb2C,0BAAsB3C,EACtBU,cAAUV,QAGmDA,IAA3D4F,EAAO3G,QAAQ,0CACjBiC,EAASmB,wBAA0BuD,EAAO3G,QAAQ,8CAGGe,IAAnD4F,EAAO3G,QAAQ,kCACjBiC,EAASyB,qBAAuBiD,EAAO3G,QAAQ,sCAGDe,IAA5C4F,EAAO3G,QAAQ,2BACjBiC,EAAS+E,eAAiBL,EAAO3G,QAAQ,+BAGAe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAAS6G,UAAY,IAAIE,KAAKrC,EAAO3G,QAAQ,2BAG2Be,IAAtE4F,EAAO3G,QAAQ,qDACjBiC,EAASQ,qBAAuBkE,EAAO3G,QAAQ,yDAGqBe,IAAlE4F,EAAO3G,QAAQ,iDACjBiC,EAASS,YAAciE,EAAO3G,QAAQ,qDAGMe,IAA1C4F,EAAO3G,QAAQ,yBACjBiC,EAAS8G,YAAcpC,EAAO3G,QAAQ,6BAGgCe,IAApE4F,EAAO3G,QAAQ,mDACjBiC,EAASO,kBAAoBmE,EAAO3G,QAAQ,kDAGvC,CAAC,EAEN2H,EAAUhB,EAAO5E,KAAMhC,KAE3B,KAAK,EAeH,YAZuBgB,KAFvBwH,EAAOnI,EAAGwB,QAEO,SACfK,EAAST,OAAS+G,EAAa,aAGbxH,IAAhBwH,EAAU,MACZtG,EAASjB,IAAMuH,EAAU,UAGFxH,IAArBwH,EAAe,WACjBtG,EAASR,SAAW8G,EAAe,UAG9B,CAAC,EAENrB,QAAQC,QAAQlF,YAMxB4G,EAA0D,SAAiElC,EAAQ5G,GACrI,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAWC,EAAYC,EAEnDlH,EAEJ,OAAO,QAAYG,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBrG,EAAK,GACE,CAAC,EAENqH,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAoBH,OAnBAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEtH,EAAGyB,KAAOrB,EAAGkB,OAAQtB,MACvEgH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MAIlDwF,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAIrCa,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aAk3BlD4B,EAA4C,SAAmDtC,EAAQ5G,GAChH,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EACJ,OAAO,QAAYxB,MAAM,SAAUL,GACjC,OAAQA,EAAGO,OACT,KAAK,EACH,OAA0B,MAAtBgG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAENsC,EAA+CvC,EAAQ5G,KAG3DkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/BwC,kBAAcpI,EACdiG,oBAAgBjG,EAChB0D,eAAW1D,QAGiCA,IAA1C4F,EAAO3G,QAAQ,yBACjBiC,EAASkH,aAAyD,SAA1CxC,EAAO3G,QAAQ,6BAGOe,IAA5C4F,EAAO3G,QAAQ,2BACjBiC,EAAS+E,eAAiBL,EAAO3G,QAAQ,+BAGAe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAASwC,UAAYkC,EAAO3G,QAAQ,qBAG/B,CAAC,EAENiH,EAAYN,EAAO5E,KAAMhC,KAE7B,KAAK,EAGH,OAFAK,EAAGwB,OAEI,CAAC,EAENsF,QAAQC,QAAQlF,YAMxBiH,EAAiD,SAAwDvC,EAAQ5G,GACnH,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAWC,EAAYC,EAEnDlH,EAEJ,OAAO,QAAYG,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBrG,EAAK,GACE,CAAC,EAENqH,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAoBH,OAnBAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEtH,EAAGyB,KAAOrB,EAAGkB,OAAQtB,MACvEgH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MAIlDwF,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAIrCa,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aAgvDlD+B,EAAyC,SAAgDzC,EAAQ5G,GAC1G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EAAUsG,EACd,OAAO,QAAY9H,MAAM,SAAUL,GACjC,OAA0B,MAAtBuG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAENyC,EAA4C1C,EAAQ5G,KAGxDkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/B2C,kBAAcvI,EACdyF,UAAMzF,EACNkC,kBAAclC,EACd4C,wBAAoB5C,EACpB+C,qBAAiB/C,EACjBiC,qBAAiBjC,EACjBuF,mBAAevF,EACfwI,kBAAcxI,EACdgC,iBAAahC,EACboI,kBAAcpI,EACd0H,UAAM1H,EACN2H,gBAAY3H,EACZwC,aAASxC,EACTyI,kBAAczI,EACdgD,cAAUhD,EACV0I,iBAAa1I,EACb4B,+BAA2B5B,EAC3B6C,oBAAgB7C,EAChByC,+BAA2BzC,EAC3B2I,gBAAY3I,EACZ4I,uBAAmB5I,EACnBiG,oBAAgBjG,EAChB6I,aAAS7I,EACT0B,0BAAsB1B,EACtByB,uBAAmBzB,EACnB2B,iBAAa3B,EACb2C,0BAAsB3C,EACtB8C,kBAAc9C,EACd8I,cAAU9I,EACV0D,eAAW1D,EACX+B,6BAAyB/B,QAGsBA,IAA7C4F,EAAO3G,QAAQ,4BACjBiC,EAAS2B,eAAiB+C,EAAO3G,QAAQ,gCAGAe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAASe,gBAAkB2D,EAAO3G,QAAQ,0BAGEe,IAA1C4F,EAAO3G,QAAQ,yBACjBiC,EAAS0B,mBAAqBgD,EAAO3G,QAAQ,6BAGPe,IAApC4F,EAAO3G,QAAQ,mBACjBiC,EAASgB,aAAe0D,EAAO3G,QAAQ,uBAGFe,IAAnC4F,EAAO3G,QAAQ,kBACjBiC,EAASc,YAAc4D,EAAO3G,QAAQ,sBAGAe,IAApC4F,EAAO3G,QAAQ,mBACjBiC,EAASsH,aAAe5C,EAAO3G,QAAQ,uBAG6Be,IAAlE4F,EAAO3G,QAAQ,iDACjBiC,EAASS,YAAciE,EAAO3G,QAAQ,qDAGCe,IAArC4F,EAAO3G,QAAQ,oBACjBiC,EAASqE,cAAgBwD,SAASnD,EAAO3G,QAAQ,kBAAmB,UAGRe,IAA1D4F,EAAO3G,QAAQ,yCACjBiC,EAASuB,0BAA4B,IAAIwF,KAAKrC,EAAO3G,QAAQ,8CAGRe,IAAnD4F,EAAO3G,QAAQ,kCACjBiC,EAASU,0BAA4BgE,EAAO3G,QAAQ,sCAGRe,IAA1C4F,EAAO3G,QAAQ,yBACjBiC,EAASkH,aAAyD,SAA1CxC,EAAO3G,QAAQ,6BAGKe,IAA1C4F,EAAO3G,QAAQ,yBACjBiC,EAAS4B,aAAe8C,EAAO3G,QAAQ,6BAGEe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAAS6B,gBAAkB6C,EAAO3G,QAAQ,0BAGJe,IAApC4F,EAAO3G,QAAQ,mBACjBiC,EAAS2H,QAAUjD,EAAO3G,QAAQ,uBAGsBe,IAAtD4F,EAAO3G,QAAQ,qCACjBiC,EAASa,wBAA0B6D,EAAO3G,QAAQ,yCAGGe,IAAnD4F,EAAO3G,QAAQ,kCACjBiC,EAASyB,qBAAuBiD,EAAO3G,QAAQ,sCAGFe,IAA3C4F,EAAO3G,QAAQ,0BACjBiC,EAASyH,WAAaI,SAASnD,EAAO3G,QAAQ,wBAAyB,UAGCe,IAAtE4F,EAAO3G,QAAQ,qDACjBiC,EAASQ,qBAAuBkE,EAAO3G,QAAQ,yDAGTe,IAApC4F,EAAO3G,QAAQ,mBACjBiC,EAASqH,aAAe3C,EAAO3G,QAAQ,uBAGEe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAASwC,UAAYkC,EAAO3G,QAAQ,0BAGJe,IAA9B4F,EAAO3G,QAAiB,UAC1BiC,EAASsB,QAAU,IAAIyF,KAAKrC,EAAO3G,QAAiB,eAGXe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAASyG,WAAa/B,EAAO3G,QAAQ,0BAGMe,IAAzC4F,EAAO3G,QAAQ,wBACjBiC,EAASwH,YAAcK,SAASnD,EAAO3G,QAAQ,sBAAuB,UAGrBe,IAA/C4F,EAAO3G,QAAQ,8BACjBiC,EAAS0H,kBAAoBhD,EAAO3G,QAAQ,kCAGAe,IAA1C4F,EAAO3G,QAAQ,yBACjBiC,EAAS4H,SAAWC,SAASnD,EAAO3G,QAAQ,uBAAwB,UAGEe,IAApE4F,EAAO3G,QAAQ,mDACjBiC,EAASO,kBAAoBmE,EAAO3G,QAAQ,uDAGNe,IAApC4F,EAAO3G,QAAQ,mBACjBiC,EAASuH,aAAe,IAAIR,KAAKrC,EAAO3G,QAAQ,wBAGnBe,IAA3B4F,EAAO3G,QAAc,OACvBiC,EAASwG,KAAO9B,EAAO3G,QAAc,WAGSe,IAA5C4F,EAAO3G,QAAQ,2BACjBiC,EAAS+E,eAAiBL,EAAO3G,QAAQ,0BAG3CgE,OAAOC,KAAK0C,EAAO3G,SAAS+J,SAAQ,SAAUC,QAClBjJ,IAAtBkB,EAAS8B,WACX9B,EAAS8B,SAAW,IAGlBiG,EAAOC,WAAW,iBACpBhI,EAAS8B,SAASiG,EAAOE,UAAU,KAAOvD,EAAO3G,QAAQgK,OAG7DzB,EAAO5B,EAAO5E,KACdE,EAASuE,KAAO+B,EACT,CAAC,EAENrB,QAAQC,QAAQlF,YAKpBoH,EAA8C,SAAqD1C,EAAQ5G,GAC7G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAe5G,EAAI6G,EAAYC,EAE3DC,EAEJ,OAAO,QAAYhH,MAAM,SAAUiH,GACjC,OAAQA,EAAG/G,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBc,EAAK,GACE,CAAC,EAENE,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAMH,OALAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEH,EAAG1F,KAAO2F,EAAG9F,OAAQ6F,MACvEH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MACjDuF,GAGH,IAAK,YAKL,IAAK,6BACH,MAAO,CAAC,EAEN,GAGN,MAAO,CAAC,EAEN,GAEJ,KAAK,EAEH,OADA5G,EAAK,CAAC,IACC,CAAC,EAENyJ,EAAwC/C,EAAcrH,IAE1D,KAAK,EAKH,OAJAsH,EAAW,gBAAe,EAAQ,CAAC,gBAAe,EAAQ3G,EAAGkH,OAAO,CAACF,EAAG9F,UAAW,CACjFmG,KAAMT,EACNR,UAAWC,EAAoBJ,MAE1B,CAAC,EAEN,GAEJ,KAAK,EACHY,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAEjCe,EAAG/G,MAAQ,EAEb,KAAK,EAIH,OAHA6G,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aAs7ClD+C,EAA2C,SAAkDzD,EAAQ5G,GAC9G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EAAUsG,EACd,OAAO,QAAY9H,MAAM,SAAUL,GACjC,OAAQA,EAAGO,OACT,KAAK,EACH,OAA0B,MAAtBgG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAENyD,EAA8C1D,EAAQ5G,KAG1DkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/B2D,oBAAgBvJ,EAChBwJ,cAAUxJ,EACVgF,eAAWhF,EACXkF,kBAAclF,EACdyJ,iBAAazJ,EACb4E,YAAQ5E,EACR2E,aAAS3E,EACT0J,UAAM1J,EACN2J,gBAAY3J,EACZ8E,YAAQ9E,GAEH,CAAC,EAEN4G,EAAUhB,EAAO5E,KAAMhC,KAE3B,KAAK,EAmDH,MAhD4B,MAF5BwI,EAAOnI,EAAGwB,QAED0I,iBACPrI,EAASqI,eAAiB,SAGGvJ,IAA3BwH,EAAqB,iBACvBtG,EAASqI,eAAiBK,GAAuC,OAAuBpC,EAAqB,gBAAIxI,IAG7F,KAAlBwI,EAAKgC,WACPtI,EAASsI,SAAW,SAGGxJ,IAArBwH,EAAe,WACjBtG,EAASsI,SAAWK,GAAiC,OAAuBrC,EAAe,UAAIxI,SAGvEgB,IAAtBwH,EAAgB,YAClBtG,EAAS8D,UAAYwC,EAAgB,gBAGVxH,IAAzBwH,EAAmB,eACrBtG,EAASgE,aAAesC,EAAmB,mBAGjBxH,IAAxBwH,EAAkB,cACpBtG,EAASuI,YAAqC,QAAvBjC,EAAkB,kBAGpBxH,IAAnBwH,EAAa,SACftG,EAAS0D,OAAS4C,EAAa,aAGTxH,IAApBwH,EAAc,UAChBtG,EAASyD,QAAUoE,SAASvB,EAAc,eAGvBxH,IAAjBwH,EAAW,OACbtG,EAASwI,KAAOlC,EAAW,WAGFxH,IAAvBwH,EAAiB,aACnBtG,EAASyI,WAAanC,EAAiB,iBAGlBxH,IAAnBwH,EAAa,SACftG,EAAS4D,OAAS0C,EAAa,QAG1B,CAAC,EAENrB,QAAQC,QAAQlF,YAMxBoI,EAAgD,SAAuD1D,EAAQ5G,GACjH,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAe5G,EAAI6G,EAAYC,EAE3DC,EAEJ,OAAO,QAAYhH,MAAM,SAAUiH,GACjC,OAAQA,EAAG/G,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBc,EAAK,GACE,CAAC,EAENE,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAMH,OALAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEH,EAAG1F,KAAO2F,EAAG9F,OAAQ6F,MACvEH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MACjDuF,GAGH,IAAK,eAKL,IAAK,gCACH,MAAO,CAAC,EAEN,GAGN,MAAO,CAAC,EAEN,GAEJ,KAAK,EAEH,OADA5G,EAAK,CAAC,IACC,CAAC,EAENmK,EAA2CzD,EAAcrH,IAE7D,KAAK,EAKH,OAJAsH,EAAW,gBAAe,EAAQ,CAAC,gBAAe,EAAQ3G,EAAGkH,OAAO,CAACF,EAAG9F,UAAW,CACjFmG,KAAMT,EACNR,UAAWC,EAAoBJ,MAE1B,CAAC,EAEN,GAEJ,KAAK,EACHY,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAEjCe,EAAG/G,MAAQ,EAEb,KAAK,EAIH,OAHA6G,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aAyUlDyD,EAAyC,SAAgDnE,EAAQ5G,GAC1G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EAAUsG,EACd,OAAO,QAAY9H,MAAM,SAAUL,GACjC,OAAQA,EAAGO,OACT,KAAK,EACH,OAA0B,MAAtBgG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAENmE,EAA4CpE,EAAQ5G,KAGxDkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/BmC,eAAW/H,EACXgI,iBAAahI,EACbS,YAAQT,EACRiK,eAAWjK,EACXyJ,iBAAazJ,EACbC,SAAKD,EACLoF,cAAUpF,EACVkK,0BAAsBlK,EACtBmK,WAAOnK,EACPqF,sBAAkBrF,EAClBoK,WAAOpK,EACPiG,oBAAgBjG,EAChB8C,kBAAc9C,EACdU,cAAUV,QAGkCA,IAA1C4F,EAAO3G,QAAQ,yBACjBiC,EAAS8G,YAAcpC,EAAO3G,QAAQ,6BAGQe,IAA5C4F,EAAO3G,QAAQ,2BACjBiC,EAAS+E,eAAiBL,EAAO3G,QAAQ,+BAGAe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAAS6G,UAAY,IAAIE,KAAKrC,EAAO3G,QAAQ,sBAGxC,CAAC,EAEN2H,EAAUhB,EAAO5E,KAAMhC,KAE3B,KAAK,EAmDH,YAhDuBgB,KAFvBwH,EAAOnI,EAAGwB,QAEO,SACfK,EAAST,OAAS+G,EAAa,aAGPxH,IAAtBwH,EAAgB,YAClBtG,EAAS+I,UAAYI,EAAgC7C,EAAgB,UAAGxI,SAG9CgB,IAAxBwH,EAAkB,cACpBtG,EAASuI,YAAqC,QAAvBjC,EAAkB,kBAGvBxH,IAAhBwH,EAAU,MACZtG,EAASjB,IAAMuH,EAAU,UAGFxH,IAArBwH,EAAe,WACjBtG,EAASkE,SAAW2D,SAASvB,EAAe,gBAGTxH,IAAjCwH,EAA2B,uBAC7BtG,EAASgJ,qBAAuBnB,SAASvB,EAA2B,4BAGhDxH,IAAlBwH,EAAY,QACdtG,EAASiJ,MAAQG,EAA4B9C,EAAY,MAAGxI,SAG7BgB,IAA7BwH,EAAuB,mBACzBtG,EAASmE,iBAAmB0D,SAASvB,EAAuB,mBAG5C,KAAdA,EAAK+C,OACPrJ,EAASkJ,MAAQ,SAGEpK,IAAjBwH,EAAW,OACbtG,EAASkJ,MAAQI,GAA4B,OAAuBhD,EAAW,MAAIxI,SAGxDgB,IAAzBwH,EAAmB,eACrBtG,EAAS4B,aAAe0E,EAAmB,mBAGpBxH,IAArBwH,EAAe,WACjBtG,EAASR,SAAW8G,EAAe,UAG9B,CAAC,EAENrB,QAAQC,QAAQlF,YAMxB8I,EAA8C,SAAqDpE,EAAQ5G,GAC7G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAWC,EAAYC,EAEnDlH,EAEJ,OAAO,QAAYG,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBrG,EAAK,GACE,CAAC,EAENqH,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAoBH,OAnBAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEtH,EAAGyB,KAAOrB,EAAGkB,OAAQtB,MACvEgH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MAIlDwF,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAIrCa,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aA+tClDmE,EAAyC,SAAgD7E,EAAQ5G,GAC1G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EACJ,OAAO,QAAYxB,MAAM,SAAUL,GACjC,OAAQA,EAAGO,OACT,KAAK,EACH,OAA0B,MAAtBgG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAEN6E,EAA4C9E,EAAQ5G,KAGxDkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/B8B,UAAM1H,EACN2H,gBAAY3H,EACZiG,oBAAgBjG,EAChB0B,0BAAsB1B,EACtByB,uBAAmBzB,EACnBqC,6BAAyBrC,EACzB2B,iBAAa3B,EACb2C,0BAAsB3C,EACtB0D,eAAW1D,QAGkDA,IAA3D4F,EAAO3G,QAAQ,0CACjBiC,EAASmB,wBAA0BuD,EAAO3G,QAAQ,8CAGTe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAASyG,WAAa/B,EAAO3G,QAAQ,0BAGiCe,IAApE4F,EAAO3G,QAAQ,mDACjBiC,EAASO,kBAAoBmE,EAAO3G,QAAQ,uDAGfe,IAA3B4F,EAAO3G,QAAc,OACvBiC,EAASwG,KAAO9B,EAAO3G,QAAc,WAGmCe,IAAtE4F,EAAO3G,QAAQ,qDACjBiC,EAASQ,qBAAuBkE,EAAO3G,QAAQ,yDAGNe,IAAvC4F,EAAO3G,QAAQ,sBACjBiC,EAASwC,UAAYkC,EAAO3G,QAAQ,0BAGUe,IAA5C4F,EAAO3G,QAAQ,2BACjBiC,EAAS+E,eAAiBL,EAAO3G,QAAQ,+BAG2Be,IAAlE4F,EAAO3G,QAAQ,iDACjBiC,EAASS,YAAciE,EAAO3G,QAAQ,qDAGee,IAAnD4F,EAAO3G,QAAQ,kCACjBiC,EAASyB,qBAAuBiD,EAAO3G,QAAQ,iCAG1C,CAAC,EAENiH,EAAYN,EAAO5E,KAAMhC,KAE7B,KAAK,EAGH,OAFAK,EAAGwB,OAEI,CAAC,EAENsF,QAAQC,QAAQlF,YAMxBwJ,EAA8C,SAAqD9E,EAAQ5G,GAC7G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAWC,EAAYC,EAEnDlH,EAEJ,OAAO,QAAYG,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBrG,EAAK,GACE,CAAC,EAENqH,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAoBH,OAnBAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEtH,EAAGyB,KAAOrB,EAAGkB,OAAQtB,MACvEgH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MAIlDwF,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAIrCa,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aA8sBlDqE,EAA0C,SAAiD/E,EAAQ5G,GAC5G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EACJ,OAAO,QAAYxB,MAAM,SAAUL,GACjC,OAAQA,EAAGO,OACT,KAAK,EACH,OAA0B,MAAtBgG,EAAOC,YAAsBD,EAAOC,YAAc,IAC7C,CAAC,EAEN+E,EAA6ChF,EAAQ5G,KAGzDkC,EAAW,CACT6E,UAAWC,EAAoBJ,GAC/B8B,UAAM1H,EACNiG,oBAAgBjG,EAChB0B,0BAAsB1B,EACtByB,uBAAmBzB,EACnB2B,iBAAa3B,EACb2C,0BAAsB3C,QAGgDA,IAApE4F,EAAO3G,QAAQ,mDACjBiC,EAASO,kBAAoBmE,EAAO3G,QAAQ,uDAGSe,IAAnD4F,EAAO3G,QAAQ,kCACjBiC,EAASyB,qBAAuBiD,EAAO3G,QAAQ,sCAGqBe,IAAlE4F,EAAO3G,QAAQ,iDACjBiC,EAASS,YAAciE,EAAO3G,QAAQ,qDAGkCe,IAAtE4F,EAAO3G,QAAQ,qDACjBiC,EAASQ,qBAAuBkE,EAAO3G,QAAQ,yDAGDe,IAA5C4F,EAAO3G,QAAQ,2BACjBiC,EAAS+E,eAAiBL,EAAO3G,QAAQ,+BAGZe,IAA3B4F,EAAO3G,QAAc,OACvBiC,EAASwG,KAAO9B,EAAO3G,QAAc,MAGhC,CAAC,EAENiH,EAAYN,EAAO5E,KAAMhC,KAE7B,KAAK,EAGH,OAFAK,EAAGwB,OAEI,CAAC,EAENsF,QAAQC,QAAQlF,YAMxB0J,EAA+C,SAAsDhF,EAAQ5G,GAC/G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIqH,EAAchH,EAAIiH,EAAUC,EAAWC,EAAYC,EAEnDlH,EAEJ,OAAO,QAAYG,MAAM,SAAUC,GACjC,OAAQA,EAAGC,OACT,KAAK,EAGH,OAFAP,EAAK,EAAC,QAAS,GAAIuG,IACnBrG,EAAK,GACE,CAAC,EAENqH,EAAUhB,EAAO5E,KAAMhC,IAE3B,KAAK,EAoBH,OAnBAqH,EAAe,gBAAe,EAAQhH,EAAGwH,OAAO,EAAEtH,EAAGyB,KAAOrB,EAAGkB,OAAQtB,MACvEgH,EAAY,eACZA,EAAYO,EAAqBlB,EAAQS,EAAarF,MAIlDwF,EAAaH,EAAarF,KAC1BuF,EAAYC,EAAWS,MAAQT,EAAWU,MAAQX,EAClDD,GAAW,SAAS,QAAS,GAAIE,GAAa,CAC5CQ,KAAM,GAAKT,EACXE,QAASD,EAAWC,SAAWD,EAAWW,SAAWZ,EACrDa,OAAQ,SACRrB,UAAWC,EAAoBJ,KAIrCa,EAAUH,EAASG,SAAWH,EAASa,SAAWZ,EAClDD,EAASG,QAAUA,SACZH,EAASa,QACT,CAAC,EAENhB,QAAQkB,OAAOpE,OAAOqE,OAAO,IAAIpH,MAAMuG,GAAUH,aA2TzDwD,EAA6C,SAAoDzD,EAAcrH,GACjH,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EACJ,OAAO,QAAYxB,MAAM,SAAUL,GAOjC,OANA6B,EAAW,CACT8F,KAAM,eACNI,OAAQ,SACRrB,UAAWC,EAAoBK,IAE1BA,EAAarF,KACb,CAAC,EAENE,UAKJkI,EAA0C,SAAiD/C,EAAcrH,GAC3G,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EACJ,OAAO,QAAYxB,MAAM,SAAUL,GAOjC,OANA6B,EAAW,CACT8F,KAAM,YACNI,OAAQ,SACRrB,UAAWC,EAAoBK,IAE1BA,EAAarF,KACb,CAAC,EAENE,UAKJ6F,EAA6C,SAAoDV,EAAcrH,GACjH,OAAO,aAAU,OAAQ,OAAQ,GAAQ,WACvC,IAAIkC,EACJ,OAAO,QAAYxB,MAAM,SAAUL,GAOjC,OANA6B,EAAW,CACT8F,KAAM,eACNI,OAAQ,SACRrB,UAAWC,EAAoBK,IAE1BA,EAAarF,KACb,CAAC,EAENE,UA4OJE,EAA+C,SAAsDrC,EAAOC,GAC9G,IAAI6L,EAAW,IAAI,IAAU,iCAET7K,IAAhBjB,EAAMqL,OACIU,EAAsC/L,EAAMqL,MAAOpL,GACzDsB,KAAI,SAAUyK,GAClBA,EAAOA,EAAKC,SAAS,QACrBH,EAASI,aAAaF,MAI1B,OAAOF,GAmBLC,EAAwC,SAA+C/L,EAAOC,GAChG,OAAOD,EAAMuB,KAAI,SAAU4K,GAEzB,OAnBoC,SAA2CnM,EAAOC,GACxF,IAAI6L,EAAW,IAAI,IAAU,iBAE7B,QAAmB7K,IAAfjB,EAAM2I,KAAoB,CAC5B,IAAIqD,EAAO,IAAI,IAAU,QAAQE,aAAa,IAAI,IAAUlM,EAAM2I,OAAOsD,SAAS,QAClFH,EAASI,aAAaF,QAGC/K,IAArBjB,EAAMuF,aACJyG,EAAO,IAAI,IAAU,cAAcE,aAAa,IAAI,IAAUE,OAAOpM,EAAMuF,cAAc0G,SAAS,cACtGH,EAASI,aAAaF,IAGxB,OAAOF,EAKMO,CAAkCF,GACjCF,SAAS,cAs/DrBpB,EAAyC,SAAgDhE,EAAQ5G,GACnG,OAAQ4G,GAAU,IAAItF,KAAI,SAAU4K,GAClC,OAdqC,SAA4CtF,EAAQ5G,GAC3F,IAAIkC,EAAW,CACb4D,YAAQ9E,GAOV,YAJyBA,IAArB4F,EAAe,SACjB1E,EAAS4D,OAASc,EAAe,QAG5B1E,EAKEmK,CAAmCH,OA2a1Cb,EAAkC,SAAyCzE,EAAQ5G,GACrF,IAAIkC,EAAW,CACboK,QAAItL,EACJuL,iBAAavL,GAWf,YARqBA,IAAjB4F,EAAW,KACb1E,EAASoK,GAAK1F,EAAW,SAGG5F,IAA1B4F,EAAoB,cACtB1E,EAASqK,YAAc3F,EAAoB,aAGtC1E,GAsiBL2I,EAAmC,SAA0CjE,EAAQ5G,GACvF,OAAQ4G,GAAU,IAAItF,KAAI,SAAU4K,GAClC,OAvCgC,SAAuCtF,EAAQ5G,GACjF,IAAIkC,EAAW,CACbsK,UAAMxL,EACN0H,UAAM1H,EACNmK,WAAOnK,EACP8C,kBAAc9C,EACdC,SAAKD,EACLyI,kBAAczI,GA2BhB,YAxBuBA,IAAnB4F,EAAa,OACf1E,EAASsK,KAAOzC,SAASnD,EAAa,YAGjB5F,IAAnB4F,EAAa,OACf1E,EAASwG,KAAO9B,EAAa,WAGP5F,IAApB4F,EAAc,QAChB1E,EAASiJ,MAAQG,EAA4B1E,EAAc,MAAG5G,SAGjCgB,IAA3B4F,EAAqB,eACvB1E,EAAS4B,aAAe8C,EAAqB,mBAGzB5F,IAAlB4F,EAAY,MACd1E,EAASjB,IAAM2F,EAAY,UAGE5F,IAA3B4F,EAAqB,eACvB1E,EAASuH,aAAe,IAAIR,KAAKrC,EAAqB,eAGjD1E,EAKEuK,CAA8BP,EAAOlM,OAmH5CsL,EAA8B,SAAqC1E,EAAQ5G,GAC7E,IAAIkC,EAAW,CACbqK,iBAAavL,EACbsL,QAAItL,GAWN,YAR8BA,IAA1B4F,EAAoB,cACtB1E,EAASqK,YAAc3F,EAAoB,kBAGxB5F,IAAjB4F,EAAW,KACb1E,EAASoK,GAAK1F,EAAW,IAGpB1E,GAgELsJ,EAA8B,SAAqC5E,EAAQ5G,GAC7E,OAAQ4G,GAAU,IAAItF,KAAI,SAAU4K,GAClC,OA7B6B,SAAoCtF,EAAQ5G,GAC3E,IAAIkC,EAAW,CACbsK,UAAMxL,EACNyI,kBAAczI,EACdsE,gBAAYtE,EACZ0H,UAAM1H,GAmBR,YAhBuBA,IAAnB4F,EAAa,OACf1E,EAASsK,KAAOzC,SAASnD,EAAa,YAGT5F,IAA3B4F,EAAqB,eACvB1E,EAASuH,aAAe,IAAIR,KAAKrC,EAAqB,oBAG3B5F,IAAzB4F,EAAmB,aACrB1E,EAASoD,WAAayE,SAASnD,EAAmB,kBAG7B5F,IAAnB4F,EAAa,OACf1E,EAASwG,KAAO9B,EAAa,MAGxB1E,EAKEwK,CAA2BR,OAuiBlClF,EAAsB,SAA6BJ,GACrD,MAAO,CACL+F,eAAgB/F,EAAOC,WACvB+F,YAAahG,EAAO3G,QACpB4M,UAAWjG,EAAO3G,QAAQ,sBAK1BiH,EAAc,SAAqB4F,EAAY9M,GAKjD,YAJmB,IAAf8M,IACFA,EAAa,IAAIC,YAGfD,aAAsBC,WACjB5F,QAAQC,QAAQ0F,GAGlB9M,EAAQgN,gBAAgBF,IAAe3F,QAAQC,QAAQ,IAAI2F,aAUhElM,EAA4B,SAAmCoM,GACjE,aAAiBjM,IAAViM,GAAiC,KAAVA,GAAkBhJ,OAAOiJ,oBAAoBD,GAAOE,SAAS,WAA6B,GAAhBF,EAAM9L,QAAkB8C,OAAOiJ,oBAAoBD,GAAOE,SAAS,SAAyB,GAAdF,EAAMG,OAO1LxF,EAAY,SAAmBkF,EAAY9M,GAC7C,OAfsB,SAA2B8M,EAAY9M,GAC7D,OAAOkH,EAAY4F,EAAY9M,GAASqN,MAAK,SAAUrL,GACrD,OAAOhC,EAAQsN,YAAYtL,MAatBuL,CAAkBT,EAAY9M,GAASqN,MAAK,SAAUG,GAC3D,GAAIA,EAAQrM,OAAQ,CAClB,IAAIsM,GAAY,WAASD,EAAS,CAChCE,oBAAqB,GACrBC,kBAAkB,EAClBC,gBAAgB,EAChBC,kBAAmB,SAA2BC,EAAKC,GACjD,OAAwBD,EAXrB1M,QAAQ,SAAU,KAAKA,QAAQ,UAAW,KAAKA,QAAQ,UAAW,KAAKA,QAAQ,QAAS,KAAKA,QAAQ,QAAS,QAejH4M,EAAM/J,OAAOC,KAAKuJ,GAAW,GAC7BQ,EAAoBR,EAAUO,GAOlC,OALIC,EAAkBC,WACpBD,EAAkBD,GAAOC,EAAkBC,gBACpCD,EAAkBC,WAGpB,QAAuBD,GAGhC,MAAO,OAIPnG,EAAuB,SAA8BlB,EAAQ4B,GAC/D,YAAkBxH,IAAdwH,EAAKN,KACAM,EAAKN,KAGW,KAArBtB,EAAOC,WACF,WAGF","file":"5c5a5f4b-68a84a3ffc60d0c089b0.js","sourcesContent":["import { __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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\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 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 \"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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\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 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({}, 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(__assign(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.Expires) && {\n Expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince).toString()\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"Content-Disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"Content-Language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.CopySource) && {\n \"x-amz-copy-source\": input.CopySource\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.CacheControl) && {\n \"Cache-Control\": input.CacheControl\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.TaggingDirective) && {\n \"x-amz-tagging-directive\": input.TaggingDirective\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"Content-Encoding\": input.ContentEncoding\n }), isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.ContentType) && {\n \"Content-Type\": input.ContentType\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && {\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.MetadataDirective) && {\n \"x-amz-metadata-directive\": input.MetadataDirective\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\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.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 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 \"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.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.GrantWrite) && {\n \"x-amz-grant-write\": input.GrantWrite\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.ObjectLockEnabledForBucket) && {\n \"x-amz-bucket-object-lock-enabled\": input.ObjectLockEnabledForBucket.toString()\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 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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), isSerializableHeaderValue(input.ContentType) && {\n \"Content-Type\": input.ContentType\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"Content-Language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.CacheControl) && {\n \"Cache-Control\": input.CacheControl\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.Expires) && {\n Expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"Content-Disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"Content-Encoding\": input.ContentEncoding\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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_restXmlDeleteBucketOwnershipControlsCommand = function serializeAws_restXmlDeleteBucketOwnershipControlsCommand(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.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 ownershipControls: \"\"\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.MFA) && {\n \"x-amz-mfa\": input.MFA\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\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_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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.MFA) && {\n \"x-amz-mfa\": input.MFA\n }), isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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_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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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_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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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_restXmlGetBucketOwnershipControlsCommand = function serializeAws_restXmlGetBucketOwnershipControlsCommand(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.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 ownershipControls: \"\"\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"If-Unmodified-Since\": __dateToUtcString(input.IfUnmodifiedSince).toString()\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.IfMatch) && {\n \"If-Match\": input.IfMatch\n }), isSerializableHeaderValue(input.Range) && {\n Range: input.Range\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.ResponseContentEncoding !== undefined && {\n \"response-content-encoding\": input.ResponseContentEncoding\n }), input.ResponseCacheControl !== undefined && {\n \"response-cache-control\": input.ResponseCacheControl\n }), input.ResponseContentLanguage !== undefined && {\n \"response-content-language\": input.ResponseContentLanguage\n }), input.ResponseContentDisposition !== undefined && {\n \"response-content-disposition\": input.ResponseContentDisposition\n }), input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\n }), input.VersionId !== undefined && {\n versionId: input.VersionId\n }), input.ResponseExpires !== undefined && {\n \"response-expires\": (input.ResponseExpires.toISOString().split(\".\")[0] + \"Z\").toString()\n }), input.ResponseContentType !== undefined && {\n \"response-content-type\": input.ResponseContentType\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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\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 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 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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\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 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 \"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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\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 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 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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"\"\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.Range) && {\n Range: input.Range\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.IfModifiedSince) && {\n \"If-Modified-Since\": __dateToUtcString(input.IfModifiedSince).toString()\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.IfMatch) && {\n \"If-Match\": input.IfMatch\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({}, 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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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.UploadIdMarker !== undefined && {\n \"upload-id-marker\": input.UploadIdMarker\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.MaxUploads !== undefined && {\n \"max-uploads\": input.MaxUploads.toString()\n }), input.KeyMarker !== undefined && {\n \"key-marker\": input.KeyMarker\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\n }), input.Marker !== undefined && {\n marker: input.Marker\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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.FetchOwner !== undefined && {\n \"fetch-owner\": input.FetchOwner.toString()\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.StartAfter !== undefined && {\n \"start-after\": input.StartAfter\n }), input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\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 = __assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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.KeyMarker !== undefined && {\n \"key-marker\": input.KeyMarker\n }), input.MaxKeys !== undefined && {\n \"max-keys\": input.MaxKeys.toString()\n }), input.Delimiter !== undefined && {\n delimiter: input.Delimiter\n }), input.VersionIdMarker !== undefined && {\n \"version-id-marker\": input.VersionIdMarker\n }), input.Prefix !== undefined && {\n prefix: input.Prefix\n }), input.EncodingType !== undefined && {\n \"encoding-type\": input.EncodingType\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(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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.UploadId !== undefined && {\n uploadId: input.UploadId\n }), input.MaxParts !== undefined && {\n \"max-parts\": input.MaxParts.toString()\n }), input.PartNumberMarker !== undefined && {\n \"part-number-marker\": input.PartNumberMarker.toString()\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 = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\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.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 = __assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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_restXmlPutBucketOwnershipControlsCommand = function serializeAws_restXmlPutBucketOwnershipControlsCommand(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.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 ownershipControls: \"\"\n };\n\n if (input.OwnershipControls !== undefined) {\n contents = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess) && {\n \"x-amz-confirm-remove-self-bucket-access\": input.ConfirmRemoveSelfBucketAccess.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 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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.Token) && {\n \"x-amz-bucket-object-lock-token\": input.Token\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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 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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__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 }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/octet-stream\"\n }, isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.ContentEncoding) && {\n \"Content-Encoding\": input.ContentEncoding\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.CacheControl) && {\n \"Cache-Control\": input.CacheControl\n }), isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation\n }), isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus\n }), isSerializableHeaderValue(input.GrantWriteACP) && {\n \"x-amz-grant-write-acp\": input.GrantWriteACP\n }), isSerializableHeaderValue(input.ContentLength) && {\n \"Content-Length\": input.ContentLength.toString()\n }), isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString()\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.ContentDisposition) && {\n \"Content-Disposition\": input.ContentDisposition\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext\n }), isSerializableHeaderValue(input.Tagging) && {\n \"x-amz-tagging\": input.Tagging\n }), isSerializableHeaderValue(input.Expires) && {\n Expires: __dateToUtcString(input.Expires).toString()\n }), isSerializableHeaderValue(input.StorageClass) && {\n \"x-amz-storage-class\": input.StorageClass\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption\n }), isSerializableHeaderValue(input.ObjectLockMode) && {\n \"x-amz-object-lock-mode\": input.ObjectLockMode\n }), isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId\n }), isSerializableHeaderValue(input.ContentLanguage) && {\n \"Content-Language\": input.ContentLanguage\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\n }), isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.ContentType) && {\n \"Content-Type\": input.ContentType\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ACL) && {\n \"x-amz-acl\": input.ACL\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.GrantFullControl) && {\n \"x-amz-grant-full-control\": input.GrantFullControl\n }), isSerializableHeaderValue(input.GrantReadACP) && {\n \"x-amz-grant-read-acp\": input.GrantReadACP\n }), isSerializableHeaderValue(input.GrantRead) && {\n \"x-amz-grant-read\": input.GrantRead\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}/{Key+}\";\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 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 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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.Token) && {\n \"x-amz-bucket-object-lock-token\": input.Token\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString()\n }), isSerializableHeaderValue(input.ContentMD5) && {\n \"Content-MD5\": input.ContentMD5\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\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 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 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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\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(__assign({\n \"Content-Type\": \"application/xml\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\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 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 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(__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.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n });\n resolvedPath = \"/{Bucket}/{Key+}\";\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 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 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(__assign({\n \"Content-Type\": \"application/octet-stream\"\n }, isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.ContentLength) && {\n \"Content-Length\": input.ContentLength.toString()\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\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(__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(__assign(__assign({\n \"Content-Type\": \"\"\n }, isSerializableHeaderValue(input.RequestPayer) && {\n \"x-amz-request-payer\": input.RequestPayer\n }), isSerializableHeaderValue(input.CopySourceRange) && {\n \"x-amz-copy-source-range\": input.CopySourceRange\n }), isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey\n }), isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm\n }), isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch\n }), isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey\n }), isSerializableHeaderValue(input.CopySource) && {\n \"x-amz-copy-source\": input.CopySource\n }), isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince).toString()\n }), isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm\n }), isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince).toString()\n }), isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && {\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner\n }), isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-MD5\": input.SSECustomerKeyMD5\n }), isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch\n }), isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-MD5\": input.CopySourceSSECustomerKeyMD5\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.UploadId !== undefined && {\n uploadId: input.UploadId\n }), input.PartNumber !== undefined && {\n partNumber: input.PartNumber.toString()\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlAbortMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\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-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-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 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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlCopyObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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-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-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\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-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-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\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\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\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 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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlCreateBucketCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, _b, _c, _d, parsedBody, message;\n\n var _e;\n\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = [__assign({}, output)];\n _e = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_e.body = _f.sent(), _e)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([_f.sent()])), {\n name: errorCode,\n $metadata: deserializeMetadata(output)\n }]);\n return [3\n /*break*/\n , 7];\n\n case 4:\n _d = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context)];\n\n case 5:\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 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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlCreateMultipartUploadCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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-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\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\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-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\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-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-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\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 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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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_restXmlDeleteBucketOwnershipControlsCommand = function deserializeAws_restXmlDeleteBucketOwnershipControlsCommand(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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(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_restXmlDeleteBucketOwnershipControlsCommandError = function deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketCorsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketEncryptionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLocationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketLoggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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_restXmlGetBucketOwnershipControlsCommand = function deserializeAws_restXmlGetBucketOwnershipControlsCommand(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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n OwnershipControls: undefined\n };\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n data = _a.sent();\n contents.OwnershipControls = deserializeAws_restXmlOwnershipControls(data, context);\n return [2\n /*return*/\n , Promise.resolve(contents)];\n }\n });\n });\n};\n\nvar deserializeAws_restXmlGetBucketOwnershipControlsCommandError = function deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketPolicyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketReplicationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketVersioningCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetBucketWebsiteCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n\n if (output.headers[\"content-range\"] !== undefined) {\n contents.ContentRange = output.headers[\"content-range\"];\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[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\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-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\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-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\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-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\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-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\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[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\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[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\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-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 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-tagging-count\"] !== undefined) {\n contents.TagCount = parseInt(output.headers[\"x-amz-tagging-count\"], 10);\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[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\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 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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectRetentionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetObjectTorrentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlHeadObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\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[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\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[\"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-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\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-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\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 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-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\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[\"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-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\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-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\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-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[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListBucketsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListMultipartUploadsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectsV2CommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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_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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListObjectVersionsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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_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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlListPartsCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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-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-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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_restXmlPutBucketOwnershipControlsCommand = function deserializeAws_restXmlPutBucketOwnershipControlsCommand(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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutBucketOwnershipControlsCommandError(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_restXmlPutBucketOwnershipControlsCommandError = function deserializeAws_restXmlPutBucketOwnershipControlsCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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[\"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-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\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[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\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-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-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-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_restXmlPutObjectCommandError = function deserializeAws_restXmlPutObjectCommandError(output, context) {\n return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectAclCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectRetentionCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlPutObjectTaggingCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlRestoreObjectCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, _b, _c, parsedBody, message;\n\n var _d;\n\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4\n /*yield*/\n , parseBody(output.body, context)];\n\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n\n switch (_b) {\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 _c = [{}];\n return [4\n /*yield*/\n , deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context)];\n\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlSelectObjectContentCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlUploadPartCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\n ETag: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined\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\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\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-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\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[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\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, response, errorCode, parsedBody, message;\n\n var _b;\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 >= 300) {\n return [2\n /*return*/\n , deserializeAws_restXmlUploadPartCopyCommandError(output, context)];\n }\n\n contents = {\n $metadata: deserializeMetadata(output),\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-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-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 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, response, errorCode, parsedBody, message;\n\n var _b;\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[\"Progress\"] !== undefined)) return [3\n /*break*/\n , 4];\n _b = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlProgressEvent_event(output[\"Progress\"], context)];\n\n case 3:\n return [2\n /*return*/\n , (_b.Progress = _f.sent(), _b)];\n\n case 4:\n if (!(output[\"Stats\"] !== undefined)) return [3\n /*break*/\n , 6];\n _c = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlStatsEvent_event(output[\"Stats\"], context)];\n\n case 5:\n return [2\n /*return*/\n , (_c.Stats = _f.sent(), _c)];\n\n case 6:\n if (!(output[\"End\"] !== undefined)) return [3\n /*break*/\n , 8];\n _d = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlEndEvent_event(output[\"End\"], context)];\n\n case 7:\n return [2\n /*return*/\n , (_d.End = _f.sent(), _d)];\n\n case 8:\n if (!(output[\"Records\"] !== undefined)) return [3\n /*break*/\n , 10];\n _e = {};\n return [4\n /*yield*/\n , deserializeAws_restXmlRecordsEvent_event(output[\"Records\"], context)];\n\n case 9:\n return [2\n /*return*/\n , (_e.Records = _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 _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 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 _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.StorageClassAnalysis !== undefined) {\n var node = serializeAws_restXmlStorageClassAnalysis(input.StorageClassAnalysis, context).withName(\"StorageClassAnalysis\");\n bodyNode.addChildNode(node);\n }\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 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.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 if (input.And !== undefined) {\n var node = serializeAws_restXmlAnalyticsAndOperator(input.And, context).withName(\"And\");\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.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\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.Bucket !== undefined) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\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 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_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.KeyPrefixEquals !== undefined) {\n var node = new __XmlNode(\"KeyPrefixEquals\").addChildNode(new __XmlText(input.KeyPrefixEquals)).withName(\"KeyPrefixEquals\");\n bodyNode.addChildNode(node);\n }\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 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.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.MaxAgeSeconds !== undefined) {\n var node = new __XmlNode(\"MaxAgeSeconds\").addChildNode(new __XmlText(String(input.MaxAgeSeconds))).withName(\"MaxAgeSeconds\");\n bodyNode.addChildNode(node);\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.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 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_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_restXmlCSVInput = function serializeAws_restXmlCSVInput(input, context) {\n var bodyNode = new __XmlNode(\"CSVInput\");\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.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.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 if (input.Comments !== undefined) {\n var node = new __XmlNode(\"Comments\").addChildNode(new __XmlText(input.Comments)).withName(\"Comments\");\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.QuoteFields !== undefined) {\n var node = new __XmlNode(\"QuoteFields\").addChildNode(new __XmlText(input.QuoteFields)).withName(\"QuoteFields\");\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.RecordDelimiter !== undefined) {\n var node = new __XmlNode(\"RecordDelimiter\").addChildNode(new __XmlText(input.RecordDelimiter)).withName(\"RecordDelimiter\");\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 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.EncryptionConfiguration !== undefined) {\n var node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName(\"EncryptionConfiguration\");\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.Account !== undefined) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.Account)).withName(\"Account\");\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.Metrics !== undefined) {\n var node = serializeAws_restXmlMetrics(input.Metrics, context).withName(\"Metrics\");\n bodyNode.addChildNode(node);\n }\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.ReplicationTime !== undefined) {\n var node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName(\"ReplicationTime\");\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.KMSKeyId !== undefined) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KMSKeyId)).withName(\"KMSKeyId\");\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.EncryptionType !== undefined) {\n var node = new __XmlNode(\"ServerSideEncryption\").addChildNode(new __XmlText(input.EncryptionType)).withName(\"EncryptionType\");\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.EmailAddress !== undefined) {\n var node = new __XmlNode(\"EmailAddress\").addChildNode(new __XmlText(input.EmailAddress)).withName(\"EmailAddress\");\n bodyNode.addChildNode(node);\n }\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.URI !== undefined) {\n var node = new __XmlNode(\"URI\").addChildNode(new __XmlText(input.URI)).withName(\"URI\");\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 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.JSON !== undefined) {\n var node = serializeAws_restXmlJSONInput(input.JSON, context).withName(\"JSON\");\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.Parquet !== undefined) {\n var node = serializeAws_restXmlParquetInput(input.Parquet, context).withName(\"Parquet\");\n bodyNode.addChildNode(node);\n }\n\n if (input.CSV !== undefined) {\n var node = serializeAws_restXmlCSVInput(input.CSV, context).withName(\"CSV\");\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.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.Schedule !== undefined) {\n var node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName(\"Schedule\");\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.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.Destination !== undefined) {\n var node = serializeAws_restXmlInventoryDestination(input.Destination, context).withName(\"Destination\");\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 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.Format !== undefined) {\n var node = new __XmlNode(\"InventoryFormat\").addChildNode(new __XmlText(input.Format)).withName(\"Format\");\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.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\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.AccountId !== undefined) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.AccountId)).withName(\"AccountId\");\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.LambdaFunctionArn !== undefined) {\n var node = new __XmlNode(\"LambdaFunctionArn\").addChildNode(new __XmlText(input.LambdaFunctionArn)).withName(\"CloudFunction\");\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 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.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 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 return bodyNode;\n};\n\nvar serializeAws_restXmlLifecycleRule = function serializeAws_restXmlLifecycleRule(input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRule\");\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.Expiration !== undefined) {\n var node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName(\"Expiration\");\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.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 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.NoncurrentVersionExpiration !== undefined) {\n var node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName(\"NoncurrentVersionExpiration\");\n bodyNode.addChildNode(node);\n }\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.Filter !== undefined) {\n var node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName(\"Filter\");\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 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.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.TargetBucket !== undefined) {\n var node = new __XmlNode(\"TargetBucket\").addChildNode(new __XmlText(input.TargetBucket)).withName(\"TargetBucket\");\n bodyNode.addChildNode(node);\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.Value !== undefined) {\n var node = new __XmlNode(\"MetadataValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\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 return bodyNode;\n};\n\nvar serializeAws_restXmlMetrics = function serializeAws_restXmlMetrics(input, context) {\n var bodyNode = new __XmlNode(\"Metrics\");\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 if (input.EventThreshold !== undefined) {\n var node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName(\"EventThreshold\");\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.Id !== undefined) {\n var node = new __XmlNode(\"MetricsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Filter !== undefined) {\n var node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName(\"Filter\");\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.StorageClass !== undefined) {\n var node = new __XmlNode(\"TransitionStorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\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_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.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 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.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 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.JSON !== undefined) {\n var node = serializeAws_restXmlJSONOutput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n\n if (input.CSV !== undefined) {\n var node = serializeAws_restXmlCSVOutput(input.CSV, context).withName(\"CSV\");\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_restXmlOwnershipControls = function serializeAws_restXmlOwnershipControls(input, context) {\n var bodyNode = new __XmlNode(\"OwnershipControls\");\n\n if (input.Rules !== undefined) {\n var nodes = serializeAws_restXmlOwnershipControlsRules(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_restXmlOwnershipControlsRule = function serializeAws_restXmlOwnershipControlsRule(input, context) {\n var bodyNode = new __XmlNode(\"OwnershipControlsRule\");\n\n if (input.ObjectOwnership !== undefined) {\n var node = new __XmlNode(\"ObjectOwnership\").addChildNode(new __XmlText(input.ObjectOwnership)).withName(\"ObjectOwnership\");\n bodyNode.addChildNode(node);\n }\n\n return bodyNode;\n};\n\nvar serializeAws_restXmlOwnershipControlsRules = function serializeAws_restXmlOwnershipControlsRules(input, context) {\n return input.map(function (entry) {\n var node = serializeAws_restXmlOwnershipControlsRule(entry, context);\n return node.withName(\"member\");\n });\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.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.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.RestrictPublicBuckets !== undefined) {\n var node = new __XmlNode(\"Setting\").addChildNode(new __XmlText(String(input.RestrictPublicBuckets))).withName(\"RestrictPublicBuckets\");\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 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.Id !== undefined) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\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.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.HttpRedirectCode !== undefined) {\n var node = new __XmlNode(\"HttpRedirectCode\").addChildNode(new __XmlText(input.HttpRedirectCode)).withName(\"HttpRedirectCode\");\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.Protocol !== undefined) {\n var node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\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.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.Protocol !== undefined) {\n var node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\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 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.Prefix !== undefined) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\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.SourceSelectionCriteria !== undefined) {\n var node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName(\"SourceSelectionCriteria\");\n bodyNode.addChildNode(node);\n }\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.Filter !== undefined) {\n var node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName(\"Filter\");\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.Status !== undefined) {\n var node = new __XmlNode(\"ReplicationRuleStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\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.Destination !== undefined) {\n var node = serializeAws_restXmlDestination(input.Destination, context).withName(\"Destination\");\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.Tag !== undefined) {\n var node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\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.And !== undefined) {\n var node = serializeAws_restXmlReplicationRuleAndOperator(input.And, context).withName(\"And\");\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.Time !== undefined) {\n var node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName(\"Time\");\n bodyNode.addChildNode(node);\n }\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 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.GlacierJobParameters !== undefined) {\n var node = serializeAws_restXmlGlacierJobParameters(input.GlacierJobParameters, context).withName(\"GlacierJobParameters\");\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.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.Description !== undefined) {\n var node = new __XmlNode(\"Description\").addChildNode(new __XmlText(input.Description)).withName(\"Description\");\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.Redirect !== undefined) {\n var node = serializeAws_restXmlRedirect(input.Redirect, context).withName(\"Redirect\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Condition !== undefined) {\n var node = serializeAws_restXmlCondition(input.Condition, context).withName(\"Condition\");\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.BucketName !== undefined) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.BucketName)).withName(\"BucketName\");\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.CannedACL !== undefined) {\n var node = new __XmlNode(\"ObjectCannedACL\").addChildNode(new __XmlText(input.CannedACL)).withName(\"CannedACL\");\n bodyNode.addChildNode(node);\n }\n\n if (input.UserMetadata !== undefined) {\n var nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context);\n var containerNode_4 = new __XmlNode(\"UserMetadata\");\n nodes.map(function (node) {\n containerNode_4.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_4);\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.Tagging !== undefined) {\n var node = serializeAws_restXmlTagging(input.Tagging, context).withName(\"Tagging\");\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.AccessControlList !== undefined) {\n var nodes = serializeAws_restXmlGrants(input.AccessControlList, context);\n var containerNode_5 = new __XmlNode(\"AccessControlList\");\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_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.ExpressionType !== undefined) {\n var node = new __XmlNode(\"ExpressionType\").addChildNode(new __XmlText(input.ExpressionType)).withName(\"ExpressionType\");\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 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.InputSerialization !== undefined) {\n var node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\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.SSEAlgorithm !== undefined) {\n var node = new __XmlNode(\"ServerSideEncryption\").addChildNode(new __XmlText(input.SSEAlgorithm)).withName(\"SSEAlgorithm\");\n bodyNode.addChildNode(node);\n }\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 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_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_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_restXmlSSES3 = function serializeAws_restXmlSSES3(input, context) {\n var bodyNode = new __XmlNode(\"SSE-S3\");\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.OutputSchemaVersion !== undefined) {\n var node = new __XmlNode(\"StorageClassAnalysisSchemaVersion\").addChildNode(new __XmlText(input.OutputSchemaVersion)).withName(\"OutputSchemaVersion\");\n bodyNode.addChildNode(node);\n }\n\n if (input.Destination !== undefined) {\n var node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName(\"Destination\");\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.Value !== undefined) {\n var node = new __XmlNode(\"Value\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\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_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_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_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.TopicArn !== undefined) {\n var node = new __XmlNode(\"TopicArn\").addChildNode(new __XmlText(input.TopicArn)).withName(\"Topic\");\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 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.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.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.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.Status !== undefined) {\n var node = new __XmlNode(\"BucketVersioningStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\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 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.RedirectAllRequestsTo !== undefined) {\n var node = serializeAws_restXmlRedirectAllRequestsTo(input.RedirectAllRequestsTo, context).withName(\"RedirectAllRequestsTo\");\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.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 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 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 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 StorageClassAnalysis: undefined,\n Filter: undefined,\n Id: undefined\n };\n\n if (output[\"StorageClassAnalysis\"] !== undefined) {\n contents.StorageClassAnalysis = deserializeAws_restXmlStorageClassAnalysis(output[\"StorageClassAnalysis\"], context);\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 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 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 Prefix: undefined,\n Tag: undefined,\n And: undefined\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 if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlAnalyticsAndOperator(output[\"And\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlAnalyticsS3BucketDestination = function deserializeAws_restXmlAnalyticsS3BucketDestination(output, context) {\n var contents = {\n Prefix: undefined,\n BucketAccountId: undefined,\n Bucket: undefined,\n Format: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"BucketAccountId\"] !== undefined) {\n contents.BucketAccountId = output[\"BucketAccountId\"];\n }\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlBucket = function deserializeAws_restXmlBucket(output, context) {\n var contents = {\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_restXmlCommonPrefix = function deserializeAws_restXmlCommonPrefix(output, context) {\n var contents = {\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 KeyPrefixEquals: undefined,\n HttpErrorCodeReturnedEquals: undefined\n };\n\n if (output[\"KeyPrefixEquals\"] !== undefined) {\n contents.KeyPrefixEquals = output[\"KeyPrefixEquals\"];\n }\n\n if (output[\"HttpErrorCodeReturnedEquals\"] !== undefined) {\n contents.HttpErrorCodeReturnedEquals = output[\"HttpErrorCodeReturnedEquals\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlCopyObjectResult = function deserializeAws_restXmlCopyObjectResult(output, context) {\n var contents = {\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 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_restXmlCORSRule = function deserializeAws_restXmlCORSRule(output, context) {\n var contents = {\n AllowedHeaders: undefined,\n AllowedOrigins: undefined,\n MaxAgeSeconds: undefined,\n ExposeHeaders: undefined,\n AllowedMethods: 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.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[\"MaxAgeSeconds\"] !== undefined) {\n contents.MaxAgeSeconds = parseInt(output[\"MaxAgeSeconds\"]);\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.AllowedMethod === \"\") {\n contents.AllowedMethods = [];\n }\n\n if (output[\"AllowedMethod\"] !== undefined) {\n contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(__getArrayIfSingleItem(output[\"AllowedMethod\"]), context);\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_restXmlDefaultRetention = function deserializeAws_restXmlDefaultRetention(output, context) {\n var contents = {\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_restXmlDeletedObject = function deserializeAws_restXmlDeletedObject(output, context) {\n var contents = {\n DeleteMarker: undefined,\n Key: undefined,\n VersionId: undefined,\n DeleteMarkerVersionId: undefined\n };\n\n if (output[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarker = output[\"DeleteMarker\"] == \"true\";\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 if (output[\"DeleteMarkerVersionId\"] !== undefined) {\n contents.DeleteMarkerVersionId = output[\"DeleteMarkerVersionId\"];\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_restXmlDeleteMarkerEntry = function deserializeAws_restXmlDeleteMarkerEntry(output, context) {\n var contents = {\n VersionId: undefined,\n LastModified: undefined,\n Key: undefined,\n IsLatest: undefined,\n Owner: undefined\n };\n\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlDeleteMarkerReplication = function deserializeAws_restXmlDeleteMarkerReplication(output, context) {\n var contents = {\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_restXmlDestination = function deserializeAws_restXmlDestination(output, context) {\n var contents = {\n EncryptionConfiguration: undefined,\n Bucket: undefined,\n Account: undefined,\n StorageClass: undefined,\n Metrics: undefined,\n AccessControlTranslation: undefined,\n ReplicationTime: undefined\n };\n\n if (output[\"EncryptionConfiguration\"] !== undefined) {\n contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(output[\"EncryptionConfiguration\"], context);\n }\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"Account\"] !== undefined) {\n contents.Account = output[\"Account\"];\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"Metrics\"] !== undefined) {\n contents.Metrics = deserializeAws_restXmlMetrics(output[\"Metrics\"], context);\n }\n\n if (output[\"AccessControlTranslation\"] !== undefined) {\n contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(output[\"AccessControlTranslation\"], context);\n }\n\n if (output[\"ReplicationTime\"] !== undefined) {\n contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output[\"ReplicationTime\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlEncryptionConfiguration = function deserializeAws_restXmlEncryptionConfiguration(output, context) {\n var contents = {\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 Message: undefined,\n Code: undefined,\n Key: undefined,\n VersionId: undefined\n };\n\n if (output[\"Message\"] !== undefined) {\n contents.Message = output[\"Message\"];\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[\"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 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 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 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 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 EmailAddress: undefined,\n DisplayName: undefined,\n URI: undefined,\n ID: undefined,\n Type: undefined\n };\n\n if (output[\"EmailAddress\"] !== undefined) {\n contents.EmailAddress = output[\"EmailAddress\"];\n }\n\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n\n if (output[\"URI\"] !== undefined) {\n contents.URI = output[\"URI\"];\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 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 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 ID: undefined,\n DisplayName: undefined\n };\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventoryConfiguration = function deserializeAws_restXmlInventoryConfiguration(output, context) {\n var contents = {\n IncludedObjectVersions: undefined,\n IsEnabled: undefined,\n Schedule: undefined,\n Filter: undefined,\n OptionalFields: undefined,\n Destination: undefined,\n Id: undefined\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[\"Schedule\"] !== undefined) {\n contents.Schedule = deserializeAws_restXmlInventorySchedule(output[\"Schedule\"], context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlInventoryFilter(output[\"Filter\"], context);\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[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlInventoryDestination(output[\"Destination\"], context);\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\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 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 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 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 Format: undefined,\n Encryption: undefined,\n Prefix: undefined,\n Bucket: undefined,\n AccountId: undefined\n };\n\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n\n if (output[\"Encryption\"] !== undefined) {\n contents.Encryption = deserializeAws_restXmlInventoryEncryption(output[\"Encryption\"], context);\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n\n if (output[\"AccountId\"] !== undefined) {\n contents.AccountId = output[\"AccountId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlInventorySchedule = function deserializeAws_restXmlInventorySchedule(output, context) {\n var contents = {\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 Events: undefined,\n Filter: undefined,\n LambdaFunctionArn: undefined,\n Id: 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[\"CloudFunction\"] !== undefined) {\n contents.LambdaFunctionArn = output[\"CloudFunction\"];\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\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 Days: undefined,\n ExpiredObjectDeleteMarker: undefined,\n Date: undefined\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 if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRule = function deserializeAws_restXmlLifecycleRule(output, context) {\n var contents = {\n NoncurrentVersionTransitions: undefined,\n Expiration: undefined,\n ID: undefined,\n Transitions: undefined,\n Prefix: undefined,\n NoncurrentVersionExpiration: undefined,\n AbortIncompleteMultipartUpload: undefined,\n Filter: undefined,\n Status: undefined\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[\"Expiration\"] !== undefined) {\n contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output[\"Expiration\"], context);\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\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 if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"NoncurrentVersionExpiration\"] !== undefined) {\n contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration(output[\"NoncurrentVersionExpiration\"], context);\n }\n\n if (output[\"AbortIncompleteMultipartUpload\"] !== undefined) {\n contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload(output[\"AbortIncompleteMultipartUpload\"], context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlLifecycleRuleAndOperator = function deserializeAws_restXmlLifecycleRuleAndOperator(output, context) {\n var contents = {\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 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 TargetGrants: undefined,\n TargetBucket: undefined,\n TargetPrefix: undefined\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[\"TargetBucket\"] !== undefined) {\n contents.TargetBucket = output[\"TargetBucket\"];\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 Status: undefined,\n EventThreshold: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output[\"EventThreshold\"] !== undefined) {\n contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output[\"EventThreshold\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlMetricsAndOperator = function deserializeAws_restXmlMetricsAndOperator(output, context) {\n var contents = {\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 Id: undefined,\n Filter: undefined\n };\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlMetricsFilter(output[\"Filter\"], context);\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 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 Initiator: undefined,\n UploadId: undefined,\n Key: undefined,\n Owner: undefined,\n StorageClass: undefined,\n Initiated: undefined\n };\n\n if (output[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(output[\"Initiator\"], context);\n }\n\n if (output[\"UploadId\"] !== undefined) {\n contents.UploadId = output[\"UploadId\"];\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[\"Initiated\"] !== undefined) {\n contents.Initiated = new Date(output[\"Initiated\"]);\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 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 StorageClass: undefined,\n NoncurrentDays: undefined\n };\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\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 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 Size: undefined,\n ETag: undefined,\n Owner: undefined,\n StorageClass: undefined,\n Key: undefined,\n LastModified: undefined\n };\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\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[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\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 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 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 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 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 Size: undefined,\n Key: undefined,\n StorageClass: undefined,\n Owner: undefined,\n IsLatest: undefined,\n ETag: undefined,\n LastModified: undefined,\n VersionId: undefined\n };\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\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[\"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 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_restXmlOwnershipControls = function deserializeAws_restXmlOwnershipControls(output, context) {\n var contents = {\n Rules: undefined\n };\n\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlOwnershipControlsRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlOwnershipControlsRule = function deserializeAws_restXmlOwnershipControlsRule(output, context) {\n var contents = {\n ObjectOwnership: undefined\n };\n\n if (output[\"ObjectOwnership\"] !== undefined) {\n contents.ObjectOwnership = output[\"ObjectOwnership\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlOwnershipControlsRules = function deserializeAws_restXmlOwnershipControlsRules(output, context) {\n return (output || []).map(function (entry) {\n return deserializeAws_restXmlOwnershipControlsRule(entry, context);\n });\n};\n\nvar deserializeAws_restXmlPart = function deserializeAws_restXmlPart(output, context) {\n var contents = {\n Size: undefined,\n LastModified: undefined,\n PartNumber: undefined,\n ETag: undefined\n };\n\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\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[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\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 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 BlockPublicPolicy: undefined,\n BlockPublicAcls: undefined,\n RestrictPublicBuckets: undefined,\n IgnorePublicAcls: undefined\n };\n\n if (output[\"BlockPublicPolicy\"] !== undefined) {\n contents.BlockPublicPolicy = output[\"BlockPublicPolicy\"] == \"true\";\n }\n\n if (output[\"BlockPublicAcls\"] !== undefined) {\n contents.BlockPublicAcls = output[\"BlockPublicAcls\"] == \"true\";\n }\n\n if (output[\"RestrictPublicBuckets\"] !== undefined) {\n contents.RestrictPublicBuckets = output[\"RestrictPublicBuckets\"] == \"true\";\n }\n\n if (output[\"IgnorePublicAcls\"] !== undefined) {\n contents.IgnorePublicAcls = output[\"IgnorePublicAcls\"] == \"true\";\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlQueueConfiguration = function deserializeAws_restXmlQueueConfiguration(output, context) {\n var contents = {\n Events: undefined,\n Id: undefined,\n Filter: 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[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\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 HttpRedirectCode: undefined,\n ReplaceKeyPrefixWith: undefined,\n Protocol: undefined,\n HostName: undefined,\n ReplaceKeyWith: undefined\n };\n\n if (output[\"HttpRedirectCode\"] !== undefined) {\n contents.HttpRedirectCode = output[\"HttpRedirectCode\"];\n }\n\n if (output[\"ReplaceKeyPrefixWith\"] !== undefined) {\n contents.ReplaceKeyPrefixWith = output[\"ReplaceKeyPrefixWith\"];\n }\n\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\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 Protocol: undefined,\n HostName: undefined\n };\n\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationConfiguration = function deserializeAws_restXmlReplicationConfiguration(output, context) {\n var contents = {\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 Prefix: undefined,\n ID: undefined,\n SourceSelectionCriteria: undefined,\n DeleteMarkerReplication: undefined,\n Filter: undefined,\n Priority: undefined,\n Status: undefined,\n ExistingObjectReplication: undefined,\n Destination: undefined\n };\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n\n if (output[\"SourceSelectionCriteria\"] !== undefined) {\n contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(output[\"SourceSelectionCriteria\"], context);\n }\n\n if (output[\"DeleteMarkerReplication\"] !== undefined) {\n contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(output[\"DeleteMarkerReplication\"], context);\n }\n\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlReplicationRuleFilter(output[\"Filter\"], context);\n }\n\n if (output[\"Priority\"] !== undefined) {\n contents.Priority = parseInt(output[\"Priority\"]);\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n if (output[\"ExistingObjectReplication\"] !== undefined) {\n contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(output[\"ExistingObjectReplication\"], context);\n }\n\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlDestination(output[\"Destination\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationRuleAndOperator = function deserializeAws_restXmlReplicationRuleAndOperator(output, context) {\n var contents = {\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 Tag: undefined,\n Prefix: undefined,\n And: undefined\n };\n\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlReplicationRuleAndOperator(output[\"And\"], 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 Time: undefined,\n Status: undefined\n };\n\n if (output[\"Time\"] !== undefined) {\n contents.Time = deserializeAws_restXmlReplicationTimeValue(output[\"Time\"], context);\n }\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlReplicationTimeValue = function deserializeAws_restXmlReplicationTimeValue(output, context) {\n var contents = {\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 Redirect: undefined,\n Condition: undefined\n };\n\n if (output[\"Redirect\"] !== undefined) {\n contents.Redirect = deserializeAws_restXmlRedirect(output[\"Redirect\"], context);\n }\n\n if (output[\"Condition\"] !== undefined) {\n contents.Condition = deserializeAws_restXmlCondition(output[\"Condition\"], 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 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_restXmlServerSideEncryptionByDefault = function deserializeAws_restXmlServerSideEncryptionByDefault(output, context) {\n var contents = {\n SSEAlgorithm: undefined,\n KMSMasterKeyID: undefined\n };\n\n if (output[\"SSEAlgorithm\"] !== undefined) {\n contents.SSEAlgorithm = output[\"SSEAlgorithm\"];\n }\n\n if (output[\"KMSMasterKeyID\"] !== undefined) {\n contents.KMSMasterKeyID = output[\"KMSMasterKeyID\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlServerSideEncryptionConfiguration = function deserializeAws_restXmlServerSideEncryptionConfiguration(output, context) {\n var contents = {\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 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 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_restXmlSSEKMS = function deserializeAws_restXmlSSEKMS(output, context) {\n var contents = {\n KeyId: undefined\n };\n\n if (output[\"KeyId\"] !== undefined) {\n contents.KeyId = output[\"KeyId\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlSseKmsEncryptedObjects = function deserializeAws_restXmlSseKmsEncryptedObjects(output, context) {\n var contents = {\n Status: undefined\n };\n\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlSSES3 = function deserializeAws_restXmlSSES3(output, context) {\n var contents = {};\n return contents;\n};\n\nvar deserializeAws_restXmlStorageClassAnalysis = function deserializeAws_restXmlStorageClassAnalysis(output, context) {\n var contents = {\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 OutputSchemaVersion: undefined,\n Destination: undefined\n };\n\n if (output[\"OutputSchemaVersion\"] !== undefined) {\n contents.OutputSchemaVersion = output[\"OutputSchemaVersion\"];\n }\n\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output[\"Destination\"], context);\n }\n\n return contents;\n};\n\nvar deserializeAws_restXmlTag = function deserializeAws_restXmlTag(output, context) {\n var contents = {\n Value: undefined,\n Key: undefined\n };\n\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\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 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 Events: undefined,\n Filter: undefined,\n TopicArn: undefined,\n Id: 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[\"Topic\"] !== undefined) {\n contents.TopicArn = output[\"Topic\"];\n }\n\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\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 Days: undefined,\n Date: undefined,\n StorageClass: undefined\n };\n\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\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":""}