@opencode-ai/cli-linux-x64-baseline 0.0.0-beta-202606050000

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/bin/chunk-01tb5qes.js.map +131 -0
  2. package/bin/chunk-06d8aa69.js.map +10 -0
  3. package/bin/chunk-07w2xsfy.js.map +50 -0
  4. package/bin/chunk-0azwkk9z.js.map +12 -0
  5. package/bin/chunk-0d9ja06r.js.map +9 -0
  6. package/bin/chunk-14kv2kjk.js.map +13 -0
  7. package/bin/chunk-17j53wgt.js.map +11 -0
  8. package/bin/chunk-191djt7z.js.map +113 -0
  9. package/bin/chunk-1brm44vt.js.map +10 -0
  10. package/bin/chunk-1jb1dn9p.js.map +10 -0
  11. package/bin/chunk-1paeax4j.js.map +56 -0
  12. package/bin/chunk-1wb39pye.js.map +9 -0
  13. package/bin/chunk-2mjmecen.js.map +10 -0
  14. package/bin/chunk-2wqpg9fb.js.map +10 -0
  15. package/bin/chunk-32ewzcjk.js.map +10 -0
  16. package/bin/chunk-334z6v35.js.map +9 -0
  17. package/bin/chunk-3jqjf0hd.js.map +10 -0
  18. package/bin/chunk-3n6vddyq.js.map +73 -0
  19. package/bin/chunk-3zmvhepw.js.map +10 -0
  20. package/bin/chunk-4980h0t7.js.map +37 -0
  21. package/bin/chunk-4q5k6a0e.js.map +10 -0
  22. package/bin/chunk-5ft9zwf9.js.map +10 -0
  23. package/bin/chunk-6ttpn29p.js.map +10 -0
  24. package/bin/chunk-7fvpf4bs.js.map +10 -0
  25. package/bin/chunk-7vb6kdat.js.map +10 -0
  26. package/bin/chunk-84amh6xf.js.map +11 -0
  27. package/bin/chunk-8akfq1ty.js.map +19 -0
  28. package/bin/chunk-8rd9r1gb.js.map +11 -0
  29. package/bin/chunk-8x80qvzn.js.map +10 -0
  30. package/bin/chunk-943th5qs.js.map +10 -0
  31. package/bin/chunk-94yf089p.js.map +10 -0
  32. package/bin/chunk-98cxndhz.js.map +9 -0
  33. package/bin/chunk-9f8tmby0.js.map +9 -0
  34. package/bin/chunk-9fbstsnw.js.map +9 -0
  35. package/bin/chunk-9hq8aywf.js.map +10 -0
  36. package/bin/chunk-9m7hf7ms.js.map +10 -0
  37. package/bin/chunk-9vf55fj3.js.map +10 -0
  38. package/bin/chunk-9w9rk9en.js.map +20 -0
  39. package/bin/chunk-9y4hgfns.js.map +10 -0
  40. package/bin/chunk-aag5p1fp.js.map +10 -0
  41. package/bin/chunk-axy1v6wd.js.map +27 -0
  42. package/bin/chunk-bj9msmj2.js.map +10 -0
  43. package/bin/chunk-bt0r89ee.js.map +9 -0
  44. package/bin/chunk-c2gsyspz.js.map +10 -0
  45. package/bin/chunk-c8hr0q5n.js.map +10 -0
  46. package/bin/chunk-cab6ccj0.js.map +10 -0
  47. package/bin/chunk-ck4nkjtx.js.map +193 -0
  48. package/bin/chunk-cvm4kr56.js.map +23 -0
  49. package/bin/chunk-cyb9bpgm.js.map +10 -0
  50. package/bin/chunk-d1p8awq6.js.map +10 -0
  51. package/bin/chunk-d6nz1m6v.js.map +10 -0
  52. package/bin/chunk-d9g5798m.js.map +81 -0
  53. package/bin/chunk-dcn0azxw.js.map +10 -0
  54. package/bin/chunk-dd9pfwmr.js.map +10 -0
  55. package/bin/chunk-dk4qekzk.js.map +10 -0
  56. package/bin/chunk-dk9tgwkh.js.map +9 -0
  57. package/bin/chunk-dzzhxh1c.js.map +10 -0
  58. package/bin/chunk-efsmps94.js.map +9 -0
  59. package/bin/chunk-fdw7znt6.js.map +11 -0
  60. package/bin/chunk-fs6t8jdg.js.map +10 -0
  61. package/bin/chunk-fzcqzwx5.js.map +10 -0
  62. package/bin/chunk-g4fcmhkj.js.map +11 -0
  63. package/bin/chunk-g4ff66n8.js.map +10 -0
  64. package/bin/chunk-g8mpn6ke.js.map +11 -0
  65. package/bin/chunk-gahs293a.js.map +10 -0
  66. package/bin/chunk-gh9dcqbv.js.map +10 -0
  67. package/bin/chunk-grvxd8zq.js.map +10 -0
  68. package/bin/chunk-gv6nagng.js.map +10 -0
  69. package/bin/chunk-h1vz14ze.js.map +167 -0
  70. package/bin/chunk-hav16yge.js.map +10 -0
  71. package/bin/chunk-hp5nnq6f.js.map +11 -0
  72. package/bin/chunk-hrcbafh3.js.map +9 -0
  73. package/bin/chunk-hxfsfpek.js.map +10 -0
  74. package/bin/chunk-jcqp2wmf.js.map +10 -0
  75. package/bin/chunk-jt9t8203.js.map +9 -0
  76. package/bin/chunk-k0980eb5.js.map +10 -0
  77. package/bin/chunk-kghptcgb.js.map +9 -0
  78. package/bin/chunk-kkvk5eez.js.map +10 -0
  79. package/bin/chunk-kv0b3sh5.js.map +10 -0
  80. package/bin/chunk-kvfs5rat.js.map +10 -0
  81. package/bin/chunk-mf0qqhvb.js.map +10 -0
  82. package/bin/chunk-mkze6twx.js.map +10 -0
  83. package/bin/chunk-mzjs3qj3.js.map +10 -0
  84. package/bin/chunk-n10mj2m3.js.map +17 -0
  85. package/bin/chunk-n2fbt143.js.map +9 -0
  86. package/bin/chunk-n6a0rctn.js.map +9 -0
  87. package/bin/chunk-nd3yv9bg.js.map +388 -0
  88. package/bin/chunk-njn9a3jp.js.map +13 -0
  89. package/bin/chunk-nkhzpsnk.js.map +13 -0
  90. package/bin/chunk-ny5cyeha.js.map +10 -0
  91. package/bin/chunk-p3nkd9t2.js.map +10 -0
  92. package/bin/chunk-p3pr1t3k.js.map +10 -0
  93. package/bin/chunk-p7j7e7hb.js.map +10 -0
  94. package/bin/chunk-p89bk96c.js.map +10 -0
  95. package/bin/chunk-pnkd37ss.js.map +20 -0
  96. package/bin/chunk-prat77ba.js.map +577 -0
  97. package/bin/chunk-q6nf6fka.js.map +10 -0
  98. package/bin/chunk-qbpebjh2.js.map +10 -0
  99. package/bin/chunk-qzx2gre7.js.map +13 -0
  100. package/bin/chunk-r55kafff.js.map +9 -0
  101. package/bin/chunk-rrwp4x01.js.map +10 -0
  102. package/bin/chunk-rt02k446.js.map +11 -0
  103. package/bin/chunk-s39nwv01.js.map +9 -0
  104. package/bin/chunk-s983v0dp.js.map +10 -0
  105. package/bin/chunk-san15sca.js.map +10 -0
  106. package/bin/chunk-sfk73pp2.js.map +10 -0
  107. package/bin/chunk-sjd3wbjd.js.map +10 -0
  108. package/bin/chunk-swbdmja3.js.map +10 -0
  109. package/bin/chunk-tc8tvjey.js.map +33 -0
  110. package/bin/chunk-tcqtz83b.js.map +10 -0
  111. package/bin/chunk-tgxxchfy.js.map +28 -0
  112. package/bin/chunk-tvxakxv2.js.map +10 -0
  113. package/bin/chunk-v81ta3tx.js.map +15 -0
  114. package/bin/chunk-va2h4xya.js.map +37 -0
  115. package/bin/chunk-vezq3hc4.js.map +9 -0
  116. package/bin/chunk-vmbpvmpg.js.map +10 -0
  117. package/bin/chunk-w7p62pb6.js.map +17 -0
  118. package/bin/chunk-wr4x72qd.js.map +13 -0
  119. package/bin/chunk-x3ywttp7.js.map +10 -0
  120. package/bin/chunk-x988wmrk.js.map +10 -0
  121. package/bin/chunk-x9zjg1f7.js.map +20 -0
  122. package/bin/chunk-xaqrhtz6.js.map +10 -0
  123. package/bin/chunk-xd2mrkwy.js.map +10 -0
  124. package/bin/chunk-xfh2377b.js.map +10 -0
  125. package/bin/chunk-xs0ras4j.js.map +51 -0
  126. package/bin/chunk-xt7ap9fb.js.map +10 -0
  127. package/bin/chunk-xya5qk3h.js.map +16 -0
  128. package/bin/chunk-yg7w4jgd.js.map +10 -0
  129. package/bin/chunk-yhpv46tb.js.map +20 -0
  130. package/bin/chunk-ymy66kr8.js.map +15 -0
  131. package/bin/chunk-yx4z6xsb.js.map +11 -0
  132. package/bin/chunk-yymwxqpy.js.map +10 -0
  133. package/bin/chunk-z70c75xe.js.map +11 -0
  134. package/bin/chunk-zkqyr3hc.js.map +10 -0
  135. package/bin/index.js.map +12 -0
  136. package/bin/lildax +0 -0
  137. package/package.json +15 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../node_modules/.bun/@smithy+signature-v4@5.4.5/node_modules/@smithy/signature-v4/dist-cjs/index.js", "../../node_modules/.bun/@aws-sdk+core@3.974.15/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js", "../../node_modules/.bun/@smithy+core@3.24.5/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js", "../../node_modules/.bun/fast-xml-parser@5.7.3/node_modules/fast-xml-parser/lib/fxp.cjs", "../../node_modules/.bun/@aws-sdk+xml-builder@3.972.26/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js", "../../node_modules/.bun/@aws-sdk+xml-builder@3.972.26/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js", "../../node_modules/.bun/@aws-sdk+xml-builder@3.972.26/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js", "../../node_modules/.bun/@aws-sdk+core@3.974.15/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js"],
4
+ "sourcesContent": [
5
+ "'use strict';\n\nvar serde = require('@smithy/core/serde');\nvar client = require('@smithy/core/client');\nvar protocols = require('@smithy/core/protocols');\n\nclass HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = serde.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = serde.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(serde.fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nclass Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(serde.toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n\nconst ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nconst CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nconst AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nconst SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nconst EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nconst SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nconst TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nconst REGION_SET_PARAM = \"X-Amz-Region-Set\";\nconst AUTH_HEADER = \"authorization\";\nconst AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nconst DATE_HEADER = \"date\";\nconst GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nconst SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nconst SHA256_HEADER = \"x-amz-content-sha256\";\nconst TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nconst HOST_HEADER = \"host\";\nconst ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nconst PROXY_HEADER_PATTERN = /^proxy-/;\nconst SEC_HEADER_PATTERN = /^sec-/;\nconst UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nconst ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nconst ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nconst EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nconst UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nconst MAX_CACHE_SIZE = 50;\nconst KEY_TYPE_IDENTIFIER = \"aws4_request\";\nconst MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n\nconst getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = protocols.escapeUri(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${protocols.escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[encodedKey] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${encodedKey}=${protocols.escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .sort()\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n\nconst iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nconst toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n\nclass SignatureV4Base {\n service;\n regionProvider;\n credentialProvider;\n sha256;\n uriEscapePath;\n applyChecksum;\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = client.normalizeProvider(region);\n this.credentialProvider = client.normalizeProvider(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update(serde.toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${serde.toHex(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = protocols.escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n}\n\nconst signingKeyCache = {};\nconst cacheQueue = [];\nconst createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nconst getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${serde.toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nconst clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(serde.toUint8Array(data));\n return hash.digest();\n};\n\nconst getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\n\nconst getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || serde.isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(serde.toUint8Array(body));\n return serde.toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n\nconst hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\n\nconst moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = protocols.HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if ((lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) ||\n options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n\nconst prepareRequest = (request) => {\n request = protocols.HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\n\nclass SignatureV4 extends SignatureV4Base {\n headerFormatter = new HeaderFormatter();\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath,\n });\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else if (toSign.message) {\n return this.signMessage(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService, eventStreamCredentials, }) {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = serde.toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, {\n signingDate,\n signingRegion: region,\n signingService,\n eventStreamCredentials,\n });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService, eventStreamCredentials }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n eventStreamCredentials,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService, eventStreamCredentials, } = {}) {\n const credentials = eventStreamCredentials ?? (await this.credentialProvider());\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(serde.toUint8Array(stringToSign));\n return serde.toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);\n const hash = new this.sha256(await keyPromise);\n hash.update(serde.toUint8Array(stringToSign));\n return serde.toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n\nconst signatureV4aContainer = {\n SignatureV4a: null,\n};\n\nexports.ALGORITHM_IDENTIFIER = ALGORITHM_IDENTIFIER;\nexports.ALGORITHM_IDENTIFIER_V4A = ALGORITHM_IDENTIFIER_V4A;\nexports.ALGORITHM_QUERY_PARAM = ALGORITHM_QUERY_PARAM;\nexports.ALWAYS_UNSIGNABLE_HEADERS = ALWAYS_UNSIGNABLE_HEADERS;\nexports.AMZ_DATE_HEADER = AMZ_DATE_HEADER;\nexports.AMZ_DATE_QUERY_PARAM = AMZ_DATE_QUERY_PARAM;\nexports.AUTH_HEADER = AUTH_HEADER;\nexports.CREDENTIAL_QUERY_PARAM = CREDENTIAL_QUERY_PARAM;\nexports.DATE_HEADER = DATE_HEADER;\nexports.EVENT_ALGORITHM_IDENTIFIER = EVENT_ALGORITHM_IDENTIFIER;\nexports.EXPIRES_QUERY_PARAM = EXPIRES_QUERY_PARAM;\nexports.GENERATED_HEADERS = GENERATED_HEADERS;\nexports.HOST_HEADER = HOST_HEADER;\nexports.KEY_TYPE_IDENTIFIER = KEY_TYPE_IDENTIFIER;\nexports.MAX_CACHE_SIZE = MAX_CACHE_SIZE;\nexports.MAX_PRESIGNED_TTL = MAX_PRESIGNED_TTL;\nexports.PROXY_HEADER_PATTERN = PROXY_HEADER_PATTERN;\nexports.REGION_SET_PARAM = REGION_SET_PARAM;\nexports.SEC_HEADER_PATTERN = SEC_HEADER_PATTERN;\nexports.SHA256_HEADER = SHA256_HEADER;\nexports.SIGNATURE_HEADER = SIGNATURE_HEADER;\nexports.SIGNATURE_QUERY_PARAM = SIGNATURE_QUERY_PARAM;\nexports.SIGNED_HEADERS_QUERY_PARAM = SIGNED_HEADERS_QUERY_PARAM;\nexports.SignatureV4 = SignatureV4;\nexports.SignatureV4Base = SignatureV4Base;\nexports.TOKEN_HEADER = TOKEN_HEADER;\nexports.TOKEN_QUERY_PARAM = TOKEN_QUERY_PARAM;\nexports.UNSIGNABLE_PATTERNS = UNSIGNABLE_PATTERNS;\nexports.UNSIGNED_PAYLOAD = UNSIGNED_PAYLOAD;\nexports.clearCredentialCache = clearCredentialCache;\nexports.createScope = createScope;\nexports.getCanonicalHeaders = getCanonicalHeaders;\nexports.getCanonicalQuery = getCanonicalQuery;\nexports.getPayloadHash = getPayloadHash;\nexports.getSigningKey = getSigningKey;\nexports.hasHeader = hasHeader;\nexports.moveHeadersToQuery = moveHeadersToQuery;\nexports.prepareRequest = prepareRequest;\nexports.signatureV4aContainer = signatureV4aContainer;\n",
6
+ "'use strict';\n\nvar protocols = require('@smithy/core/protocols');\nvar core = require('@smithy/core');\nvar config = require('@smithy/core/config');\nvar client = require('@aws-sdk/core/client');\nvar signatureV4 = require('@smithy/signature-v4');\n\nconst getDateHeader = (response) => protocols.HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\n\nconst getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n\nconst isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n\nconst getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n\nconst throwSigningPropertyError = (name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n};\nconst validateSigningProperties = async (signingProperties) => {\n const context = throwSigningPropertyError(\"context\", signingProperties.context);\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\"signer\", config.signer);\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName,\n };\n};\nclass AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!protocols.HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: signingRegion,\n signingService: signingName,\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n}\nconst AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n\nclass AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!protocols.HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ??\n signingRegionSet ?? [signingRegion]).join(\",\");\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName,\n });\n return signedRequest;\n }\n}\n\nconst getArrayForCommaSeparatedString = (str) => typeof str === \"string\" && str.length > 0 ? str.split(\",\").map((item) => item.trim()) : [];\n\nconst getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\\s-]/g, \"_\").toUpperCase()}`;\n\nconst NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = \"AWS_AUTH_SCHEME_PREFERENCE\";\nconst NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = \"auth_scheme_preference\";\nconst NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {\n environmentVariableSelector: (env, options) => {\n if (options?.signingName) {\n const bearerTokenKey = getBearerTokenEnvKey(options.signingName);\n if (bearerTokenKey in env)\n return [\"httpBearerAuth\"];\n }\n if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))\n return undefined;\n return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);\n },\n configFileSelector: (profile) => {\n if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))\n return undefined;\n return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);\n },\n default: [],\n};\n\nconst resolveAwsSdkSigV4AConfig = (config) => {\n config.sigv4aSigningRegionSet = core.normalizeProvider(config.sigv4aSigningRegionSet);\n return config;\n};\nconst NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new config.ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true,\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new config.ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true,\n });\n },\n default: undefined,\n};\n\nconst resolveAwsSdkSigV4Config = (config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = undefined;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider,\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n const isCredentialObject = typeof inputCredentials === \"object\" && inputCredentials !== null;\n resolvedCredentials = async (options) => {\n const creds = await boundProvider(options);\n const attributedCreds = creds;\n if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {\n return client.setCredentialFeature(attributedCreds, \"CREDENTIALS_CODE\", \"e\");\n }\n return attributedCreds;\n };\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n }\n else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true,\n });\n config.credentials = inputCredentials;\n const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;\n let signer;\n if (config.signer) {\n signer = core.normalizeProvider(config.signer);\n }\n else if (config.regionInfoProvider) {\n signer = () => core.normalizeProvider(config.region)()\n .then(async (region) => [\n (await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || signatureV4.SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await core.normalizeProvider(config.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || signatureV4.SignatureV4;\n return new SignerCtor(params);\n };\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer,\n });\n return resolvedConfig;\n};\nconst resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = core.memoizeIdentityProvider(credentials, core.isIdentityExpired, core.doesIdentityRequireRefresh);\n }\n else {\n credentialsProvider = credentials;\n }\n }\n else {\n if (credentialDefaultProvider) {\n credentialsProvider = core.normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n credentialsProvider = async () => {\n throw new Error(\"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\");\n };\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n\nexports.AWSSDKSigV4Signer = AWSSDKSigV4Signer;\nexports.AwsSdkSigV4ASigner = AwsSdkSigV4ASigner;\nexports.AwsSdkSigV4Signer = AwsSdkSigV4Signer;\nexports.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = NODE_AUTH_SCHEME_PREFERENCE_OPTIONS;\nexports.NODE_SIGV4A_CONFIG_OPTIONS = NODE_SIGV4A_CONFIG_OPTIONS;\nexports.getBearerTokenEnvKey = getBearerTokenEnvKey;\nexports.resolveAWSSDKSigV4Config = resolveAWSSDKSigV4Config;\nexports.resolveAwsSdkSigV4AConfig = resolveAwsSdkSigV4AConfig;\nexports.resolveAwsSdkSigV4Config = resolveAwsSdkSigV4Config;\nexports.validateSigningProperties = validateSigningProperties;\n",
7
+ "'use strict';\n\nvar serde = require('@smithy/core/serde');\nvar protocols = require('@smithy/core/protocols');\nvar client = require('@smithy/core/client');\nvar schema = require('@smithy/core/schema');\n\nconst majorUint64 = 0;\nconst majorNegativeInt64 = 1;\nconst majorUnstructuredByteString = 2;\nconst majorUtf8String = 3;\nconst majorList = 4;\nconst majorMap = 5;\nconst majorTag = 6;\nconst majorSpecial = 7;\nconst specialFalse = 20;\nconst specialTrue = 21;\nconst specialNull = 22;\nconst specialUndefined = 23;\nconst extendedOneByte = 24;\nconst extendedFloat16 = 25;\nconst extendedFloat32 = 26;\nconst extendedFloat64 = 27;\nconst minorIndefinite = 31;\nfunction alloc(size) {\n return typeof Buffer !== \"undefined\" ? Buffer.alloc(size) : new Uint8Array(size);\n}\nconst tagSymbol = Symbol(\"@smithy/core/cbor::tagSymbol\");\nfunction tag(data) {\n data[tagSymbol] = true;\n return data;\n}\n\nconst USE_TEXT_DECODER = typeof TextDecoder !== \"undefined\";\nconst USE_BUFFER$1 = typeof Buffer !== \"undefined\";\nlet payload = alloc(0);\nlet dataView$1 = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\nconst textDecoder = USE_TEXT_DECODER ? new TextDecoder() : null;\nlet _offset = 0;\nfunction setPayload(bytes) {\n payload = bytes;\n dataView$1 = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\n}\nfunction decode(at, to) {\n if (at >= to) {\n throw new Error(\"unexpected end of (decode) payload.\");\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n switch (major) {\n case majorUint64:\n case majorNegativeInt64:\n case majorTag:\n let unsignedInt;\n let offset;\n if (minor < 24) {\n unsignedInt = minor;\n offset = 1;\n }\n else {\n switch (minor) {\n case extendedOneByte:\n case extendedFloat16:\n case extendedFloat32:\n case extendedFloat64:\n const countLength = minorValueToArgumentLength[minor];\n const countOffset = (countLength + 1);\n offset = countOffset;\n if (to - at < countOffset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n unsignedInt = payload[countIndex];\n }\n else if (countLength === 2) {\n unsignedInt = dataView$1.getUint16(countIndex);\n }\n else if (countLength === 4) {\n unsignedInt = dataView$1.getUint32(countIndex);\n }\n else {\n unsignedInt = dataView$1.getBigUint64(countIndex);\n }\n break;\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n }\n if (major === majorUint64) {\n _offset = offset;\n return castBigInt(unsignedInt);\n }\n else if (major === majorNegativeInt64) {\n let negativeInt;\n if (typeof unsignedInt === \"bigint\") {\n negativeInt = BigInt(-1) - unsignedInt;\n }\n else {\n negativeInt = -1 - unsignedInt;\n }\n _offset = offset;\n return castBigInt(negativeInt);\n }\n else {\n if (minor === 2 || minor === 3) {\n const length = decodeCount(at + offset, to);\n let b = BigInt(0);\n const start = at + offset + _offset;\n for (let i = start; i < start + length; ++i) {\n b = (b << BigInt(8)) | BigInt(payload[i]);\n }\n _offset = offset + _offset + length;\n return minor === 3 ? -b - BigInt(1) : b;\n }\n else if (minor === 4) {\n const decimalFraction = decode(at + offset, to);\n const [exponent, mantissa] = decimalFraction;\n const normalizer = mantissa < 0 ? -1 : 1;\n const mantissaStr = \"0\".repeat(Math.abs(exponent) + 1) + String(BigInt(normalizer) * BigInt(mantissa));\n let numericString;\n const sign = mantissa < 0 ? \"-\" : \"\";\n numericString =\n exponent === 0\n ? mantissaStr\n : mantissaStr.slice(0, mantissaStr.length + exponent) + \".\" + mantissaStr.slice(exponent);\n numericString = numericString.replace(/^0+/g, \"\");\n if (numericString === \"\") {\n numericString = \"0\";\n }\n if (numericString[0] === \".\") {\n numericString = \"0\" + numericString;\n }\n numericString = sign + numericString;\n _offset = offset + _offset;\n return serde.nv(numericString);\n }\n else {\n const value = decode(at + offset, to);\n const valueOffset = _offset;\n _offset = offset + valueOffset;\n return tag({ tag: castBigInt(unsignedInt), value });\n }\n }\n case majorUtf8String:\n case majorMap:\n case majorList:\n case majorUnstructuredByteString:\n if (minor === minorIndefinite) {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8StringIndefinite(at, to);\n case majorMap:\n return decodeMapIndefinite(at, to);\n case majorList:\n return decodeListIndefinite(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteStringIndefinite(at, to);\n }\n }\n else {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8String(at, to);\n case majorMap:\n return decodeMap(at, to);\n case majorList:\n return decodeList(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteString(at, to);\n }\n }\n default:\n return decodeSpecial(at, to);\n }\n}\nfunction bytesToUtf8(bytes, at, to) {\n if (USE_BUFFER$1 && bytes.constructor?.name === \"Buffer\") {\n return bytes.toString(\"utf-8\", at, to);\n }\n if (textDecoder) {\n return textDecoder.decode(bytes.subarray(at, to));\n }\n return serde.toUtf8(bytes.subarray(at, to));\n}\nfunction demote(bigInteger) {\n const num = Number(bigInteger);\n if (num < Number.MIN_SAFE_INTEGER || Number.MAX_SAFE_INTEGER < num) {\n console.warn(new Error(`@smithy/core/cbor - truncating BigInt(${bigInteger}) to ${num} with loss of precision.`));\n }\n return num;\n}\nconst minorValueToArgumentLength = {\n [extendedOneByte]: 1,\n [extendedFloat16]: 2,\n [extendedFloat32]: 4,\n [extendedFloat64]: 8,\n};\nfunction bytesToFloat16(a, b) {\n const sign = a >> 7;\n const exponent = (a & 0b0111_1100) >> 2;\n const fraction = ((a & 0b0000_0011) << 8) | b;\n const scalar = sign === 0 ? 1 : -1;\n let exponentComponent;\n let summation;\n if (exponent === 0b00000) {\n if (fraction === 0b00000_00000) {\n return 0;\n }\n else {\n exponentComponent = Math.pow(2, 1 - 15);\n summation = 0;\n }\n }\n else if (exponent === 0b11111) {\n if (fraction === 0b00000_00000) {\n return scalar * Infinity;\n }\n else {\n return NaN;\n }\n }\n else {\n exponentComponent = Math.pow(2, exponent - 15);\n summation = 1;\n }\n summation += fraction / 1024;\n return scalar * (exponentComponent * summation);\n}\nfunction decodeCount(at, to) {\n const minor = payload[at] & 0b0001_1111;\n if (minor < 24) {\n _offset = 1;\n return minor;\n }\n if (minor === extendedOneByte ||\n minor === extendedFloat16 ||\n minor === extendedFloat32 ||\n minor === extendedFloat64) {\n const countLength = minorValueToArgumentLength[minor];\n _offset = (countLength + 1);\n if (to - at < _offset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n return payload[countIndex];\n }\n else if (countLength === 2) {\n return dataView$1.getUint16(countIndex);\n }\n else if (countLength === 4) {\n return dataView$1.getUint32(countIndex);\n }\n return demote(dataView$1.getBigUint64(countIndex));\n }\n throw new Error(`unexpected minor value ${minor}.`);\n}\nfunction decodeUtf8String(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`string len ${length} greater than remaining buf len.`);\n }\n const value = bytesToUtf8(payload, at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUtf8StringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return bytesToUtf8(data, 0, data.length);\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeUnstructuredByteString(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`unstructured byte string len ${length} greater than remaining buf len.`);\n }\n const value = payload.subarray(at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUnstructuredByteStringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return data;\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n if (major !== majorUnstructuredByteString) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeList(at, to) {\n const listDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const list = Array(listDataLength);\n for (let i = 0; i < listDataLength; ++i) {\n const item = decode(at, to);\n const itemOffset = _offset;\n list[i] = item;\n at += itemOffset;\n }\n _offset = offset + (at - base);\n return list;\n}\nfunction decodeListIndefinite(at, to) {\n at += 1;\n const list = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n _offset = at - base + 2;\n return list;\n }\n const item = decode(at, to);\n const n = _offset;\n at += n;\n list.push(item);\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeMap(at, to) {\n const mapDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const map = {};\n for (let i = 0; i < mapDataLength; ++i) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key at index ${at}.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n _offset = offset + (at - base);\n return map;\n}\nfunction decodeMapIndefinite(at, to) {\n at += 1;\n const base = at;\n const map = {};\n for (; at < to;) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n if (payload[at] === 0b1111_1111) {\n _offset = at - base + 2;\n return map;\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeSpecial(at, to) {\n const minor = payload[at] & 0b0001_1111;\n switch (minor) {\n case specialTrue:\n case specialFalse:\n _offset = 1;\n return minor === specialTrue;\n case specialNull:\n _offset = 1;\n return null;\n case specialUndefined:\n _offset = 1;\n return null;\n case extendedFloat16:\n if (to - at < 3) {\n throw new Error(\"incomplete float16 at end of buf.\");\n }\n _offset = 3;\n return bytesToFloat16(payload[at + 1], payload[at + 2]);\n case extendedFloat32:\n if (to - at < 5) {\n throw new Error(\"incomplete float32 at end of buf.\");\n }\n _offset = 5;\n return dataView$1.getFloat32(at + 1);\n case extendedFloat64:\n if (to - at < 9) {\n throw new Error(\"incomplete float64 at end of buf.\");\n }\n _offset = 9;\n return dataView$1.getFloat64(at + 1);\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n}\nfunction castBigInt(bigInt) {\n if (typeof bigInt === \"number\") {\n return bigInt;\n }\n const num = Number(bigInt);\n if (Number.MIN_SAFE_INTEGER <= num && num <= Number.MAX_SAFE_INTEGER) {\n return num;\n }\n return bigInt;\n}\n\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nconst initialSize = 2048;\nlet data = alloc(initialSize);\nlet dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\nlet cursor = 0;\nfunction ensureSpace(bytes) {\n const remaining = data.byteLength - cursor;\n if (remaining < bytes) {\n if (cursor < 16_000_000) {\n resize(Math.max(data.byteLength * 4, data.byteLength + bytes));\n }\n else {\n resize(data.byteLength + bytes + 16_000_000);\n }\n }\n}\nfunction toUint8Array() {\n const out = alloc(cursor);\n out.set(data.subarray(0, cursor), 0);\n cursor = 0;\n return out;\n}\nfunction resize(size) {\n const old = data;\n data = alloc(size);\n if (old) {\n if (old.copy) {\n old.copy(data, 0, 0, old.byteLength);\n }\n else {\n data.set(old, 0);\n }\n }\n dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\n}\nfunction encodeHeader(major, value) {\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 1 << 8) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 1 << 16) {\n data[cursor++] = (major << 5) | extendedFloat16;\n dataView.setUint16(cursor, value);\n cursor += 2;\n }\n else if (value < 2 ** 32) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, typeof value === \"bigint\" ? value : BigInt(value));\n cursor += 8;\n }\n}\nfunction encode(_input) {\n const encodeStack = [_input];\n while (encodeStack.length) {\n const input = encodeStack.pop();\n ensureSpace(typeof input === \"string\" ? input.length * 4 : 64);\n if (typeof input === \"string\") {\n if (USE_BUFFER) {\n encodeHeader(majorUtf8String, Buffer.byteLength(input));\n cursor += data.write(input, cursor);\n }\n else {\n const bytes = serde.fromUtf8(input);\n encodeHeader(majorUtf8String, bytes.byteLength);\n data.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n continue;\n }\n else if (typeof input === \"number\") {\n if (Number.isInteger(input)) {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - 1;\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = value >> 8;\n data[cursor++] = value;\n }\n else if (value < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, BigInt(value));\n cursor += 8;\n }\n continue;\n }\n data[cursor++] = (majorSpecial << 5) | extendedFloat64;\n dataView.setFloat64(cursor, input);\n cursor += 8;\n continue;\n }\n else if (typeof input === \"bigint\") {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - BigInt(1);\n const n = Number(value);\n if (n < 24) {\n data[cursor++] = (major << 5) | n;\n }\n else if (n < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = n;\n }\n else if (n < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = n >> 8;\n data[cursor++] = n & 0b1111_1111;\n }\n else if (n < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, n);\n cursor += 4;\n }\n else if (value < BigInt(\"18446744073709551616\")) {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, value);\n cursor += 8;\n }\n else {\n const binaryBigInt = value.toString(2);\n const bigIntBytes = new Uint8Array(Math.ceil(binaryBigInt.length / 8));\n let b = value;\n let i = 0;\n while (bigIntBytes.byteLength - ++i >= 0) {\n bigIntBytes[bigIntBytes.byteLength - i] = Number(b & BigInt(255));\n b >>= BigInt(8);\n }\n ensureSpace(bigIntBytes.byteLength * 2);\n data[cursor++] = nonNegative ? 0b110_00010 : 0b110_00011;\n if (USE_BUFFER) {\n encodeHeader(majorUnstructuredByteString, Buffer.byteLength(bigIntBytes));\n }\n else {\n encodeHeader(majorUnstructuredByteString, bigIntBytes.byteLength);\n }\n data.set(bigIntBytes, cursor);\n cursor += bigIntBytes.byteLength;\n }\n continue;\n }\n else if (input === null) {\n data[cursor++] = (majorSpecial << 5) | specialNull;\n continue;\n }\n else if (typeof input === \"boolean\") {\n data[cursor++] = (majorSpecial << 5) | (input ? specialTrue : specialFalse);\n continue;\n }\n else if (typeof input === \"undefined\") {\n throw new Error(\"@smithy/core/cbor: client may not serialize undefined value.\");\n }\n else if (Array.isArray(input)) {\n for (let i = input.length - 1; i >= 0; --i) {\n encodeStack.push(input[i]);\n }\n encodeHeader(majorList, input.length);\n continue;\n }\n else if (typeof input.byteLength === \"number\") {\n ensureSpace(input.length * 2);\n encodeHeader(majorUnstructuredByteString, input.length);\n data.set(input, cursor);\n cursor += input.byteLength;\n continue;\n }\n else if (typeof input === \"object\") {\n if (input instanceof serde.NumericValue) {\n const decimalIndex = input.string.indexOf(\".\");\n const exponent = decimalIndex === -1 ? 0 : decimalIndex - input.string.length + 1;\n const mantissa = BigInt(input.string.replace(\".\", \"\"));\n data[cursor++] = 0b110_00100;\n encodeStack.push(mantissa);\n encodeStack.push(exponent);\n encodeHeader(majorList, 2);\n continue;\n }\n if (input[tagSymbol]) {\n if (\"tag\" in input && \"value\" in input) {\n encodeStack.push(input.value);\n encodeHeader(majorTag, input.tag);\n continue;\n }\n else {\n throw new Error(\"tag encountered with missing fields, need 'tag' and 'value', found: \" + JSON.stringify(input));\n }\n }\n const keys = Object.keys(input);\n for (let i = keys.length - 1; i >= 0; --i) {\n const key = keys[i];\n encodeStack.push(input[key]);\n encodeStack.push(key);\n }\n encodeHeader(majorMap, keys.length);\n continue;\n }\n throw new Error(`data type ${input?.constructor?.name ?? typeof input} not compatible for encoding.`);\n }\n}\n\nconst cbor = {\n deserialize(payload) {\n setPayload(payload);\n return decode(0, payload.length);\n },\n serialize(input) {\n try {\n encode(input);\n return toUint8Array();\n }\n catch (e) {\n toUint8Array();\n throw e;\n }\n },\n resizeEncodingBuffer(size) {\n resize(size);\n },\n};\n\nconst parseCborBody = (streamBody, context) => {\n return protocols.collectBody(streamBody, context).then(async (bytes) => {\n if (bytes.length) {\n try {\n return cbor.deserialize(bytes);\n }\n catch (e) {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: context.utf8Encoder(bytes),\n });\n throw e;\n }\n }\n return {};\n });\n};\nconst dateToTag = (date) => {\n return tag({\n tag: 1,\n value: date.getTime() / 1000,\n });\n};\nconst parseCborErrorBody = async (errorBody, context) => {\n const value = await parseCborBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nconst loadSmithyRpcV2CborErrorCode = (output, data) => {\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n let codeKey;\n for (const key in data) {\n if (key.toLowerCase() === \"code\") {\n codeKey = key;\n break;\n }\n }\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n};\nconst checkCborResponse = (response) => {\n if (String(response.headers[\"smithy-protocol\"]).toLowerCase() !== \"rpc-v2-cbor\") {\n throw new Error(\"Malformed RPCv2 CBOR response, status: \" + response.statusCode);\n }\n};\nconst buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {\n const endpoint = await context.endpoint();\n const { hostname, protocol = \"https\", port, path: basePath } = endpoint;\n const contents = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path: basePath.endsWith(\"/\") ? basePath.slice(0, -1) + path : basePath + path,\n headers: {\n ...headers,\n },\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (endpoint.headers) {\n for (const name in endpoint.headers) {\n contents.headers[name] = endpoint.headers[name];\n }\n }\n if (body !== undefined) {\n contents.body = body;\n try {\n contents.headers[\"content-length\"] = String(serde.calculateBodyLength(body));\n }\n catch (e) { }\n }\n return new protocols.HttpRequest(contents);\n};\n\nclass CborCodec extends protocols.SerdeContext {\n createSerializer() {\n const serializer = new CborShapeSerializer();\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new CborShapeDeserializer();\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\nclass CborShapeSerializer extends protocols.SerdeContext {\n value;\n write(schema, value) {\n this.value = this.serialize(schema, value);\n }\n serialize(schema$1, source) {\n const ns = schema.NormalizedSchema.of(schema$1);\n if (source == null) {\n if (ns.isIdempotencyToken()) {\n return serde.generateIdempotencyToken();\n }\n return source;\n }\n if (ns.isBlobSchema()) {\n if (typeof source === \"string\") {\n return (this.serdeContext?.base64Decoder ?? serde.fromBase64)(source);\n }\n return source;\n }\n if (ns.isTimestampSchema()) {\n if (typeof source === \"number\" || typeof source === \"bigint\") {\n return dateToTag(new Date((Number(source) / 1000) | 0));\n }\n return dateToTag(source);\n }\n if (typeof source === \"function\" || typeof source === \"object\") {\n const sourceObject = source;\n if (ns.isListSchema() && Array.isArray(sourceObject)) {\n const sparse = !!ns.getMergedTraits().sparse;\n const newArray = [];\n let i = 0;\n for (const item of sourceObject) {\n const value = this.serialize(ns.getValueSchema(), item);\n if (value != null || sparse) {\n newArray[i++] = value;\n }\n }\n return newArray;\n }\n if (sourceObject instanceof Date) {\n return dateToTag(sourceObject);\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n for (const key in sourceObject) {\n const value = this.serialize(ns.getValueSchema(), sourceObject[key]);\n if (value != null || sparse) {\n newObject[key] = value;\n }\n }\n }\n else if (ns.isStructSchema()) {\n for (const [key, memberSchema] of ns.structIterator()) {\n const value = this.serialize(memberSchema, sourceObject[key]);\n if (value != null) {\n newObject[key] = value;\n }\n }\n const isUnion = ns.isUnionSchema();\n if (isUnion && Array.isArray(sourceObject.$unknown)) {\n const [k, v] = sourceObject.$unknown;\n newObject[k] = v;\n }\n else if (typeof sourceObject.__type === \"string\") {\n for (const k in sourceObject) {\n if (!(k in newObject)) {\n newObject[k] = this.serialize(15, sourceObject[k]);\n }\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n for (const key in sourceObject) {\n newObject[key] = this.serialize(ns.getValueSchema(), sourceObject[key]);\n }\n }\n else if (ns.isBigDecimalSchema()) {\n return sourceObject;\n }\n return newObject;\n }\n return source;\n }\n flush() {\n const buffer = cbor.serialize(this.value);\n this.value = undefined;\n return buffer;\n }\n}\nclass CborShapeDeserializer extends protocols.SerdeContext {\n read(schema, bytes) {\n const data = cbor.deserialize(bytes);\n return this.readValue(schema, data);\n }\n readValue(_schema, value) {\n const ns = schema.NormalizedSchema.of(_schema);\n if (ns.isTimestampSchema()) {\n if (typeof value === \"number\") {\n return serde._parseEpochTimestamp(value);\n }\n if (typeof value === \"object\") {\n if (value.tag === 1 && \"value\" in value) {\n return serde._parseEpochTimestamp(value.value);\n }\n }\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\") {\n return (this.serdeContext?.base64Decoder ?? serde.fromBase64)(value);\n }\n return value;\n }\n if (typeof value === \"undefined\" ||\n typeof value === \"boolean\" ||\n typeof value === \"number\" ||\n typeof value === \"string\" ||\n typeof value === \"bigint\" ||\n typeof value === \"symbol\") {\n return value;\n }\n else if (typeof value === \"object\") {\n if (value === null) {\n return null;\n }\n if (\"byteLength\" in value) {\n return value;\n }\n if (value instanceof Date) {\n return value;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n if (ns.isListSchema()) {\n const newArray = [];\n const memberSchema = ns.getValueSchema();\n for (const item of value) {\n const itemValue = this.readValue(memberSchema, item);\n newArray.push(itemValue);\n }\n return newArray;\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const targetSchema = ns.getValueSchema();\n for (const key in value) {\n const itemValue = this.readValue(targetSchema, value[key]);\n newObject[key] = itemValue;\n }\n }\n else if (ns.isStructSchema()) {\n const isUnion = ns.isUnionSchema();\n let keys;\n if (isUnion) {\n keys = new Set();\n for (const k in value) {\n if (k !== \"__type\") {\n keys.add(k);\n }\n }\n }\n for (const [key, memberSchema] of ns.structIterator()) {\n if (isUnion) {\n keys.delete(key);\n }\n if (value[key] != null) {\n newObject[key] = this.readValue(memberSchema, value[key]);\n }\n }\n if (isUnion && keys?.size === 1) {\n let newObjectEmpty = true;\n for (const _ in newObject) {\n newObjectEmpty = false;\n break;\n }\n if (newObjectEmpty) {\n const k = keys.values().next().value;\n newObject.$unknown = [k, value[k]];\n }\n }\n else if (typeof value.__type === \"string\") {\n for (const k in value) {\n if (!(k in newObject)) {\n newObject[k] = value[k];\n }\n }\n }\n }\n else if (value instanceof serde.NumericValue) {\n return value;\n }\n return newObject;\n }\n else {\n return value;\n }\n }\n}\n\nclass SmithyRpcV2CborProtocol extends protocols.RpcProtocol {\n codec = new CborCodec();\n serializer = this.codec.createSerializer();\n deserializer = this.codec.createDeserializer();\n constructor({ defaultNamespace, errorTypeRegistries, }) {\n super({ defaultNamespace, errorTypeRegistries });\n }\n getShapeId() {\n return \"smithy.protocols#rpcv2Cbor\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n Object.assign(request.headers, {\n \"content-type\": this.getDefaultContentType(),\n \"smithy-protocol\": \"rpc-v2-cbor\",\n accept: this.getDefaultContentType(),\n });\n if (schema.deref(operationSchema.input) === \"unit\") {\n delete request.body;\n delete request.headers[\"content-type\"];\n }\n else {\n if (!request.body) {\n this.serializer.write(15, {});\n request.body = this.serializer.flush();\n }\n try {\n request.headers[\"content-length\"] = String(request.body.byteLength);\n }\n catch (e) { }\n }\n const { service, operation } = client.getSmithyContext(context);\n const path = `/service/${service}/operation/${operation}`;\n if (request.path.endsWith(\"/\")) {\n request.path += path.slice(1);\n }\n else {\n request.path += path;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode <= 500 ? \"client\" : \"server\",\n };\n let namespace = this.options.defaultNamespace;\n if (errorName.includes(\"#\")) {\n [namespace] = errorName.split(\"#\");\n }\n const registry = this.compositeErrorRegistry;\n const nsRegistry = schema.TypeRegistry.for(namespace);\n registry.copyFrom(nsRegistry);\n let errorSchema;\n try {\n errorSchema = registry.getSchema(errorName);\n }\n catch (e) {\n if (dataObject.Message) {\n dataObject.message = dataObject.Message;\n }\n const syntheticRegistry = schema.TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace);\n registry.copyFrom(syntheticRegistry);\n const baseExceptionSchema = registry.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = registry.getErrorCtor(baseExceptionSchema);\n throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);\n }\n throw Object.assign(new Error(errorName), errorMetadata, dataObject);\n }\n const ns = schema.NormalizedSchema.of(errorSchema);\n const ErrorCtor = registry.getErrorCtor(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new ErrorCtor({});\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/cbor\";\n }\n}\n\nexports.CborCodec = CborCodec;\nexports.CborShapeDeserializer = CborShapeDeserializer;\nexports.CborShapeSerializer = CborShapeSerializer;\nexports.SmithyRpcV2CborProtocol = SmithyRpcV2CborProtocol;\nexports.buildHttpRpcRequest = buildHttpRpcRequest;\nexports.cbor = cbor;\nexports.checkCborResponse = checkCborResponse;\nexports.dateToTag = dateToTag;\nexports.loadSmithyRpcV2CborErrorCode = loadSmithyRpcV2CborErrorCode;\nexports.parseCborBody = parseCborBody;\nexports.parseCborErrorBody = parseCborErrorBody;\nexports.tag = tag;\nexports.tagSymbol = tagSymbol;\n",
8
+ "(()=>{\"use strict\";var t={d:(e,n)=>{for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},e={};t.r(e),t.d(e,{XMLBuilder:()=>Xt,XMLParser:()=>Tt,XMLValidator:()=>Yt});const n=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",i=new RegExp(\"^[\"+n+\"][\"+n+\"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\");function s(t,e){const n=[];let i=e.exec(t);for(;i;){const s=[];s.startIndex=e.lastIndex-i[0].length;const r=i.length;for(let t=0;t<r;t++)s.push(i[t]);n.push(s),i=e.exec(t)}return n}const r=function(t){return!(null==i.exec(t))},o=[\"hasOwnProperty\",\"toString\",\"valueOf\",\"__defineGetter__\",\"__defineSetter__\",\"__lookupGetter__\",\"__lookupSetter__\"],a=[\"__proto__\",\"constructor\",\"prototype\"],h={allowBooleanAttributes:!1,unpairedTags:[]};function l(t,e){e=Object.assign({},h,e);const n=[];let i=!1,s=!1;\"\\ufeff\"===t[0]&&(t=t.substr(1));for(let r=0;r<t.length;r++)if(\"<\"===t[r]&&\"?\"===t[r+1]){if(r+=2,r=p(t,r),r.err)return r}else{if(\"<\"!==t[r]){if(u(t[r]))continue;return b(\"InvalidChar\",\"char '\"+t[r]+\"' is not expected.\",w(t,r))}{let o=r;if(r++,\"!\"===t[r]){r=c(t,r);continue}{let a=!1;\"/\"===t[r]&&(a=!0,r++);let h=\"\";for(;r<t.length&&\">\"!==t[r]&&\" \"!==t[r]&&\"\\t\"!==t[r]&&\"\\n\"!==t[r]&&\"\\r\"!==t[r];r++)h+=t[r];if(h=h.trim(),\"/\"===h[h.length-1]&&(h=h.substring(0,h.length-1),r--),!E(h)){let e;return e=0===h.trim().length?\"Invalid space after '<'.\":\"Tag '\"+h+\"' is an invalid name.\",b(\"InvalidTag\",e,w(t,r))}const l=g(t,r);if(!1===l)return b(\"InvalidAttr\",\"Attributes for '\"+h+\"' have open quote.\",w(t,r));let d=l.value;if(r=l.index,\"/\"===d[d.length-1]){const n=r-d.length;d=d.substring(0,d.length-1);const s=x(d,e);if(!0!==s)return b(s.err.code,s.err.msg,w(t,n+s.err.line));i=!0}else if(a){if(!l.tagClosed)return b(\"InvalidTag\",\"Closing tag '\"+h+\"' doesn't have proper closing.\",w(t,r));if(d.trim().length>0)return b(\"InvalidTag\",\"Closing tag '\"+h+\"' can't have attributes or invalid starting.\",w(t,o));if(0===n.length)return b(\"InvalidTag\",\"Closing tag '\"+h+\"' has not been opened.\",w(t,o));{const e=n.pop();if(h!==e.tagName){let n=w(t,e.tagStartPos);return b(\"InvalidTag\",\"Expected closing tag '\"+e.tagName+\"' (opened in line \"+n.line+\", col \"+n.col+\") instead of closing tag '\"+h+\"'.\",w(t,o))}0==n.length&&(s=!0)}}else{const a=x(d,e);if(!0!==a)return b(a.err.code,a.err.msg,w(t,r-d.length+a.err.line));if(!0===s)return b(\"InvalidXml\",\"Multiple possible root nodes found.\",w(t,r));-1!==e.unpairedTags.indexOf(h)||n.push({tagName:h,tagStartPos:o}),i=!0}for(r++;r<t.length;r++)if(\"<\"===t[r]){if(\"!\"===t[r+1]){r++,r=c(t,r);continue}if(\"?\"!==t[r+1])break;if(r=p(t,++r),r.err)return r}else if(\"&\"===t[r]){const e=N(t,r);if(-1==e)return b(\"InvalidChar\",\"char '&' is not expected.\",w(t,r));r=e}else if(!0===s&&!u(t[r]))return b(\"InvalidXml\",\"Extra text at the end\",w(t,r));\"<\"===t[r]&&r--}}}return i?1==n.length?b(\"InvalidTag\",\"Unclosed tag '\"+n[0].tagName+\"'.\",w(t,n[0].tagStartPos)):!(n.length>0)||b(\"InvalidXml\",\"Invalid '\"+JSON.stringify(n.map(t=>t.tagName),null,4).replace(/\\r?\\n/g,\"\")+\"' found.\",{line:1,col:1}):b(\"InvalidXml\",\"Start tag expected.\",1)}function u(t){return\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t}function p(t,e){const n=e;for(;e<t.length;e++)if(\"?\"==t[e]||\" \"==t[e]){const i=t.substr(n,e-n);if(e>5&&\"xml\"===i)return b(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",w(t,e));if(\"?\"==t[e]&&\">\"==t[e+1]){e++;break}continue}return e}function c(t,e){if(t.length>e+5&&\"-\"===t[e+1]&&\"-\"===t[e+2]){for(e+=3;e<t.length;e++)if(\"-\"===t[e]&&\"-\"===t[e+1]&&\">\"===t[e+2]){e+=2;break}}else if(t.length>e+8&&\"D\"===t[e+1]&&\"O\"===t[e+2]&&\"C\"===t[e+3]&&\"T\"===t[e+4]&&\"Y\"===t[e+5]&&\"P\"===t[e+6]&&\"E\"===t[e+7]){let n=1;for(e+=8;e<t.length;e++)if(\"<\"===t[e])n++;else if(\">\"===t[e]&&(n--,0===n))break}else if(t.length>e+9&&\"[\"===t[e+1]&&\"C\"===t[e+2]&&\"D\"===t[e+3]&&\"A\"===t[e+4]&&\"T\"===t[e+5]&&\"A\"===t[e+6]&&\"[\"===t[e+7])for(e+=8;e<t.length;e++)if(\"]\"===t[e]&&\"]\"===t[e+1]&&\">\"===t[e+2]){e+=2;break}return e}const d='\"',f=\"'\";function g(t,e){let n=\"\",i=\"\",s=!1;for(;e<t.length;e++){if(t[e]===d||t[e]===f)\"\"===i?i=t[e]:i!==t[e]||(i=\"\");else if(\">\"===t[e]&&\"\"===i){s=!0;break}n+=t[e]}return\"\"===i&&{value:n,index:e,tagClosed:s}}const m=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function x(t,e){const n=s(t,m),i={};for(let t=0;t<n.length;t++){if(0===n[t][1].length)return b(\"InvalidAttr\",\"Attribute '\"+n[t][2]+\"' has no space in starting.\",v(n[t]));if(void 0!==n[t][3]&&void 0===n[t][4])return b(\"InvalidAttr\",\"Attribute '\"+n[t][2]+\"' is without value.\",v(n[t]));if(void 0===n[t][3]&&!e.allowBooleanAttributes)return b(\"InvalidAttr\",\"boolean attribute '\"+n[t][2]+\"' is not allowed.\",v(n[t]));const s=n[t][2];if(!y(s))return b(\"InvalidAttr\",\"Attribute '\"+s+\"' is an invalid name.\",v(n[t]));if(Object.prototype.hasOwnProperty.call(i,s))return b(\"InvalidAttr\",\"Attribute '\"+s+\"' is repeated.\",v(n[t]));i[s]=1}return!0}function N(t,e){if(\";\"===t[++e])return-1;if(\"#\"===t[e])return function(t,e){let n=/\\d/;for(\"x\"===t[e]&&(e++,n=/[\\da-fA-F]/);e<t.length;e++){if(\";\"===t[e])return e;if(!t[e].match(n))break}return-1}(t,++e);let n=0;for(;e<t.length;e++,n++)if(!(t[e].match(/\\w/)&&n<20)){if(\";\"===t[e])break;return-1}return e}function b(t,e,n){return{err:{code:t,msg:e,line:n.line||n,col:n.col}}}function y(t){return r(t)}function E(t){return r(t)}function w(t,e){const n=t.substring(0,e).split(/\\r?\\n/);return{line:n.length,col:n[n.length-1].length+1}}function v(t){return t.startIndex+t[1].length}const S=t=>o.includes(t)?\"__\"+t:t,_={preserveOrder:!1,attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:S};function A(t,e){if(\"string\"!=typeof t)return;const n=t.toLowerCase();if(o.some(t=>n===t.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`);if(a.some(t=>n===t.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`)}function T(t,e){return\"boolean\"==typeof t?{enabled:t,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:\"all\"}:\"object\"==typeof t&&null!==t?{enabled:!1!==t.enabled,maxEntitySize:Math.max(1,t.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,t.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,t.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,t.maxExpandedLength??1e5),maxEntityCount:Math.max(1,t.maxEntityCount??1e3),allowedTags:t.allowedTags??null,tagFilter:t.tagFilter??null,appliesTo:t.appliesTo??\"all\"}:T(!0)}const C=function(t){const e=Object.assign({},_,t),n=[{value:e.attributeNamePrefix,name:\"attributeNamePrefix\"},{value:e.attributesGroupName,name:\"attributesGroupName\"},{value:e.textNodeName,name:\"textNodeName\"},{value:e.cdataPropName,name:\"cdataPropName\"},{value:e.commentPropName,name:\"commentPropName\"}];for(const{value:t,name:e}of n)t&&A(t,e);return null===e.onDangerousProperty&&(e.onDangerousProperty=S),e.processEntities=T(e.processEntities,e.htmlEntities),e.unpairedTagsSet=new Set(e.unpairedTags),e.stopNodes&&Array.isArray(e.stopNodes)&&(e.stopNodes=e.stopNodes.map(t=>\"string\"==typeof t&&t.startsWith(\"*.\")?\"..\"+t.substring(2):t)),e};let P;P=\"function\"!=typeof Symbol?\"@@xmlMetadata\":Symbol(\"XML Node Metadata\");class O{constructor(t){this.tagname=t,this.child=[],this[\":@\"]=Object.create(null)}add(t,e){\"__proto__\"===t&&(t=\"#__proto__\"),this.child.push({[t]:e})}addChild(t,e){\"__proto__\"===t.tagname&&(t.tagname=\"#__proto__\"),t[\":@\"]&&Object.keys(t[\":@\"]).length>0?this.child.push({[t.tagname]:t.child,\":@\":t[\":@\"]}):this.child.push({[t.tagname]:t.child}),void 0!==e&&(this.child[this.child.length-1][P]={startIndex:e})}static getMetaDataSymbol(){return P}}class ${constructor(t){this.suppressValidationErr=!t,this.options=t}readDocType(t,e){const n=Object.create(null);let i=0;if(\"O\"!==t[e+3]||\"C\"!==t[e+4]||\"T\"!==t[e+5]||\"Y\"!==t[e+6]||\"P\"!==t[e+7]||\"E\"!==t[e+8])throw new Error(\"Invalid Tag instead of DOCTYPE\");{e+=9;let s=1,r=!1,o=!1,a=\"\";for(;e<t.length;e++)if(\"<\"!==t[e]||o)if(\">\"===t[e]){if(o?\"-\"===t[e-1]&&\"-\"===t[e-2]&&(o=!1,s--):s--,0===s)break}else\"[\"===t[e]?r=!0:a+=t[e];else{if(r&&D(t,\"!ENTITY\",e)){let s,r;if(e+=7,[s,r,e]=this.readEntityExp(t,e+1,this.suppressValidationErr),-1===r.indexOf(\"&\")){if(!1!==this.options.enabled&&null!=this.options.maxEntityCount&&i>=this.options.maxEntityCount)throw new Error(`Entity count (${i+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);n[s]=r,i++}}else if(r&&D(t,\"!ELEMENT\",e)){e+=8;const{index:n}=this.readElementExp(t,e+1);e=n}else if(r&&D(t,\"!ATTLIST\",e))e+=8;else if(r&&D(t,\"!NOTATION\",e)){e+=9;const{index:n}=this.readNotationExp(t,e+1,this.suppressValidationErr);e=n}else{if(!D(t,\"!--\",e))throw new Error(\"Invalid DOCTYPE\");o=!0}s++,a=\"\"}if(0!==s)throw new Error(\"Unclosed DOCTYPE\")}return{entities:n,i:e}}readEntityExp(t,e){const n=e=I(t,e);for(;e<t.length&&!/\\s/.test(t[e])&&'\"'!==t[e]&&\"'\"!==t[e];)e++;let i=t.substring(n,e);if(M(i),e=I(t,e),!this.suppressValidationErr){if(\"SYSTEM\"===t.substring(e,e+6).toUpperCase())throw new Error(\"External entities are not supported\");if(\"%\"===t[e])throw new Error(\"Parameter entities are not supported\")}let s=\"\";if([e,s]=this.readIdentifierVal(t,e,\"entity\"),!1!==this.options.enabled&&null!=this.options.maxEntitySize&&s.length>this.options.maxEntitySize)throw new Error(`Entity \"${i}\" size (${s.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[i,s,--e]}readNotationExp(t,e){const n=e=I(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let i=t.substring(n,e);!this.suppressValidationErr&&M(i),e=I(t,e);const s=t.substring(e,e+6).toUpperCase();if(!this.suppressValidationErr&&\"SYSTEM\"!==s&&\"PUBLIC\"!==s)throw new Error(`Expected SYSTEM or PUBLIC, found \"${s}\"`);e+=s.length,e=I(t,e);let r=null,o=null;if(\"PUBLIC\"===s)[e,r]=this.readIdentifierVal(t,e,\"publicIdentifier\"),'\"'!==t[e=I(t,e)]&&\"'\"!==t[e]||([e,o]=this.readIdentifierVal(t,e,\"systemIdentifier\"));else if(\"SYSTEM\"===s&&([e,o]=this.readIdentifierVal(t,e,\"systemIdentifier\"),!this.suppressValidationErr&&!o))throw new Error(\"Missing mandatory system identifier for SYSTEM notation\");return{notationName:i,publicIdentifier:r,systemIdentifier:o,index:--e}}readIdentifierVal(t,e,n){let i=\"\";const s=t[e];if('\"'!==s&&\"'\"!==s)throw new Error(`Expected quoted string, found \"${s}\"`);const r=++e;for(;e<t.length&&t[e]!==s;)e++;if(i=t.substring(r,e),t[e]!==s)throw new Error(`Unterminated ${n} value`);return[++e,i]}readElementExp(t,e){const n=e=I(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let i=t.substring(n,e);if(!this.suppressValidationErr&&!r(i))throw new Error(`Invalid element name: \"${i}\"`);let s=\"\";if(\"E\"===t[e=I(t,e)]&&D(t,\"MPTY\",e))e+=4;else if(\"A\"===t[e]&&D(t,\"NY\",e))e+=2;else if(\"(\"===t[e]){const n=++e;for(;e<t.length&&\")\"!==t[e];)e++;if(s=t.substring(n,e),\")\"!==t[e])throw new Error(\"Unterminated content model\")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found \"${t[e]}\"`);return{elementName:i,contentModel:s.trim(),index:e}}readAttlistExp(t,e){let n=e=I(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let i=t.substring(n,e);for(M(i),n=e=I(t,e);e<t.length&&!/\\s/.test(t[e]);)e++;let s=t.substring(n,e);if(!M(s))throw new Error(`Invalid attribute name: \"${s}\"`);e=I(t,e);let r=\"\";if(\"NOTATION\"===t.substring(e,e+8).toUpperCase()){if(r=\"NOTATION\",\"(\"!==t[e=I(t,e+=8)])throw new Error(`Expected '(', found \"${t[e]}\"`);e++;let n=[];for(;e<t.length&&\")\"!==t[e];){const i=e;for(;e<t.length&&\"|\"!==t[e]&&\")\"!==t[e];)e++;let s=t.substring(i,e);if(s=s.trim(),!M(s))throw new Error(`Invalid notation name: \"${s}\"`);n.push(s),\"|\"===t[e]&&(e++,e=I(t,e))}if(\")\"!==t[e])throw new Error(\"Unterminated list of notations\");e++,r+=\" (\"+n.join(\"|\")+\")\"}else{const n=e;for(;e<t.length&&!/\\s/.test(t[e]);)e++;r+=t.substring(n,e);const i=[\"CDATA\",\"ID\",\"IDREF\",\"IDREFS\",\"ENTITY\",\"ENTITIES\",\"NMTOKEN\",\"NMTOKENS\"];if(!this.suppressValidationErr&&!i.includes(r.toUpperCase()))throw new Error(`Invalid attribute type: \"${r}\"`)}e=I(t,e);let o=\"\";return\"#REQUIRED\"===t.substring(e,e+8).toUpperCase()?(o=\"#REQUIRED\",e+=8):\"#IMPLIED\"===t.substring(e,e+7).toUpperCase()?(o=\"#IMPLIED\",e+=7):[e,o]=this.readIdentifierVal(t,e,\"ATTLIST\"),{elementName:i,attributeName:s,attributeType:r,defaultValue:o,index:e}}}const I=(t,e)=>{for(;e<t.length&&/\\s/.test(t[e]);)e++;return e};function D(t,e,n){for(let i=0;i<e.length;i++)if(e[i]!==t[n+i+1])return!1;return!0}function M(t){if(r(t))return t;throw new Error(`Invalid entity name ${t}`)}const j=/^[-+]?0x[a-fA-F0-9]+$/,V=/^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/,L={hex:!0,leadingZeros:!0,decimalPoint:\".\",eNotation:!0,infinity:\"original\"};const k=/^([-+])?(0*)(\\d*(\\.\\d*)?[eE][-\\+]?\\d+)$/;class F{constructor(t){this._matcher=t}get separator(){return this._matcher.separator}getCurrentTag(){const t=this._matcher.path;return t.length>0?t[t.length-1].tag:void 0}getCurrentNamespace(){const t=this._matcher.path;return t.length>0?t[t.length-1].namespace:void 0}getAttrValue(t){const e=this._matcher.path;if(0!==e.length)return e[e.length-1].values?.[t]}hasAttr(t){const e=this._matcher.path;if(0===e.length)return!1;const n=e[e.length-1];return void 0!==n.values&&t in n.values}getPosition(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].position??0}getCounter(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(t,e=!0){return this._matcher.toString(t,e)}toArray(){return this._matcher.path.map(t=>t.tag)}matches(t){return this._matcher.matches(t)}matchesAny(t){return t.matchesAny(this._matcher)}}class R{constructor(t={}){this.separator=t.separator||\".\",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new F(this)}push(t,e=null,n=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const i=this.path.length;this.siblingStacks[i]||(this.siblingStacks[i]=new Map);const s=this.siblingStacks[i],r=n?`${n}:${t}`:t,o=s.get(r)||0;let a=0;for(const t of s.values())a+=t;s.set(r,o+1);const h={tag:t,position:a,counter:o};null!=n&&(h.namespace=n),null!=e&&(h.values=e),this.path.push(h)}pop(){if(0===this.path.length)return;this._pathStringCache=null;const t=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),t}updateCurrent(t){if(this.path.length>0){const e=this.path[this.path.length-1];null!=t&&(e.values=t)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(t){if(0!==this.path.length)return this.path[this.path.length-1].values?.[t]}hasAttr(t){if(0===this.path.length)return!1;const e=this.path[this.path.length-1];return void 0!==e.values&&t in e.values}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(t,e=!0){const n=t||this.separator;if(n===this.separator&&!0===e){if(null!==this._pathStringCache)return this._pathStringCache;const t=this.path.map(t=>t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(n);return this._pathStringCache=t,t}return this.path.map(t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag).join(n)}toArray(){return this.path.map(t=>t.tag)}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[]}matches(t){const e=t.segments;return 0!==e.length&&(t.hasDeepWildcard()?this._matchWithDeepWildcard(e):this._matchSimple(e))}_matchSimple(t){if(this.path.length!==t.length)return!1;for(let e=0;e<t.length;e++)if(!this._matchSegment(t[e],this.path[e],e===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(t){let e=this.path.length-1,n=t.length-1;for(;n>=0&&e>=0;){const i=t[n];if(\"deep-wildcard\"===i.type){if(n--,n<0)return!0;const i=t[n];let s=!1;for(let t=e;t>=0;t--)if(this._matchSegment(i,this.path[t],t===this.path.length-1)){e=t-1,n--,s=!0;break}if(!s)return!1}else{if(!this._matchSegment(i,this.path[e],e===this.path.length-1))return!1;e--,n--}}return n<0}_matchSegment(t,e,n){if(\"*\"!==t.tag&&t.tag!==e.tag)return!1;if(void 0!==t.namespace&&\"*\"!==t.namespace&&t.namespace!==e.namespace)return!1;if(void 0!==t.attrName){if(!n)return!1;if(!e.values||!(t.attrName in e.values))return!1;if(void 0!==t.attrValue&&String(e.values[t.attrName])!==String(t.attrValue))return!1}if(void 0!==t.position){if(!n)return!1;const i=e.counter??0;if(\"first\"===t.position&&0!==i)return!1;if(\"odd\"===t.position&&i%2!=1)return!1;if(\"even\"===t.position&&i%2!=0)return!1;if(\"nth\"===t.position&&i!==t.positionValue)return!1}return!0}matchesAny(t){return t.matchesAny(this)}snapshot(){return{path:this.path.map(t=>({...t})),siblingStacks:this.siblingStacks.map(t=>new Map(t))}}restore(t){this._pathStringCache=null,this.path=t.path.map(t=>({...t})),this.siblingStacks=t.siblingStacks.map(t=>new Map(t))}readOnly(){return this._view}}class G{constructor(t,e={},n){this.pattern=t,this.separator=e.separator||\".\",this.segments=this._parse(t),this.data=n,this._hasDeepWildcard=this.segments.some(t=>\"deep-wildcard\"===t.type),this._hasAttributeCondition=this.segments.some(t=>void 0!==t.attrName),this._hasPositionSelector=this.segments.some(t=>void 0!==t.position)}_parse(t){const e=[];let n=0,i=\"\";for(;n<t.length;)t[n]===this.separator?n+1<t.length&&t[n+1]===this.separator?(i.trim()&&(e.push(this._parseSegment(i.trim())),i=\"\"),e.push({type:\"deep-wildcard\"}),n+=2):(i.trim()&&e.push(this._parseSegment(i.trim())),i=\"\",n++):(i+=t[n],n++);return i.trim()&&e.push(this._parseSegment(i.trim())),e}_parseSegment(t){const e={type:\"tag\"};let n=null,i=t;const s=t.match(/^([^\\[]+)(\\[[^\\]]*\\])(.*)$/);if(s&&(i=s[1]+s[3],s[2])){const t=s[2].slice(1,-1);t&&(n=t)}let r,o,a=i;if(i.includes(\"::\")){const e=i.indexOf(\"::\");if(r=i.substring(0,e).trim(),a=i.substring(e+2).trim(),!r)throw new Error(`Invalid namespace in pattern: ${t}`)}let h=null;if(a.includes(\":\")){const t=a.lastIndexOf(\":\"),e=a.substring(0,t).trim(),n=a.substring(t+1).trim();[\"first\",\"last\",\"odd\",\"even\"].includes(n)||/^nth\\(\\d+\\)$/.test(n)?(o=e,h=n):o=a}else o=a;if(!o)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=o,r&&(e.namespace=r),n)if(n.includes(\"=\")){const t=n.indexOf(\"=\");e.attrName=n.substring(0,t).trim(),e.attrValue=n.substring(t+1).trim()}else e.attrName=n.trim();if(h){const t=h.match(/^nth\\((\\d+)\\)$/);t?(e.position=\"nth\",e.positionValue=parseInt(t[1],10)):e.position=h}return e}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}class B{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._patterns=new Set,this._sealed=!1}add(t){if(this._sealed)throw new TypeError(\"ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.\");if(this._patterns.has(t.pattern))return this;if(this._patterns.add(t.pattern),t.hasDeepWildcard())return this._deepWildcards.push(t),this;const e=t.length,n=t.segments[t.segments.length-1],i=n?.tag;if(i&&\"*\"!==i){const n=`${e}:${i}`;this._byDepthAndTag.has(n)||this._byDepthAndTag.set(n,[]),this._byDepthAndTag.get(n).push(t)}else this._wildcardByDepth.has(e)||this._wildcardByDepth.set(e,[]),this._wildcardByDepth.get(e).push(t);return this}addAll(t){for(const e of t)this.add(e);return this}has(t){return this._patterns.has(t.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(t){return null!==this.findMatch(t)}findMatch(t){const e=t.getDepth(),n=`${e}:${t.getCurrentTag()}`,i=this._byDepthAndTag.get(n);if(i)for(let e=0;e<i.length;e++)if(t.matches(i[e]))return i[e];const s=this._wildcardByDepth.get(e);if(s)for(let e=0;e<s.length;e++)if(t.matches(s[e]))return s[e];for(let e=0;e<this._deepWildcards.length;e++)if(t.matches(this._deepWildcards[e]))return this._deepWildcards[e];return null}}const U={cent:\"¢\",pound:\"£\",curren:\"¤\",yen:\"¥\",euro:\"€\",dollar:\"$\",euro:\"€\",fnof:\"ƒ\",inr:\"₹\",af:\"؋\",birr:\"ብር\",peso:\"₱\",rub:\"₽\",won:\"₩\",yuan:\"¥\",cedil:\"¸\"},W={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",quot:'\"'},X={nbsp:\" \",copy:\"©\",reg:\"®\",trade:\"™\",mdash:\"—\",ndash:\"–\",hellip:\"…\",laquo:\"«\",raquo:\"»\",lsquo:\"‘\",rsquo:\"’\",ldquo:\"“\",rdquo:\"”\",bull:\"•\",para:\"¶\",sect:\"§\",deg:\"°\",frac12:\"½\",frac14:\"¼\",frac34:\"¾\"},Y=new Set(\"!?\\\\\\\\/[]$%{}^&*()<>|+\");function z(t){if(\"#\"===t[0])throw new Error(`[EntityReplacer] Invalid character '#' in entity name: \"${t}\"`);for(const e of t)if(Y.has(e))throw new Error(`[EntityReplacer] Invalid character '${e}' in entity name: \"${t}\"`);return t}function q(...t){const e=Object.create(null);for(const n of t)if(n)for(const t of Object.keys(n)){const i=n[t];if(\"string\"==typeof i)e[t]=i;else if(i&&\"object\"==typeof i&&void 0!==i.val){const n=i.val;\"string\"==typeof n&&(e[t]=n)}}return e}const Z=\"external\",J=\"base\",K=\"all\",Q=Object.freeze({allow:0,leave:1,remove:2,throw:3}),H=new Set([9,10,13]);class tt{constructor(t={}){var e;this._limit=t.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck=\"function\"==typeof t.postCheck?t.postCheck:t=>t,this._limitTiers=(e=this._limit.applyLimitsTo??Z)&&e!==Z?e===K?new Set([K]):e===J?new Set([J]):Array.isArray(e)?new Set(e):new Set([Z]):new Set([Z]),this._numericAllowed=t.numericAllowed??!0,this._baseMap=q(W,t.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(t.remove&&Array.isArray(t.remove)?t.remove:[]),this._leaveSet=new Set(t.leave&&Array.isArray(t.leave)?t.leave:[]);const n=function(t){if(!t)return{xmlVersion:1,onLevel:Q.allow,nullLevel:Q.remove};const e=1.1===t.xmlVersion?1.1:1,n=Q[t.onNCR]??Q.allow,i=Q[t.nullNCR]??Q.remove;return{xmlVersion:e,onLevel:n,nullLevel:Math.max(i,Q.remove)}}(t.ncr);this._ncrXmlVersion=n.xmlVersion,this._ncrOnLevel=n.onLevel,this._ncrNullLevel=n.nullLevel}setExternalEntities(t){if(t)for(const e of Object.keys(t))z(e);this._externalMap=q(t)}addExternalEntity(t,e){z(t),\"string\"==typeof e&&-1===e.indexOf(\"&\")&&(this._externalMap[t]=e)}addInputEntities(t){this._totalExpansions=0,this._expandedLength=0,this._inputMap=q(t)}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(t){this._ncrXmlVersion=1.1===t?1.1:1}decode(t){if(\"string\"!=typeof t||0===t.length)return t;const e=t,n=[],i=t.length;let s=0,r=0;const o=this._maxTotalExpansions>0,a=this._maxExpandedLength>0,h=o||a;for(;r<i;){if(38!==t.charCodeAt(r)){r++;continue}let e=r+1;for(;e<i&&59!==t.charCodeAt(e)&&e-r<=32;)e++;if(e>=i||59!==t.charCodeAt(e)){r++;continue}const l=t.slice(r+1,e);if(0===l.length){r++;continue}let u,p;if(this._removeSet.has(l))u=\"\",void 0===p&&(p=Z);else{if(this._leaveSet.has(l)){r++;continue}if(35===l.charCodeAt(0)){const t=this._resolveNCR(l);if(void 0===t){r++;continue}u=t,p=J}else{const t=this._resolveName(l);u=t?.value,p=t?.tier}}if(void 0!==u){if(r>s&&n.push(t.slice(s,r)),n.push(u),s=e+1,r=s,h&&this._tierCounts(p)){if(o&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(a){const t=u.length-(l.length+2);if(t>0&&(this._expandedLength+=t,this._expandedLength>this._maxExpandedLength))throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}else r++}s<i&&n.push(t.slice(s));const l=0===n.length?t:n.join(\"\");return this._postCheck(l,e)}_tierCounts(t){return!!this._limitTiers.has(K)||this._limitTiers.has(t)}_resolveName(t){return t in this._inputMap?{value:this._inputMap[t],tier:Z}:t in this._externalMap?{value:this._externalMap[t],tier:Z}:t in this._baseMap?{value:this._baseMap[t],tier:J}:void 0}_classifyNCR(t){return 0===t?this._ncrNullLevel:t>=55296&&t<=57343||1===this._ncrXmlVersion&&t>=1&&t<=31&&!H.has(t)?Q.remove:-1}_applyNCRAction(t,e,n){switch(t){case Q.allow:return String.fromCodePoint(n);case Q.remove:return\"\";case Q.leave:return;case Q.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference &${e}; (U+${n.toString(16).toUpperCase().padStart(4,\"0\")})`);default:return String.fromCodePoint(n)}}_resolveNCR(t){const e=t.charCodeAt(1);let n;if(n=120===e||88===e?parseInt(t.slice(2),16):parseInt(t.slice(1),10),Number.isNaN(n)||n<0||n>1114111)return;const i=this._classifyNCR(n);if(!this._numericAllowed&&i<Q.remove)return;const s=-1===i?this._ncrOnLevel:Math.max(this._ncrOnLevel,i);return this._applyNCRAction(s,t,n)}}function et(t,e){if(!t)return{};const n=e.attributesGroupName?t[e.attributesGroupName]:t;if(!n)return{};const i={};for(const t in n)t.startsWith(e.attributeNamePrefix)?i[t.substring(e.attributeNamePrefix.length)]=n[t]:i[t]=n[t];return i}function nt(t){if(!t||\"string\"!=typeof t)return;const e=t.indexOf(\":\");if(-1!==e&&e>0){const n=t.substring(0,e);if(\"xmlns\"!==n)return n}}class it{constructor(t,e){var n;this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.parseXml=ht,this.parseTextData=st,this.resolveNameSpace=rt,this.buildAttributesMap=at,this.isItStopNode=ct,this.replaceEntitiesValue=ut,this.readStopNodeData=mt,this.saveTextToParentTag=pt,this.addChild=lt,this.ignoreAttributesFn=\"function\"==typeof(n=this.options.ignoreAttributes)?n:Array.isArray(n)?t=>{for(const e of n){if(\"string\"==typeof e&&t===e)return!0;if(e instanceof RegExp&&e.test(t))return!0}}:()=>!1,this.entityExpansionCount=0,this.currentExpandedLength=0;let i={...W};this.options.entityDecoder?this.entityDecoder=this.options.entityDecoder:(\"object\"==typeof this.options.htmlEntities?i=this.options.htmlEntities:!0===this.options.htmlEntities&&(i={...X,...U}),this.entityDecoder=new tt({namedEntities:{...i,...e},numericAllowed:this.options.htmlEntities,limit:{maxTotalExpansions:this.options.processEntities.maxTotalExpansions,maxExpandedLength:this.options.processEntities.maxExpandedLength,applyLimitsTo:this.options.processEntities.appliesTo}})),this.matcher=new R,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.stopNodeExpressionsSet=new B;const s=this.options.stopNodes;if(s&&s.length>0){for(let t=0;t<s.length;t++){const e=s[t];\"string\"==typeof e?this.stopNodeExpressionsSet.add(new G(e)):e instanceof G&&this.stopNodeExpressionsSet.add(e)}this.stopNodeExpressionsSet.seal()}}}function st(t,e,n,i,s,r,o){const a=this.options;if(void 0!==t&&(a.trimValues&&!i&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t,e,n));const i=a.jPath?n.toString():n,h=a.tagValueProcessor(e,t,i,s,r);return null==h?t:typeof h!=typeof t||h!==t?h:a.trimValues||t.trim()===t?xt(t,a.parseTagValue,a.numberParseOptions):t}}function rt(t){if(this.options.removeNSPrefix){const e=t.split(\":\"),n=\"/\"===t.charAt(0)?\"/\":\"\";if(\"xmlns\"===e[0])return\"\";2===e.length&&(t=n+e[1])}return t}const ot=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])([\\\\s\\\\S]*?)\\\\3)?\",\"gm\");function at(t,e,n,i=!1){const r=this.options;if(!0===i||!0!==r.ignoreAttributes&&\"string\"==typeof t){const i=s(t,ot),o=i.length,a={},h=new Array(o);let l=!1;const u={};for(let t=0;t<o;t++){const e=this.resolveNameSpace(i[t][1]),s=i[t][4];if(e.length&&void 0!==s){let i=s;r.trimValues&&(i=i.trim()),i=this.replaceEntitiesValue(i,n,this.readonlyMatcher),h[t]=i,u[e]=i,l=!0}}l&&\"object\"==typeof e&&e.updateCurrent&&e.updateCurrent(u);const p=r.jPath?e.toString():this.readonlyMatcher;let c=!1;for(let t=0;t<o;t++){const e=this.resolveNameSpace(i[t][1]);if(this.ignoreAttributesFn(e,p))continue;let n=r.attributeNamePrefix+e;if(e.length)if(r.transformAttributeName&&(n=r.transformAttributeName(n)),n=bt(n,r),void 0!==i[t][4]){const i=h[t],s=r.attributeValueProcessor(e,i,p);a[n]=null==s?i:typeof s!=typeof i||s!==i?s:xt(i,r.parseAttributeValue,r.numberParseOptions),c=!0}else r.allowBooleanAttributes&&(a[n]=!0,c=!0)}if(!c)return;if(r.attributesGroupName&&!r.preserveOrder){const t={};return t[r.attributesGroupName]=a,t}return a}}const ht=function(t){t=t.replace(/\\r\\n?/g,\"\\n\");const e=new O(\"!xml\");let n=e,i=\"\";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;const s=this.options,r=new $(s.processEntities),o=t.length;for(let a=0;a<o;a++)if(\"<\"===t[a]){const h=t.charCodeAt(a+1);if(47===h){const e=dt(t,\">\",a,\"Closing Tag is not closed.\");let r=t.substring(a+2,e).trim();if(s.removeNSPrefix){const t=r.indexOf(\":\");-1!==t&&(r=r.substr(t+1))}r=Nt(s.transformTagName,r,\"\",s).tagName,n&&(i=this.saveTextToParentTag(i,n,this.readonlyMatcher));const o=this.matcher.getCurrentTag();if(r&&s.unpairedTagsSet.has(r))throw new Error(`Unpaired tag can not be used as closing tag: </${r}>`);o&&s.unpairedTagsSet.has(o)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,n=this.tagsNodeStack.pop(),i=\"\",a=e}else if(63===h){let e=gt(t,a,!1,\"?>\");if(!e)throw new Error(\"Pi Tag is not closed.\");i=this.saveTextToParentTag(i,n,this.readonlyMatcher);const r=this.buildAttributesMap(e.tagExp,this.matcher,e.tagName,!0);if(r){const t=r[this.options.attributeNamePrefix+\"version\"];this.entityDecoder.setXmlVersion(Number(t)||1)}if(s.ignoreDeclaration&&\"?xml\"===e.tagName||s.ignorePiTags);else{const t=new O(e.tagName);t.add(s.textNodeName,\"\"),e.tagName!==e.tagExp&&e.attrExpPresent&&!0!==s.ignoreAttributes&&(t[\":@\"]=r),this.addChild(n,t,this.readonlyMatcher,a)}a=e.closeIndex+1}else if(33===h&&45===t.charCodeAt(a+2)&&45===t.charCodeAt(a+3)){const e=dt(t,\"--\\x3e\",a+4,\"Comment is not closed.\");if(s.commentPropName){const r=t.substring(a+4,e-2);i=this.saveTextToParentTag(i,n,this.readonlyMatcher),n.add(s.commentPropName,[{[s.textNodeName]:r}])}a=e}else if(33===h&&68===t.charCodeAt(a+2)){const e=r.readDocType(t,a);this.entityDecoder.addInputEntities(e.entities),a=e.i}else if(33===h&&91===t.charCodeAt(a+2)){const e=dt(t,\"]]>\",a,\"CDATA is not closed.\")-2,r=t.substring(a+9,e);i=this.saveTextToParentTag(i,n,this.readonlyMatcher);let o=this.parseTextData(r,n.tagname,this.readonlyMatcher,!0,!1,!0,!0);null==o&&(o=\"\"),s.cdataPropName?n.add(s.cdataPropName,[{[s.textNodeName]:r}]):n.add(s.textNodeName,o),a=e+2}else{let r=gt(t,a,s.removeNSPrefix);if(!r){const e=t.substring(Math.max(0,a-50),Math.min(o,a+50));throw new Error(`readTagExp returned undefined at position ${a}. Context: \"${e}\"`)}let h=r.tagName;const l=r.rawTagName;let u=r.tagExp,p=r.attrExpPresent,c=r.closeIndex;if(({tagName:h,tagExp:u}=Nt(s.transformTagName,h,u,s)),s.strictReservedNames&&(h===s.commentPropName||h===s.cdataPropName||h===s.textNodeName||h===s.attributesGroupName))throw new Error(`Invalid tag name: ${h}`);n&&i&&\"!xml\"!==n.tagname&&(i=this.saveTextToParentTag(i,n,this.readonlyMatcher,!1));const d=n;d&&s.unpairedTagsSet.has(d.tagname)&&(n=this.tagsNodeStack.pop(),this.matcher.pop());let f=!1;u.length>0&&u.lastIndexOf(\"/\")===u.length-1&&(f=!0,\"/\"===h[h.length-1]?(h=h.substr(0,h.length-1),u=h):u=u.substr(0,u.length-1),p=h!==u);let g,m=null,x={};g=nt(l),h!==e.tagname&&this.matcher.push(h,{},g),h!==u&&p&&(m=this.buildAttributesMap(u,this.matcher,h),m&&(x=et(m,s))),h!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());const N=a;if(this.isCurrentNodeStopNode){let e=\"\";if(f)a=r.closeIndex;else if(s.unpairedTagsSet.has(h))a=r.closeIndex;else{const n=this.readStopNodeData(t,l,c+1);if(!n)throw new Error(`Unexpected end of ${l}`);a=n.i,e=n.tagContent}const i=new O(h);m&&(i[\":@\"]=m),i.add(s.textNodeName,e),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(n,i,this.readonlyMatcher,N)}else{if(f){({tagName:h,tagExp:u}=Nt(s.transformTagName,h,u,s));const t=new O(h);m&&(t[\":@\"]=m),this.addChild(n,t,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else{if(s.unpairedTagsSet.has(h)){const t=new O(h);m&&(t[\":@\"]=m),this.addChild(n,t,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1,a=r.closeIndex;continue}{const t=new O(h);if(this.tagsNodeStack.length>s.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");this.tagsNodeStack.push(n),m&&(t[\":@\"]=m),this.addChild(n,t,this.readonlyMatcher,N),n=t}}i=\"\",a=c}}}else i+=t[a];return e.child};function lt(t,e,n,i){this.options.captureMetaData||(i=void 0);const s=this.options.jPath?n.toString():n,r=this.options.updateTag(e.tagname,s,e[\":@\"]);!1===r||(\"string\"==typeof r?(e.tagname=r,t.addChild(e,i)):t.addChild(e,i))}function ut(t,e,n){const i=this.options.processEntities;if(!i||!i.enabled)return t;if(i.allowedTags){const s=this.options.jPath?n.toString():n;if(!(Array.isArray(i.allowedTags)?i.allowedTags.includes(e):i.allowedTags(e,s)))return t}if(i.tagFilter){const s=this.options.jPath?n.toString():n;if(!i.tagFilter(e,s))return t}return this.entityDecoder.decode(t)}function pt(t,e,n,i){return t&&(void 0===i&&(i=0===e.child.length),void 0!==(t=this.parseTextData(t,e.tagname,n,!1,!!e[\":@\"]&&0!==Object.keys(e[\":@\"]).length,i))&&\"\"!==t&&e.add(this.options.textNodeName,t),t=\"\"),t}function ct(){return 0!==this.stopNodeExpressionsSet.size&&this.matcher.matchesAny(this.stopNodeExpressionsSet)}function dt(t,e,n,i){const s=t.indexOf(e,n);if(-1===s)throw new Error(i);return s+e.length-1}function ft(t,e,n,i){const s=t.indexOf(e,n);if(-1===s)throw new Error(i);return s}function gt(t,e,n,i=\">\"){const s=function(t,e,n=\">\"){let i=0;const s=t.length,r=n.charCodeAt(0),o=n.length>1?n.charCodeAt(1):-1;let a=\"\",h=e;for(let n=e;n<s;n++){const e=t.charCodeAt(n);if(i)e===i&&(i=0);else if(34===e||39===e)i=e;else if(e===r){if(-1===o)return a+=t.substring(h,n),{data:a,index:n};if(t.charCodeAt(n+1)===o)return a+=t.substring(h,n),{data:a,index:n}}else 9!==e||i||(a+=t.substring(h,n)+\" \",h=n+1)}}(t,e+1,i);if(!s)return;let r=s.data;const o=s.index,a=r.search(/\\s/);let h=r,l=!0;-1!==a&&(h=r.substring(0,a),r=r.substring(a+1).trimStart());const u=h;if(n){const t=h.indexOf(\":\");-1!==t&&(h=h.substr(t+1),l=h!==s.data.substr(t+1))}return{tagName:h,tagExp:r,closeIndex:o,attrExpPresent:l,rawTagName:u}}function mt(t,e,n){const i=n;let s=1;const r=t.length;for(;n<r;n++)if(\"<\"===t[n]){const r=t.charCodeAt(n+1);if(47===r){const r=ft(t,\">\",n,`${e} is not closed`);if(t.substring(n+2,r).trim()===e&&(s--,0===s))return{tagContent:t.substring(i,n),i:r};n=r}else if(63===r)n=dt(t,\"?>\",n+1,\"StopNode is not closed.\");else if(33===r&&45===t.charCodeAt(n+2)&&45===t.charCodeAt(n+3))n=dt(t,\"--\\x3e\",n+3,\"StopNode is not closed.\");else if(33===r&&91===t.charCodeAt(n+2))n=dt(t,\"]]>\",n,\"StopNode is not closed.\")-2;else{const i=gt(t,n,!1);i&&((i&&i.tagName)===e&&\"/\"!==i.tagExp[i.tagExp.length-1]&&s++,n=i.closeIndex)}}}function xt(t,e,n){if(e&&\"string\"==typeof t){const e=t.trim();return\"true\"===e||\"false\"!==e&&function(t,e={}){if(e=Object.assign({},L,e),!t||\"string\"!=typeof t)return t;let n=t.trim();if(0===n.length)return t;if(void 0!==e.skipLike&&e.skipLike.test(n))return t;if(\"0\"===n)return 0;if(e.hex&&j.test(n))return function(t){if(parseInt)return parseInt(t,16);if(Number.parseInt)return Number.parseInt(t,16);if(window&&window.parseInt)return window.parseInt(t,16);throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")}(n);if(isFinite(n)){if(n.includes(\"e\")||n.includes(\"E\"))return function(t,e,n){if(!n.eNotation)return t;const i=e.match(k);if(i){let s=i[1]||\"\";const r=-1===i[3].indexOf(\"e\")?\"E\":\"e\",o=i[2],a=s?t[o.length+1]===r:t[o.length]===r;return o.length>1&&a?t:(1!==o.length||!i[3].startsWith(`.${r}`)&&i[3][0]!==r)&&o.length>0?n.leadingZeros&&!a?(e=(i[1]||\"\")+i[3],Number(e)):t:Number(e)}return t}(t,n,e);{const s=V.exec(n);if(s){const r=s[1]||\"\",o=s[2];let a=(i=s[3])&&-1!==i.indexOf(\".\")?(\".\"===(i=i.replace(/0+$/,\"\"))?i=\"0\":\".\"===i[0]?i=\"0\"+i:\".\"===i[i.length-1]&&(i=i.substring(0,i.length-1)),i):i;const h=r?\".\"===t[o.length+1]:\".\"===t[o.length];if(!e.leadingZeros&&(o.length>1||1===o.length&&!h))return t;{const i=Number(n),s=String(i);if(0===i)return i;if(-1!==s.search(/[eE]/))return e.eNotation?i:t;if(-1!==n.indexOf(\".\"))return\"0\"===s||s===a||s===`${r}${a}`?i:t;let h=o?a:n;return o?h===s||r+h===s?i:t:h===s||h===r+s?i:t}}return t}}var i;return function(t,e,n){const i=e===1/0;switch(n.infinity.toLowerCase()){case\"null\":return null;case\"infinity\":return e;case\"string\":return i?\"Infinity\":\"-Infinity\";default:return t}}(t,Number(n),e)}(t,n)}return void 0!==t?t:\"\"}function Nt(t,e,n,i){if(t){const i=t(e);n===e&&(n=i),e=i}return{tagName:e=bt(e,i),tagExp:n}}function bt(t,e){if(a.includes(t))throw new Error(`[SECURITY] Invalid name: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`);return o.includes(t)?e.onDangerousProperty(t):t}const yt=O.getMetaDataSymbol();function Et(t,e){if(!t||\"object\"!=typeof t)return{};if(!e)return t;const n={};for(const i in t)i.startsWith(e)?n[i.substring(e.length)]=t[i]:n[i]=t[i];return n}function wt(t,e,n,i){return vt(t,e,n,i)}function vt(t,e,n,i){let s;const r={};for(let o=0;o<t.length;o++){const a=t[o],h=St(a);if(void 0!==h&&h!==e.textNodeName){const t=Et(a[\":@\"]||{},e.attributeNamePrefix);n.push(h,t)}if(h===e.textNodeName)void 0===s?s=a[h]:s+=\"\"+a[h];else{if(void 0===h)continue;if(a[h]){let t=vt(a[h],e,n,i);const s=At(t,e);if(0===Object.keys(t).length&&e.alwaysCreateTextNode&&(t[e.textNodeName]=\"\"),a[\":@\"]?_t(t,a[\":@\"],i,e):1!==Object.keys(t).length||void 0===t[e.textNodeName]||e.alwaysCreateTextNode?0===Object.keys(t).length&&(e.alwaysCreateTextNode?t[e.textNodeName]=\"\":t=\"\"):t=t[e.textNodeName],void 0!==a[yt]&&\"object\"==typeof t&&null!==t&&(t[yt]=a[yt]),void 0!==r[h]&&Object.prototype.hasOwnProperty.call(r,h))Array.isArray(r[h])||(r[h]=[r[h]]),r[h].push(t);else{const n=e.jPath?i.toString():i;e.isArray(h,n,s)?r[h]=[t]:r[h]=t}void 0!==h&&h!==e.textNodeName&&n.pop()}}}return\"string\"==typeof s?s.length>0&&(r[e.textNodeName]=s):void 0!==s&&(r[e.textNodeName]=s),r}function St(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const n=e[t];if(\":@\"!==n)return n}}function _t(t,e,n,i){if(e){const s=Object.keys(e),r=s.length;for(let o=0;o<r;o++){const r=s[o],a=r.startsWith(i.attributeNamePrefix)?r.substring(i.attributeNamePrefix.length):r,h=i.jPath?n.toString()+\".\"+a:n;i.isArray(r,h,!0,!0)?t[r]=[e[r]]:t[r]=e[r]}}}function At(t,e){const{textNodeName:n}=e,i=Object.keys(t).length;return 0===i||!(1!==i||!t[n]&&\"boolean\"!=typeof t[n]&&0!==t[n])}class Tt{constructor(t){this.externalEntities={},this.options=C(t)}parse(t,e){if(\"string\"!=typeof t&&t.toString)t=t.toString();else if(\"string\"!=typeof t)throw new Error(\"XML data is accepted in String or Bytes[] form.\");if(e){!0===e&&(e={});const n=l(t,e);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new it(this.options,this.externalEntities),i=n.parseXml(t);return this.options.preserveOrder||void 0===i?i:wt(i,this.options,n.matcher,n.readonlyMatcher)}addEntity(t,e){if(-1!==e.indexOf(\"&\"))throw new Error(\"Entity value can't have '&'\");if(-1!==t.indexOf(\"&\")||-1!==t.indexOf(\";\"))throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");if(\"&\"===e)throw new Error(\"An entity with value '&' is not permitted\");this.externalEntities[t]=e}static getMetaDataSymbol(){return O.getMetaDataSymbol()}}function Ct(t){return String(t).replace(/--/g,\"- -\").replace(/--/g,\"- -\").replace(/-$/,\"- \")}function Pt(t){return String(t).replace(/\\]\\]>/g,\"]]]]><![CDATA[>\")}function Ot(t){return String(t).replace(/\"/g,\"&quot;\").replace(/'/g,\"&apos;\")}function $t(t,e){let n=\"\";e.format&&e.indentBy.length>0&&(n=\"\\n\");const i=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let t=0;t<e.stopNodes.length;t++){const n=e.stopNodes[t];\"string\"==typeof n?i.push(new G(n)):n instanceof G&&i.push(n)}return It(t,e,n,new R,i)}function It(t,e,n,i,s){let r=\"\",o=!1;if(e.maxNestedTags&&i.getDepth()>e.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");if(!Array.isArray(t)){if(null!=t){let n=t.toString();return n=Ft(n,e),n}return\"\"}for(let a=0;a<t.length;a++){const h=t[a],l=Vt(h);if(void 0===l)continue;const u=Dt(h[\":@\"],e);i.push(l,u);const p=kt(i,s);if(l===e.textNodeName){let t=h[l];p||(t=e.tagValueProcessor(l,t),t=Ft(t,e)),o&&(r+=n),r+=t,o=!1,i.pop();continue}if(l===e.cdataPropName){o&&(r+=n),r+=`<![CDATA[${Pt(h[l][0][e.textNodeName])}]]>`,o=!1,i.pop();continue}if(l===e.commentPropName){r+=n+`\\x3c!--${Ct(h[l][0][e.textNodeName])}--\\x3e`,o=!0,i.pop();continue}if(\"?\"===l[0]){const t=Lt(h[\":@\"],e,p),s=\"?xml\"===l?\"\":n;let a=h[l][0][e.textNodeName];a=0!==a.length?\" \"+a:\"\",r+=s+`<${l}${a}${t}?>`,o=!0,i.pop();continue}let c=n;\"\"!==c&&(c+=e.indentBy);const d=n+`<${l}${Lt(h[\":@\"],e,p)}`;let f;f=p?Mt(h[l],e):It(h[l],e,c,i,s),-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?r+=d+\">\":r+=d+\"/>\":f&&0!==f.length||!e.suppressEmptyNode?f&&f.endsWith(\">\")?r+=d+`>${f}${n}</${l}>`:(r+=d+\">\",f&&\"\"!==n&&(f.includes(\"/>\")||f.includes(\"</\"))?r+=n+e.indentBy+f+n:r+=f,r+=`</${l}>`):r+=d+\"/>\",o=!0,i.pop()}return r}function Dt(t,e){if(!t||e.ignoreAttributes)return null;const n={};let i=!1;for(let s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[s.startsWith(e.attributeNamePrefix)?s.substr(e.attributeNamePrefix.length):s]=Ot(t[s]),i=!0);return i?n:null}function Mt(t,e){if(!Array.isArray(t))return null!=t?t.toString():\"\";let n=\"\";for(let i=0;i<t.length;i++){const s=t[i],r=Vt(s);if(r===e.textNodeName)n+=s[r];else if(r===e.cdataPropName)n+=s[r][0][e.textNodeName];else if(r===e.commentPropName)n+=s[r][0][e.textNodeName];else{if(r&&\"?\"===r[0])continue;if(r){const t=jt(s[\":@\"],e),i=Mt(s[r],e);i&&0!==i.length?n+=`<${r}${t}>${i}</${r}>`:n+=`<${r}${t}/>`}}}return n}function jt(t,e){let n=\"\";if(t&&!e.ignoreAttributes)for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let s=t[i];!0===s&&e.suppressBooleanAttributes?n+=` ${i.substr(e.attributeNamePrefix.length)}`:n+=` ${i.substr(e.attributeNamePrefix.length)}=\"${Ot(s)}\"`}return n}function Vt(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const i=e[n];if(Object.prototype.hasOwnProperty.call(t,i)&&\":@\"!==i)return i}}function Lt(t,e,n){let i=\"\";if(t&&!e.ignoreAttributes)for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let r;n?r=t[s]:(r=e.attributeValueProcessor(s,t[s]),r=Ft(r,e)),!0===r&&e.suppressBooleanAttributes?i+=` ${s.substr(e.attributeNamePrefix.length)}`:i+=` ${s.substr(e.attributeNamePrefix.length)}=\"${Ot(r)}\"`}return i}function kt(t,e){if(!e||0===e.length)return!1;for(let n=0;n<e.length;n++)if(t.matches(e[n]))return!0;return!1}function Ft(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const i=e.entities[n];t=t.replace(i.regex,i.val)}return t}const Rt={attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:\" \",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp(\"&\",\"g\"),val:\"&amp;\"},{regex:new RegExp(\">\",\"g\"),val:\"&gt;\"},{regex:new RegExp(\"<\",\"g\"),val:\"&lt;\"},{regex:new RegExp(\"'\",\"g\"),val:\"&apos;\"},{regex:new RegExp('\"',\"g\"),val:\"&quot;\"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0};function Gt(t){if(this.options=Object.assign({},Rt,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(t=>\"string\"==typeof t&&t.startsWith(\"*.\")?\"..\"+t.substring(2):t)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let t=0;t<this.options.stopNodes.length;t++){const e=this.options.stopNodes[t];\"string\"==typeof e?this.stopNodeExpressions.push(new G(e)):e instanceof G&&this.stopNodeExpressions.push(e)}var e;!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=\"function\"==typeof(e=this.options.ignoreAttributes)?e:Array.isArray(e)?t=>{for(const n of e){if(\"string\"==typeof n&&t===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Wt),this.processTextOrObjNode=Bt,this.options.format?(this.indentate=Ut,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\")}function Bt(t,e,n,i){const s=this.extractAttributes(t);if(i.push(e,s),this.checkStopNode(i)){const s=this.buildRawContent(t),r=this.buildAttributesForStopNode(t);return i.pop(),this.buildObjectNode(s,e,r,n)}const r=this.j2x(t,n+1,i);return i.pop(),void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,n,i):this.buildObjectNode(r.val,e,r.attrStr,n)}function Ut(t){return this.options.indentBy.repeat(t)}function Wt(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}Gt.prototype.build=function(t){if(this.options.preserveOrder)return $t(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});const e=new R;return this.j2x(t,0,e).val}},Gt.prototype.j2x=function(t,e,n){let i=\"\",s=\"\";if(this.options.maxNestedTags&&n.getDepth()>=this.options.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");const r=this.options.jPath?n.toString():n,o=this.checkStopNode(n);for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(void 0===t[a])this.isAttribute(a)&&(s+=\"\");else if(null===t[a])this.isAttribute(a)||a===this.options.cdataPropName||a===this.options.commentPropName?s+=\"\":\"?\"===a[0]?s+=this.indentate(e)+\"<\"+a+\"?\"+this.tagEndChar:s+=this.indentate(e)+\"<\"+a+\"/\"+this.tagEndChar;else if(t[a]instanceof Date)s+=this.buildTextValNode(t[a],a,\"\",e,n);else if(\"object\"!=typeof t[a]){const h=this.isAttribute(a);if(h&&!this.ignoreAttributesFn(h,r))i+=this.buildAttrPairStr(h,\"\"+t[a],o);else if(!h)if(a===this.options.textNodeName){let e=this.options.tagValueProcessor(a,\"\"+t[a]);s+=this.replaceEntitiesValue(e)}else{n.push(a);const i=this.checkStopNode(n);if(n.pop(),i){const n=\"\"+t[a];s+=\"\"===n?this.indentate(e)+\"<\"+a+this.closeTag(a)+this.tagEndChar:this.indentate(e)+\"<\"+a+\">\"+n+\"</\"+a+this.tagEndChar}else s+=this.buildTextValNode(t[a],a,\"\",e,n)}}else if(Array.isArray(t[a])){const i=t[a].length;let r=\"\",o=\"\";for(let h=0;h<i;h++){const i=t[a][h];if(void 0===i);else if(null===i)\"?\"===a[0]?s+=this.indentate(e)+\"<\"+a+\"?\"+this.tagEndChar:s+=this.indentate(e)+\"<\"+a+\"/\"+this.tagEndChar;else if(\"object\"==typeof i)if(this.options.oneListGroup){n.push(a);const t=this.j2x(i,e+1,n);n.pop(),r+=t.val,this.options.attributesGroupName&&i.hasOwnProperty(this.options.attributesGroupName)&&(o+=t.attrStr)}else r+=this.processTextOrObjNode(i,a,e,n);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(a,i);t=this.replaceEntitiesValue(t),r+=t}else{n.push(a);const t=this.checkStopNode(n);if(n.pop(),t){const t=\"\"+i;r+=\"\"===t?this.indentate(e)+\"<\"+a+this.closeTag(a)+this.tagEndChar:this.indentate(e)+\"<\"+a+\">\"+t+\"</\"+a+this.tagEndChar}else r+=this.buildTextValNode(i,a,\"\",e,n)}}this.options.oneListGroup&&(r=this.buildObjectNode(r,a,o,e)),s+=r}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const e=Object.keys(t[a]),n=e.length;for(let s=0;s<n;s++)i+=this.buildAttrPairStr(e[s],\"\"+t[a][e[s]],o)}else s+=this.processTextOrObjNode(t[a],a,e,n);return{attrStr:i,val:s}},Gt.prototype.buildAttrPairStr=function(t,e,n){return n||(e=this.options.attributeValueProcessor(t,\"\"+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&\"true\"===e?\" \"+t:\" \"+t+'=\"'+Ot(e)+'\"'},Gt.prototype.extractAttributes=function(t){if(!t||\"object\"!=typeof t)return null;const e={};let n=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const i=t[this.options.attributesGroupName];for(let t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t]=Ot(i[t]),n=!0)}else for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;const s=this.isAttribute(i);s&&(e[s]=Ot(t[i]),n=!0)}return n?e:null},Gt.prototype.buildRawContent=function(t){if(\"string\"==typeof t)return t;if(\"object\"!=typeof t||null===t)return String(t);if(void 0!==t[this.options.textNodeName])return t[this.options.textNodeName];let e=\"\";for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;if(this.isAttribute(n))continue;if(this.options.attributesGroupName&&n===this.options.attributesGroupName)continue;const i=t[n];if(n===this.options.textNodeName)e+=i;else if(Array.isArray(i)){for(let t of i)if(\"string\"==typeof t||\"number\"==typeof t)e+=`<${n}>${t}</${n}>`;else if(\"object\"==typeof t&&null!==t){const i=this.buildRawContent(t),s=this.buildAttributesForStopNode(t);e+=\"\"===i?`<${n}${s}/>`:`<${n}${s}>${i}</${n}>`}}else if(\"object\"==typeof i&&null!==i){const t=this.buildRawContent(i),s=this.buildAttributesForStopNode(i);e+=\"\"===t?`<${n}${s}/>`:`<${n}${s}>${t}</${n}>`}else e+=`<${n}>${i}</${n}>`}return e},Gt.prototype.buildAttributesForStopNode=function(t){if(!t||\"object\"!=typeof t)return\"\";let e=\"\";if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const n=t[this.options.attributesGroupName];for(let t in n){if(!Object.prototype.hasOwnProperty.call(n,t))continue;const i=t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t,s=n[t];!0===s&&this.options.suppressBooleanAttributes?e+=\" \"+i:e+=\" \"+i+'=\"'+s+'\"'}}else for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;const i=this.isAttribute(n);if(i){const s=t[n];!0===s&&this.options.suppressBooleanAttributes?e+=\" \"+i:e+=\" \"+i+'=\"'+s+'\"'}}return e},Gt.prototype.buildObjectNode=function(t,e,n,i){if(\"\"===t)return\"?\"===e[0]?this.indentate(i)+\"<\"+e+n+\"?\"+this.tagEndChar:this.indentate(i)+\"<\"+e+n+this.closeTag(e)+this.tagEndChar;{let s=\"</\"+e+this.tagEndChar,r=\"\";return\"?\"===e[0]&&(r=\"?\",s=\"\"),!n&&\"\"!==n||-1!==t.indexOf(\"<\")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===r.length?this.indentate(i)+`\\x3c!--${t}--\\x3e`+this.newLine:this.indentate(i)+\"<\"+e+n+r+this.tagEndChar+t+this.indentate(i)+s:this.indentate(i)+\"<\"+e+n+r+\">\"+t+s}},Gt.prototype.closeTag=function(t){let e=\"\";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e=\"/\"):e=this.options.suppressEmptyNode?\"/\":`></${t}`,e},Gt.prototype.checkStopNode=function(t){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let e=0;e<this.stopNodeExpressions.length;e++)if(t.matches(this.stopNodeExpressions[e]))return!0;return!1},Gt.prototype.buildTextValNode=function(t,e,n,i,s){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName){const e=Pt(t);return this.indentate(i)+`<![CDATA[${e}]]>`+this.newLine}if(!1!==this.options.commentPropName&&e===this.options.commentPropName){const e=Ct(t);return this.indentate(i)+`\\x3c!--${e}--\\x3e`+this.newLine}if(\"?\"===e[0])return this.indentate(i)+\"<\"+e+n+\"?\"+this.tagEndChar;{let s=this.options.tagValueProcessor(e,t);return s=this.replaceEntitiesValue(s),\"\"===s?this.indentate(i)+\"<\"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(i)+\"<\"+e+n+\">\"+s+\"</\"+e+this.tagEndChar}},Gt.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t};const Xt=Gt,Yt={validate:l};module.exports=e})();",
9
+ "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntityDecoderImpl = exports.CURRENCY = exports.COMMON_HTML = exports.XML = void 0;\nexports.XML = {\n amp: \"&\",\n apos: \"'\",\n gt: \">\",\n lt: \"<\",\n quot: '\"',\n};\nexports.COMMON_HTML = {\n nbsp: \"\\u00a0\",\n copy: \"\\u00a9\",\n reg: \"\\u00ae\",\n trade: \"\\u2122\",\n mdash: \"\\u2014\",\n ndash: \"\\u2013\",\n hellip: \"\\u2026\",\n laquo: \"\\u00ab\",\n raquo: \"\\u00bb\",\n lsquo: \"\\u2018\",\n rsquo: \"\\u2019\",\n ldquo: \"\\u201c\",\n rdquo: \"\\u201d\",\n bull: \"\\u2022\",\n para: \"\\u00b6\",\n sect: \"\\u00a7\",\n deg: \"\\u00b0\",\n frac12: \"\\u00bd\",\n frac14: \"\\u00bc\",\n frac34: \"\\u00be\",\n};\nexports.CURRENCY = {\n cent: \"\\u00a2\",\n pound: \"\\u00a3\",\n curren: \"\\u00a4\",\n yen: \"\\u00a5\",\n euro: \"\\u20ac\",\n dollar: \"$\",\n fnof: \"\\u0192\",\n inr: \"\\u20b9\",\n af: \"\\u060b\",\n birr: \"\\u1265\\u122d\",\n peso: \"\\u20b1\",\n rub: \"\\u20bd\",\n won: \"\\u20a9\",\n yuan: \"\\u00a5\",\n cedil: \"\\u00b8\",\n};\nconst SPECIAL_CHARS = new Set(\"!?\\\\/[]$%{}^&*()<>|+\");\nfunction validateEntityName(name) {\n if (name[0] === \"#\") {\n throw new Error(`[EntityReplacer] Invalid character '#' in entity name: \"${name}\"`);\n }\n for (const ch of name) {\n if (SPECIAL_CHARS.has(ch)) {\n throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: \"${name}\"`);\n }\n }\n return name;\n}\nfunction mergeEntityMaps(...maps) {\n const out = Object.create(null);\n for (const map of maps) {\n if (!map) {\n continue;\n }\n for (const key of Object.keys(map)) {\n const raw = map[key];\n if (typeof raw === \"string\") {\n out[key] = raw;\n }\n else if (raw && typeof raw === \"object\" && raw.val !== undefined) {\n const val = raw.val;\n if (typeof val === \"string\") {\n out[key] = val;\n }\n }\n }\n }\n return out;\n}\nconst LIMIT_TIER_EXTERNAL = \"external\";\nconst LIMIT_TIER_BASE = \"base\";\nconst LIMIT_TIER_ALL = \"all\";\nfunction parseLimitTiers(raw) {\n if (!raw || raw === LIMIT_TIER_EXTERNAL) {\n return new Set([LIMIT_TIER_EXTERNAL]);\n }\n if (raw === LIMIT_TIER_ALL) {\n return new Set([LIMIT_TIER_ALL]);\n }\n if (raw === LIMIT_TIER_BASE) {\n return new Set([LIMIT_TIER_BASE]);\n }\n if (Array.isArray(raw)) {\n return new Set(raw);\n }\n return new Set([LIMIT_TIER_EXTERNAL]);\n}\nconst NCR_LEVEL = Object.freeze({ allow: 0, leave: 1, remove: 2, throw: 3 });\nconst XML10_ALLOWED_C0 = new Set([0x09, 0x0a, 0x0d]);\nfunction parseNCRConfig(ncr) {\n if (!ncr) {\n return { xmlVersion: 1.0, onLevel: NCR_LEVEL.allow, nullLevel: NCR_LEVEL.remove };\n }\n const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1.0;\n const onLevel = NCR_LEVEL[ncr.onNCR ?? \"allow\"] ?? NCR_LEVEL.allow;\n const nullLevel = NCR_LEVEL[ncr.nullNCR ?? \"remove\"] ?? NCR_LEVEL.remove;\n const clampedNull = Math.max(nullLevel, NCR_LEVEL.remove);\n return { xmlVersion, onLevel, nullLevel: clampedNull };\n}\nconst EntityDecoderImpl = class EntityDecoderImpl {\n _limit;\n _maxTotalExpansions;\n _maxExpandedLength;\n _postCheck;\n _limitTiers;\n _numericAllowed;\n _baseMap;\n _externalMap;\n _inputMap;\n _totalExpansions;\n _expandedLength;\n _removeSet;\n _leaveSet;\n _ncrXmlVersion;\n _ncrOnLevel;\n _ncrNullLevel;\n constructor(options = {}) {\n this._limit = options.limit || {};\n this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;\n this._maxExpandedLength = this._limit.maxExpandedLength || 0;\n this._postCheck = typeof options.postCheck === \"function\" ? options.postCheck : (r) => r;\n this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);\n this._numericAllowed = options.numericAllowed ?? true;\n this._baseMap = mergeEntityMaps(exports.XML, options.namedEntities || null);\n this._externalMap = Object.create(null);\n this._inputMap = Object.create(null);\n this._totalExpansions = 0;\n this._expandedLength = 0;\n this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);\n this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);\n const ncrCfg = parseNCRConfig(options.ncr);\n this._ncrXmlVersion = ncrCfg.xmlVersion;\n this._ncrOnLevel = ncrCfg.onLevel;\n this._ncrNullLevel = ncrCfg.nullLevel;\n }\n setExternalEntities(map) {\n if (map) {\n for (const key of Object.keys(map)) {\n validateEntityName(key);\n }\n }\n this._externalMap = mergeEntityMaps(map);\n }\n addExternalEntity(key, value) {\n validateEntityName(key);\n if (typeof value === \"string\" && value.indexOf(\"&\") === -1) {\n this._externalMap[key] = value;\n }\n }\n addInputEntities(map) {\n this._totalExpansions = 0;\n this._expandedLength = 0;\n this._inputMap = mergeEntityMaps(map);\n }\n reset() {\n this._inputMap = Object.create(null);\n this._totalExpansions = 0;\n this._expandedLength = 0;\n return this;\n }\n setXmlVersion(version) {\n this._ncrXmlVersion = version === \"1.1\" || version === 1.1 ? 1.1 : 1.0;\n }\n decode(str) {\n if (typeof str !== \"string\" || str.length === 0) {\n return str;\n }\n const original = str;\n const chunks = [];\n const len = str.length;\n let last = 0;\n let i = 0;\n const limitExpansions = this._maxTotalExpansions > 0;\n const limitLength = this._maxExpandedLength > 0;\n const checkLimits = limitExpansions || limitLength;\n while (i < len) {\n if (str.charCodeAt(i) !== 38) {\n i++;\n continue;\n }\n let j = i + 1;\n while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) {\n j++;\n }\n if (j >= len || str.charCodeAt(j) !== 59) {\n i++;\n continue;\n }\n const token = str.slice(i + 1, j);\n if (token.length === 0) {\n i++;\n continue;\n }\n let replacement;\n let tier;\n if (this._removeSet.has(token)) {\n replacement = \"\";\n if (tier === undefined) {\n tier = LIMIT_TIER_EXTERNAL;\n }\n }\n else if (this._leaveSet.has(token)) {\n i++;\n continue;\n }\n else if (token.charCodeAt(0) === 35) {\n const ncrResult = this._resolveNCR(token);\n if (ncrResult === undefined) {\n i++;\n continue;\n }\n replacement = ncrResult;\n tier = LIMIT_TIER_BASE;\n }\n else {\n const resolved = this._resolveName(token);\n replacement = resolved?.value;\n tier = resolved?.tier;\n }\n if (replacement === undefined) {\n i++;\n continue;\n }\n if (i > last) {\n chunks.push(str.slice(last, i));\n }\n chunks.push(replacement);\n last = j + 1;\n i = last;\n if (checkLimits && this._tierCounts(tier)) {\n if (limitExpansions) {\n this._totalExpansions++;\n if (this._totalExpansions > this._maxTotalExpansions) {\n throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ` +\n `${this._totalExpansions} > ${this._maxTotalExpansions}`);\n }\n }\n if (limitLength) {\n const delta = replacement.length - (token.length + 2);\n if (delta > 0) {\n this._expandedLength += delta;\n if (this._expandedLength > this._maxExpandedLength) {\n throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ` +\n `${this._expandedLength} > ${this._maxExpandedLength}`);\n }\n }\n }\n }\n }\n if (last < len) {\n chunks.push(str.slice(last));\n }\n const result = chunks.length === 0 ? str : chunks.join(\"\");\n return this._postCheck(result, original);\n }\n _tierCounts(tier) {\n if (this._limitTiers.has(LIMIT_TIER_ALL)) {\n return true;\n }\n return this._limitTiers.has(tier);\n }\n _resolveName(name) {\n if (name in this._inputMap) {\n return { value: this._inputMap[name], tier: LIMIT_TIER_EXTERNAL };\n }\n if (name in this._externalMap) {\n return { value: this._externalMap[name], tier: LIMIT_TIER_EXTERNAL };\n }\n if (name in this._baseMap) {\n return { value: this._baseMap[name], tier: LIMIT_TIER_BASE };\n }\n return undefined;\n }\n _classifyNCR(cp) {\n if (cp === 0) {\n return this._ncrNullLevel;\n }\n if (cp >= 0xd800 && cp <= 0xdfff) {\n return NCR_LEVEL.remove;\n }\n if (this._ncrXmlVersion === 1.0) {\n if (cp >= 0x01 && cp <= 0x1f && !XML10_ALLOWED_C0.has(cp)) {\n return NCR_LEVEL.remove;\n }\n }\n return -1;\n }\n _applyNCRAction(action, token, cp) {\n switch (action) {\n case NCR_LEVEL.allow:\n return String.fromCodePoint(cp);\n case NCR_LEVEL.remove:\n return \"\";\n case NCR_LEVEL.leave:\n return undefined;\n case NCR_LEVEL.throw:\n throw new Error(`[EntityDecoder] Prohibited numeric character reference ` +\n `&${token}; (U+${cp.toString(16).toUpperCase().padStart(4, \"0\")})`);\n default:\n return String.fromCodePoint(cp);\n }\n }\n _resolveNCR(token) {\n const second = token.charCodeAt(1);\n let cp;\n if (second === 120 || second === 88) {\n cp = parseInt(token.slice(2), 16);\n }\n else {\n cp = parseInt(token.slice(1), 10);\n }\n if (Number.isNaN(cp) || cp < 0 || cp > 0x10ffff) {\n return undefined;\n }\n const minimum = this._classifyNCR(cp);\n if (!this._numericAllowed && minimum < NCR_LEVEL.remove) {\n return undefined;\n }\n const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);\n return this._applyNCRAction(effective, token, cp);\n }\n};\nexports.EntityDecoderImpl = EntityDecoderImpl;\n",
10
+ "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseXML = parseXML;\nconst fast_xml_parser_1 = require(\"fast-xml-parser\");\nconst nodable_entities_1 = require(\"./xml-external/nodable_entities\");\nconst entityDecoder = new nodable_entities_1.EntityDecoderImpl({\n namedEntities: { ...nodable_entities_1.XML, ...nodable_entities_1.COMMON_HTML, ...nodable_entities_1.CURRENCY },\n numericAllowed: true,\n limit: {\n maxTotalExpansions: Infinity,\n },\n ncr: {\n xmlVersion: 1.1,\n },\n});\nconst parser = new fast_xml_parser_1.XMLParser({\n attributeNamePrefix: \"\",\n processEntities: {\n enabled: true,\n maxTotalExpansions: Infinity,\n },\n htmlEntities: true,\n entityDecoder: {\n setExternalEntities: (entities) => {\n entityDecoder.setExternalEntities(entities);\n },\n addInputEntities: (entities) => {\n entityDecoder.addInputEntities(entities);\n },\n reset: () => {\n entityDecoder.reset();\n },\n decode: (text) => {\n return entityDecoder.decode(text);\n },\n setXmlVersion: (version) => void {},\n },\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n maxNestedTags: Infinity,\n});\nfunction parseXML(xmlString) {\n return parser.parse(xmlString, true);\n}\n",
11
+ "'use strict';\n\nvar xmlParser = require('./xml-parser');\n\nconst ATTR_ESCAPE_RE = /[&<>\"]/g;\nconst ATTR_ESCAPE_MAP = {\n \"&\": \"&amp;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n '\"': \"&quot;\",\n};\nfunction escapeAttribute(value) {\n return value.replace(ATTR_ESCAPE_RE, (ch) => ATTR_ESCAPE_MAP[ch]);\n}\n\nconst ELEMENT_ESCAPE_RE = /[&\"'<>\\r\\n\\u0085\\u2028]/g;\nconst ELEMENT_ESCAPE_MAP = {\n \"&\": \"&amp;\",\n '\"': \"&quot;\",\n \"'\": \"&apos;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n \"\\r\": \"&#x0D;\",\n \"\\n\": \"&#x0A;\",\n \"\\u0085\": \"&#x85;\",\n \"\\u2028\": \"&#x2028;\",\n};\nfunction escapeElement(value) {\n return value.replace(ELEMENT_ESCAPE_RE, (ch) => ELEMENT_ESCAPE_MAP[ch]);\n}\n\nclass XmlText {\n value;\n constructor(value) {\n this.value = value;\n }\n toString() {\n return escapeElement(\"\" + this.value);\n }\n}\n\nclass XmlNode {\n name;\n children;\n attributes = {};\n static of(name, childText, withName) {\n const node = new XmlNode(name);\n if (childText !== undefined) {\n node.addChildNode(new XmlText(childText));\n }\n if (withName !== undefined) {\n node.withName(withName);\n }\n return node;\n }\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n n(name) {\n this.name = name;\n return this;\n }\n c(child) {\n this.children.push(child);\n return this;\n }\n a(name, value) {\n if (value != null) {\n this.attributes[name] = value;\n }\n return this;\n }\n cc(input, field, withName = field) {\n if (input[field] != null) {\n const node = XmlNode.of(field, input[field]).withName(withName);\n this.c(node);\n }\n }\n l(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n nodes.map((node) => {\n node.withName(memberName);\n this.c(node);\n });\n }\n }\n lc(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n const containerNode = new XmlNode(memberName);\n nodes.map((node) => {\n containerNode.c(node);\n });\n this.c(containerNode);\n }\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (attribute != null) {\n xmlText += ` ${attributeName}=\"${escapeAttribute(\"\" + attribute)}\"`;\n }\n }\n return (xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}</${this.name}>`);\n }\n}\n\nexports.parseXML = xmlParser.parseXML;\nexports.XmlNode = XmlNode;\nexports.XmlText = XmlText;\n",
12
+ "'use strict';\n\nvar cbor = require('@smithy/core/cbor');\nvar schema = require('@smithy/core/schema');\nvar client = require('@smithy/core/client');\nvar protocols = require('@smithy/core/protocols');\nvar serde = require('@smithy/core/serde');\nvar xmlBuilder = require('@aws-sdk/xml-builder');\n\nclass ProtocolLib {\n queryCompat;\n errorRegistry;\n constructor(queryCompat = false) {\n this.queryCompat = queryCompat;\n }\n resolveRestContentType(defaultContentType, inputSchema) {\n const members = inputSchema.getMemberSchemas();\n const httpPayloadMember = Object.values(members).find((m) => {\n return !!m.getMergedTraits().httpPayload;\n });\n if (httpPayloadMember) {\n const mediaType = httpPayloadMember.getMergedTraits().mediaType;\n if (mediaType) {\n return mediaType;\n }\n else if (httpPayloadMember.isStringSchema()) {\n return \"text/plain\";\n }\n else if (httpPayloadMember.isBlobSchema()) {\n return \"application/octet-stream\";\n }\n else {\n return defaultContentType;\n }\n }\n else if (!inputSchema.isUnitSchema()) {\n const hasBody = Object.values(members).find((m) => {\n const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();\n const noPrefixHeaders = httpPrefixHeaders === void 0;\n return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;\n });\n if (hasBody) {\n return defaultContentType;\n }\n }\n }\n async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {\n let errorName = errorIdentifier;\n if (errorIdentifier.includes(\"#\")) {\n [, errorName] = errorIdentifier.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode < 500 ? \"client\" : \"server\",\n };\n if (!this.errorRegistry) {\n throw new Error(\"@aws-sdk/core/protocols - error handler not initialized.\");\n }\n try {\n const errorSchema = getErrorSchema?.(this.errorRegistry, errorName) ??\n this.errorRegistry.getSchema(errorIdentifier);\n return { errorSchema, errorMetadata };\n }\n catch (e) {\n dataObject.message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const synthetic = this.errorRegistry;\n const baseExceptionSchema = synthetic.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;\n throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);\n }\n const d = dataObject;\n const message = d?.message ?? d?.Message ?? d?.Error?.Message ?? d?.Error?.message;\n throw this.decorateServiceException(Object.assign(new Error(message), {\n name: errorName,\n }, errorMetadata), dataObject);\n }\n }\n compose(composite, errorIdentifier, defaultNamespace) {\n let namespace = defaultNamespace;\n if (errorIdentifier.includes(\"#\")) {\n [namespace] = errorIdentifier.split(\"#\");\n }\n const staticRegistry = schema.TypeRegistry.for(namespace);\n const defaultSyntheticRegistry = schema.TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + defaultNamespace);\n composite.copyFrom(staticRegistry);\n composite.copyFrom(defaultSyntheticRegistry);\n this.errorRegistry = composite;\n }\n decorateServiceException(exception, additions = {}) {\n if (this.queryCompat) {\n const msg = exception.Message ?? additions.Message;\n const error = client.decorateServiceException(exception, additions);\n if (msg) {\n error.message = msg;\n }\n const errorObj = error.Error ?? {};\n errorObj.Type = error.Error?.Type;\n errorObj.Code = error.Error?.Code;\n errorObj.Message = error.Error?.message ?? error.Error?.Message ?? msg;\n error.Error = errorObj;\n const reqId = error.$metadata.requestId;\n if (reqId) {\n error.RequestId = reqId;\n }\n return error;\n }\n return client.decorateServiceException(exception, additions);\n }\n setQueryCompatError(output, response) {\n const queryErrorHeader = response.headers?.[\"x-amzn-query-error\"];\n if (output !== undefined && queryErrorHeader != null) {\n const [Code, Type] = queryErrorHeader.split(\";\");\n const keys = Object.keys(output);\n const Error = {\n Code,\n Type,\n };\n output.Code = Code;\n output.Type = Type;\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n Error[k === \"message\" ? \"Message\" : k] = output[k];\n }\n delete Error.__type;\n output.Error = Error;\n }\n }\n queryCompatOutput(queryCompatErrorData, errorData) {\n if (queryCompatErrorData.Error) {\n errorData.Error = queryCompatErrorData.Error;\n }\n if (queryCompatErrorData.Type) {\n errorData.Type = queryCompatErrorData.Type;\n }\n if (queryCompatErrorData.Code) {\n errorData.Code = queryCompatErrorData.Code;\n }\n }\n findQueryCompatibleError(registry, errorName) {\n try {\n return registry.getSchema(errorName);\n }\n catch (e) {\n return registry.find((schema$1) => schema.NormalizedSchema.of(schema$1).getMergedTraits().awsQueryError?.[0] === errorName);\n }\n }\n}\n\nclass AwsSmithyRpcV2CborProtocol extends cbor.SmithyRpcV2CborProtocol {\n awsQueryCompatible;\n mixin;\n constructor({ defaultNamespace, errorTypeRegistries, awsQueryCompatible, }) {\n super({ defaultNamespace, errorTypeRegistries });\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorName = (() => {\n const compatHeader = response.headers[\"x-amzn-query-error\"];\n if (compatHeader && this.awsQueryCompatible) {\n return compatHeader.split(\";\")[0];\n }\n return cbor.loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n })();\n this.mixin.compose(this.compositeErrorRegistry, errorName, this.options.defaultNamespace);\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = schema.NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor({});\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n\nconst _toStr = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\" || typeof val === \"bigint\") {\n const warning = new Error(`Received number ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n if (typeof val === \"boolean\") {\n const warning = new Error(`Received boolean ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n return val;\n};\nconst _toBool = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"string\") {\n const lowercase = val.toLowerCase();\n if (val !== \"\" && lowercase !== \"false\" && lowercase !== \"true\") {\n const warning = new Error(`Received string \"${val}\" where a boolean was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n }\n return val !== \"\" && lowercase !== \"false\";\n }\n return val;\n};\nconst _toNum = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"string\") {\n const num = Number(val);\n if (num.toString() !== val) {\n const warning = new Error(`Received string \"${val}\" where a number was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return val;\n }\n return num;\n }\n return val;\n};\n\nclass SerdeContextConfig {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n\nclass UnionSerde {\n from;\n to;\n keys;\n constructor(from, to) {\n this.from = from;\n this.to = to;\n const keys = Object.keys(this.from);\n const set = new Set(keys);\n set.delete(\"__type\");\n this.keys = set;\n }\n mark(key) {\n this.keys.delete(key);\n }\n hasUnknown() {\n return this.keys.size === 1 && Object.keys(this.to).length === 0;\n }\n writeUnknown() {\n if (this.hasUnknown()) {\n const k = this.keys.values().next().value;\n const v = this.from[k];\n this.to.$unknown = [k, v];\n }\n }\n}\n\nfunction jsonReviver(key, value, context) {\n if (context?.source) {\n const numericString = context.source;\n if (typeof value === \"number\") {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER || numericString !== String(value)) {\n const isFractional = numericString.includes(\".\");\n if (isFractional) {\n return new serde.NumericValue(numericString, \"bigDecimal\");\n }\n else {\n return BigInt(numericString);\n }\n }\n }\n }\n return value;\n}\n\nconst collectBodyString = (streamBody, context) => protocols.collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? serde.toUtf8)(body));\n\nconst parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n }\n catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n }\n return {};\n});\nconst parseJsonErrorBody = async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nconst findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\nconst sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n};\nconst loadRestJsonErrorCode = (output, data) => {\n return loadErrorCode(output, data, [\"header\", \"code\", \"type\"]);\n};\nconst loadJsonRpcErrorCode = (output, data, queryCompat = false) => {\n return loadErrorCode(output, data, queryCompat ? [\"code\", \"header\", \"type\"] : [\"type\", \"code\", \"header\"]);\n};\nconst loadErrorCode = ({ headers }, data, order) => {\n while (order.length > 0) {\n const location = order.shift();\n switch (location) {\n case \"header\":\n const headerKey = findKey(headers ?? {}, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(headers[headerKey]);\n }\n break;\n case \"code\":\n const codeKey = findKey(data ?? {}, \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n break;\n case \"type\":\n if (data?.__type !== undefined) {\n return sanitizeErrorCode(data.__type);\n }\n break;\n }\n }\n};\n\nclass JsonShapeDeserializer extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n async read(schema, data) {\n return this._read(schema, typeof data === \"string\" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));\n }\n readObject(schema, data) {\n return this._read(schema, data);\n }\n _read(schema$1, value) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = schema.NormalizedSchema.of(schema$1);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const union = ns.isUnionSchema();\n const out = {};\n let nameMap = void 0;\n const { jsonName } = this.settings;\n if (jsonName) {\n nameMap = {};\n }\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(record, out);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n let fromKey = memberName;\n if (jsonName) {\n fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;\n nameMap[fromKey] = memberName;\n }\n if (union) {\n unionSerde.mark(fromKey);\n }\n if (record[fromKey] != null) {\n out[memberName] = this._read(memberSchema, record[fromKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n else if (typeof record.__type === \"string\") {\n for (const k in record) {\n const v = record[k];\n const t = jsonName ? nameMap[k] ?? k : k;\n if (!(t in out)) {\n out[t] = v;\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n for (const item of value) {\n out.push(this._read(listMember, item));\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n for (const _k in value) {\n out[_k] = this._read(mapMember, value[_k]);\n }\n return out;\n }\n }\n if (ns.isBlobSchema() && typeof value === \"string\") {\n return serde.fromBase64(value);\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (ns.isStringSchema() && typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return serde.LazyJsonString.from(value);\n }\n return value;\n }\n if (ns.isTimestampSchema() && value != null) {\n const format = protocols.determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return serde.parseRfc3339DateTimeWithOffset(value);\n case 6:\n return serde.parseRfc7231DateTime(value);\n case 7:\n return serde.parseEpochTimestamp(value);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", value);\n return new Date(value);\n }\n }\n if (ns.isBigIntegerSchema() && (typeof value === \"number\" || typeof value === \"string\")) {\n return BigInt(value);\n }\n if (ns.isBigDecimalSchema() && value != undefined) {\n if (value instanceof serde.NumericValue) {\n return value;\n }\n const untyped = value;\n if (untyped.type === \"bigDecimal\" && \"string\" in untyped) {\n return new serde.NumericValue(untyped.string, untyped.type);\n }\n return new serde.NumericValue(String(value), \"bigDecimal\");\n }\n if (ns.isNumericSchema() && typeof value === \"string\") {\n switch (value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"NaN\":\n return NaN;\n }\n return value;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const k in value) {\n const v = value[k];\n if (v instanceof serde.NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._read(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n\nconst NUMERIC_CONTROL_CHAR = String.fromCharCode(925);\nclass JsonReplacer {\n values = new Map();\n counter = 0;\n stage = 0;\n createReplacer() {\n if (this.stage === 1) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer already created.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 1;\n return (key, value) => {\n if (value instanceof serde.NumericValue) {\n const v = `${NUMERIC_CONTROL_CHAR + \"nv\" + this.counter++}_` + value.string;\n this.values.set(`\"${v}\"`, value.string);\n return v;\n }\n if (typeof value === \"bigint\") {\n const s = value.toString();\n const v = `${NUMERIC_CONTROL_CHAR + \"b\" + this.counter++}_` + s;\n this.values.set(`\"${v}\"`, s);\n return v;\n }\n return value;\n };\n }\n replaceInJson(json) {\n if (this.stage === 0) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer not created yet.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 2;\n if (this.counter === 0) {\n return json;\n }\n for (const [key, value] of this.values) {\n json = json.replace(key, value);\n }\n return json;\n }\n}\n\nclass JsonShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n useReplacer = false;\n rootSchema;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema$1, value) {\n this.rootSchema = schema.NormalizedSchema.of(schema$1);\n this.buffer = this._write(this.rootSchema, value);\n }\n flush() {\n const { rootSchema, useReplacer } = this;\n this.rootSchema = undefined;\n this.useReplacer = false;\n if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {\n if (!useReplacer) {\n return JSON.stringify(this.buffer);\n }\n const replacer = new JsonReplacer();\n return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));\n }\n return this.buffer;\n }\n writeDiscriminatedDocument(schema$1, value) {\n this.write(schema$1, value);\n if (typeof this.buffer === \"object\") {\n this.buffer.__type = schema.NormalizedSchema.of(schema$1).getName(true);\n }\n }\n _write(schema$1, value, container) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = schema.NormalizedSchema.of(schema$1);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const out = {};\n const { jsonName } = this.settings;\n let nameMap = void 0;\n if (jsonName) {\n nameMap = {};\n }\n let outCount = 0;\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const serializableValue = this._write(memberSchema, record[memberName], ns);\n if (serializableValue !== undefined) {\n let targetKey = memberName;\n if (jsonName) {\n targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;\n nameMap[memberName] = targetKey;\n }\n out[targetKey] = serializableValue;\n outCount++;\n }\n }\n if (ns.isUnionSchema() && outCount === 0) {\n const { $unknown } = record;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n out[k] = this._write(15, v);\n }\n }\n else if (typeof record.__type === \"string\") {\n for (const k in record) {\n const v = record[k];\n const targetKey = jsonName ? nameMap[k] ?? k : k;\n if (!(targetKey in out)) {\n out[targetKey] = this._write(15, v);\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._write(listMember, item));\n }\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const _k in value) {\n const _v = value[_k];\n if (sparse || _v != null) {\n out[_k] = this._write(mapMember, _v);\n }\n }\n return out;\n }\n if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? serde.toBase64)(value);\n }\n if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {\n const format = protocols.determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return value.toISOString().replace(\".000Z\", \"Z\");\n case 6:\n return serde.dateToUtcString(value);\n case 7:\n return value.getTime() / 1000;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n return value.getTime() / 1000;\n }\n }\n if (value instanceof serde.NumericValue) {\n this.useReplacer = true;\n }\n }\n if (value === null && container?.isStructSchema()) {\n return void 0;\n }\n if (ns.isStringSchema()) {\n if (typeof value === \"undefined\" && ns.isIdempotencyToken()) {\n return serde.generateIdempotencyToken();\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (value != null && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return serde.LazyJsonString.from(value);\n }\n }\n return value;\n }\n if (typeof value === \"number\" && ns.isNumericSchema()) {\n if (Math.abs(value) === Infinity || isNaN(value)) {\n return String(value);\n }\n return value;\n }\n if (typeof value === \"string\" && ns.isBlobSchema()) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? serde.toBase64)(value);\n }\n if (typeof value === \"bigint\") {\n this.useReplacer = true;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const k in value) {\n const v = value[k];\n if (v instanceof serde.NumericValue) {\n this.useReplacer = true;\n out[k] = v;\n }\n else {\n out[k] = this._write(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n\nclass JsonCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new JsonShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new JsonShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n\nclass AwsJsonRpcProtocol extends protocols.RpcProtocol {\n serializer;\n deserializer;\n serviceTarget;\n codec;\n mixin;\n awsQueryCompatible;\n constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n errorTypeRegistries,\n });\n this.serviceTarget = serviceTarget;\n this.codec =\n jsonCodec ??\n new JsonCodec({\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n jsonName: false,\n });\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n request.headers[\"content-type\"] = `application/x-amz-json-${this.getJsonRpcVersion()}`;\n request.headers[\"x-amz-target\"] = `${this.serviceTarget}.${operationSchema.name}`;\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n if (schema.deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"{}\";\n }\n return request;\n }\n getPayloadCodec() {\n return this.codec;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const { awsQueryCompatible } = this;\n if (awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorIdentifier = loadJsonRpcErrorCode(response, dataObject, awsQueryCompatible) ?? \"Unknown\";\n this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = schema.NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor({});\n const output = {};\n const errorDeserializer = this.codec.createDeserializer();\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = errorDeserializer.readObject(member, dataObject[name]);\n }\n }\n if (awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n\nclass AwsJson1_0Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n errorTypeRegistries,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_0\";\n }\n getJsonRpcVersion() {\n return \"1.0\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.0\";\n }\n}\n\nclass AwsJson1_1Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n errorTypeRegistries,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_1\";\n }\n getJsonRpcVersion() {\n return \"1.1\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.1\";\n }\n}\n\nclass AwsRestJsonProtocol extends protocols.HttpBindingProtocol {\n serializer;\n deserializer;\n codec;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace, errorTypeRegistries, }) {\n super({\n defaultNamespace,\n errorTypeRegistries,\n });\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n httpBindings: true,\n jsonName: true,\n };\n this.codec = new JsonCodec(settings);\n this.serializer = new protocols.HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new protocols.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getShapeId() {\n return \"aws.protocols#restJson1\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n setSerdeContext(serdeContext) {\n this.codec.setSerdeContext(serdeContext);\n super.setSerdeContext(serdeContext);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = schema.NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.body == null && request.headers[\"content-type\"] === this.getDefaultContentType()) {\n request.body = \"{}\";\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const output = await super.deserializeResponse(operationSchema, context, response);\n const outputSchema = schema.NormalizedSchema.of(operationSchema.output);\n for (const [name, member] of outputSchema.structIterator()) {\n if (member.getMemberTraits().httpPayload && !(name in output)) {\n output[name] = null;\n }\n }\n return output;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = schema.NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor({});\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n const errorDeserializer = this.codec.createDeserializer();\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = errorDeserializer.readObject(member, dataObject[target]);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/json\";\n }\n}\n\nconst awsExpectUnion = (value) => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === \"object\" && \"__type\" in value) {\n delete value.__type;\n }\n return serde.expectUnion(value);\n};\n\nclass XmlShapeDeserializer extends SerdeContextConfig {\n settings;\n stringDeserializer;\n constructor(settings) {\n super();\n this.settings = settings;\n this.stringDeserializer = new protocols.FromStringShapeDeserializer(settings);\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.stringDeserializer.setSerdeContext(serdeContext);\n }\n read(schema$1, bytes, key) {\n const ns = schema.NormalizedSchema.of(schema$1);\n const memberSchemas = ns.getMemberSchemas();\n const isEventPayload = ns.isStructSchema() &&\n ns.isMemberSchema() &&\n !!Object.values(memberSchemas).find((memberNs) => {\n return !!memberNs.getMemberTraits().eventPayload;\n });\n if (isEventPayload) {\n const output = {};\n const memberName = Object.keys(memberSchemas)[0];\n const eventMemberSchema = memberSchemas[memberName];\n if (eventMemberSchema.isBlobSchema()) {\n output[memberName] = bytes;\n }\n else {\n output[memberName] = this.read(memberSchemas[memberName], bytes);\n }\n return output;\n }\n const xmlString = (this.serdeContext?.utf8Encoder ?? serde.toUtf8)(bytes);\n const parsedObject = this.parseXml(xmlString);\n return this.readSchema(schema$1, key ? parsedObject[key] : parsedObject);\n }\n readSchema(_schema, value) {\n const ns = schema.NormalizedSchema.of(_schema);\n if (ns.isUnitSchema()) {\n return;\n }\n const traits = ns.getMergedTraits();\n if (ns.isListSchema() && !Array.isArray(value)) {\n return this.readSchema(ns, [value]);\n }\n if (value == null) {\n return value;\n }\n if (typeof value === \"object\") {\n const flat = !!traits.xmlFlattened;\n if (ns.isListSchema()) {\n const listValue = ns.getValueSchema();\n const buffer = [];\n const sourceKey = listValue.getMergedTraits().xmlName ?? \"member\";\n const source = flat ? value : (value[0] ?? value)[sourceKey];\n if (source == null) {\n return buffer;\n }\n const sourceArray = Array.isArray(source) ? source : [source];\n for (const v of sourceArray) {\n buffer.push(this.readSchema(listValue, v));\n }\n return buffer;\n }\n const buffer = {};\n if (ns.isMapSchema()) {\n const keyNs = ns.getKeySchema();\n const memberNs = ns.getValueSchema();\n let entries;\n if (flat) {\n entries = Array.isArray(value) ? value : [value];\n }\n else {\n entries = Array.isArray(value.entry) ? value.entry : [value.entry];\n }\n const keyProperty = keyNs.getMergedTraits().xmlName ?? \"key\";\n const valueProperty = memberNs.getMergedTraits().xmlName ?? \"value\";\n for (const entry of entries) {\n const key = entry[keyProperty];\n const value = entry[valueProperty];\n buffer[key] = this.readSchema(memberNs, value);\n }\n return buffer;\n }\n if (ns.isStructSchema()) {\n const union = ns.isUnionSchema();\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(value, buffer);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMergedTraits();\n const xmlObjectKey = !memberTraits.httpPayload\n ? memberSchema.getMemberTraits().xmlName ?? memberName\n : memberTraits.xmlName ?? memberSchema.getName();\n if (union) {\n unionSerde.mark(xmlObjectKey);\n }\n if (value[xmlObjectKey] != null) {\n buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n return buffer;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);\n }\n if (ns.isListSchema()) {\n return [];\n }\n if (ns.isMapSchema() || ns.isStructSchema()) {\n return {};\n }\n return this.stringDeserializer.read(ns, value);\n }\n parseXml(xml) {\n if (xml.length) {\n let parsedObj;\n try {\n parsedObj = xmlBuilder.parseXML(xml);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: xml,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return client.getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n }\n}\n\nclass QueryShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema$1, value, prefix = \"\") {\n if (this.buffer === undefined) {\n this.buffer = \"\";\n }\n const ns = schema.NormalizedSchema.of(schema$1);\n if (prefix && !prefix.endsWith(\".\")) {\n prefix += \".\";\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\" || value instanceof Uint8Array) {\n this.writeKey(prefix);\n this.writeValue((this.serdeContext?.base64Encoder ?? serde.toBase64)(value));\n }\n }\n else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n else if (ns.isIdempotencyToken()) {\n this.writeKey(prefix);\n this.writeValue(serde.generateIdempotencyToken());\n }\n }\n else if (ns.isBigIntegerSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isBigDecimalSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(value instanceof serde.NumericValue ? value.string : String(value));\n }\n }\n else if (ns.isTimestampSchema()) {\n if (value instanceof Date) {\n this.writeKey(prefix);\n const format = protocols.determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.writeValue(value.toISOString().replace(\".000Z\", \"Z\"));\n break;\n case 6:\n this.writeValue(serde.dateToUtcString(value));\n break;\n case 7:\n this.writeValue(String(value.getTime() / 1000));\n break;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n if (Array.isArray(value)) {\n this.write(64 | 15, value, prefix);\n }\n else if (value instanceof Date) {\n this.write(4, value, prefix);\n }\n else if (value instanceof Uint8Array) {\n this.write(21, value, prefix);\n }\n else if (value && typeof value === \"object\") {\n this.write(128 | 15, value, prefix);\n }\n else {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isListSchema()) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n if (this.settings.serializeEmptyLists) {\n this.writeKey(prefix);\n this.writeValue(\"\");\n }\n }\n else {\n const member = ns.getValueSchema();\n const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const item of value) {\n if (item == null) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(\"member\", traits.xmlName, traits.ec2QueryName);\n const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;\n this.write(member, item, key);\n ++i;\n }\n }\n }\n }\n else if (ns.isMapSchema()) {\n if (value && typeof value === \"object\") {\n const keySchema = ns.getKeySchema();\n const memberSchema = ns.getValueSchema();\n const flat = ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const k in value) {\n const v = value[k];\n if (v == null) {\n continue;\n }\n const keyTraits = keySchema.getMergedTraits();\n const keySuffix = this.getKey(\"key\", keyTraits.xmlName, keyTraits.ec2QueryName);\n const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;\n const valTraits = memberSchema.getMergedTraits();\n const valueSuffix = this.getKey(\"value\", valTraits.xmlName, valTraits.ec2QueryName);\n const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;\n this.write(keySchema, k, key);\n this.write(memberSchema, v, valueKey);\n ++i;\n }\n }\n }\n else if (ns.isStructSchema()) {\n if (value && typeof value === \"object\") {\n let didWriteMember = false;\n for (const [memberName, member] of ns.structIterator()) {\n if (value[memberName] == null && !member.isIdempotencyToken()) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, \"struct\");\n const key = `${prefix}${suffix}`;\n this.write(member, value[memberName], key);\n didWriteMember = true;\n }\n if (!didWriteMember && ns.isUnionSchema()) {\n const { $unknown } = value;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n const key = `${prefix}${k}`;\n this.write(15, v, key);\n }\n }\n }\n }\n else if (ns.isUnitSchema()) ;\n else {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);\n }\n }\n flush() {\n if (this.buffer === undefined) {\n throw new Error(\"@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.\");\n }\n const str = this.buffer;\n delete this.buffer;\n return str;\n }\n getKey(memberName, xmlName, ec2QueryName, keySource) {\n const { ec2, capitalizeKeys } = this.settings;\n if (ec2 && ec2QueryName) {\n return ec2QueryName;\n }\n const key = xmlName ?? memberName;\n if (capitalizeKeys && keySource === \"struct\") {\n return key[0].toUpperCase() + key.slice(1);\n }\n return key;\n }\n writeKey(key) {\n if (key.endsWith(\".\")) {\n key = key.slice(0, key.length - 1);\n }\n this.buffer += `&${protocols.extendedEncodeURIComponent(key)}=`;\n }\n writeValue(value) {\n this.buffer += protocols.extendedEncodeURIComponent(value);\n }\n}\n\nclass AwsQueryProtocol extends protocols.RpcProtocol {\n options;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super({\n defaultNamespace: options.defaultNamespace,\n errorTypeRegistries: options.errorTypeRegistries,\n });\n this.options = options;\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: false,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n serializeEmptyLists: true,\n };\n this.serializer = new QueryShapeSerializer(settings);\n this.deserializer = new XmlShapeDeserializer(settings);\n }\n getShapeId() {\n return \"aws.protocols#awsQuery\";\n }\n setSerdeContext(serdeContext) {\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n }\n getPayloadCodec() {\n throw new Error(\"AWSQuery protocol has no payload codec.\");\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n request.headers[\"content-type\"] = \"application/x-www-form-urlencoded\";\n if (schema.deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"\";\n }\n const action = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n request.body = `Action=${action}&Version=${this.options.version}` + request.body;\n if (request.body.endsWith(\"&\")) {\n request.body = request.body.slice(-1);\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await protocols.collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const shortName = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + \"Result\" : undefined;\n const bytes = await protocols.collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n useNestedResult() {\n return true;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? \"Unknown\";\n this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);\n const errorData = this.loadQueryError(dataObject) ?? {};\n const message = this.loadQueryErrorMessage(dataObject);\n errorData.message = message;\n errorData.Error = {\n Type: errorData.Type,\n Code: errorData.Code,\n Message: message,\n };\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);\n const ns = schema.NormalizedSchema.of(errorSchema);\n const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor({});\n const output = {\n Type: errorData.Error.Type,\n Code: errorData.Error.Code,\n Error: errorData.Error,\n };\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = errorData[target] ?? dataObject[target];\n output[name] = this.deserializer.readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n loadQueryErrorCode(output, data) {\n const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;\n if (code !== undefined) {\n return code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n }\n loadQueryError(data) {\n return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;\n }\n loadQueryErrorMessage(data) {\n const errorData = this.loadQueryError(data);\n return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? \"Unknown\";\n }\n getDefaultContentType() {\n return \"application/x-www-form-urlencoded\";\n }\n}\n\nclass AwsEc2QueryProtocol extends AwsQueryProtocol {\n options;\n constructor(options) {\n super(options);\n this.options = options;\n const ec2Settings = {\n capitalizeKeys: true,\n flattenLists: true,\n serializeEmptyLists: false,\n ec2: true,\n };\n Object.assign(this.serializer.settings, ec2Settings);\n }\n getShapeId() {\n return \"aws.protocols#ec2Query\";\n }\n useNestedResult() {\n return false;\n }\n}\n\nconst parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n let parsedObj;\n try {\n parsedObj = xmlBuilder.parseXML(encoded);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return client.getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n});\nconst parseXmlErrorBody = async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nconst loadRestXmlErrorCode = (output, data) => {\n if (data?.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n\nclass XmlShapeSerializer extends SerdeContextConfig {\n settings;\n stringBuffer;\n byteBuffer;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema$1, value) {\n const ns = schema.NormalizedSchema.of(schema$1);\n if (ns.isStringSchema() && typeof value === \"string\") {\n this.stringBuffer = value;\n }\n else if (ns.isBlobSchema()) {\n this.byteBuffer =\n \"byteLength\" in value\n ? value\n : (this.serdeContext?.base64Decoder ?? serde.fromBase64)(value);\n }\n else {\n this.buffer = this.writeStruct(ns, value, undefined);\n const traits = ns.getMergedTraits();\n if (traits.httpPayload && !traits.xmlName) {\n this.buffer.withName(ns.getName());\n }\n }\n }\n flush() {\n if (this.byteBuffer !== undefined) {\n const bytes = this.byteBuffer;\n delete this.byteBuffer;\n return bytes;\n }\n if (this.stringBuffer !== undefined) {\n const str = this.stringBuffer;\n delete this.stringBuffer;\n return str;\n }\n const buffer = this.buffer;\n if (this.settings.xmlNamespace) {\n if (!buffer?.attributes?.[\"xmlns\"]) {\n buffer.addAttribute(\"xmlns\", this.settings.xmlNamespace);\n }\n }\n delete this.buffer;\n return buffer.toString();\n }\n writeStruct(ns, value, parentXmlns) {\n const traits = ns.getMergedTraits();\n const name = ns.isMemberSchema() && !traits.httpPayload\n ? ns.getMemberTraits().xmlName ?? ns.getMemberName()\n : traits.xmlName ?? ns.getName();\n if (!name || !ns.isStructSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);\n }\n const structXmlNode = xmlBuilder.XmlNode.of(name);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const val = value[memberName];\n if (val != null || memberSchema.isIdempotencyToken()) {\n if (memberSchema.getMergedTraits().xmlAttribute) {\n structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));\n continue;\n }\n if (memberSchema.isListSchema()) {\n this.writeList(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isMapSchema()) {\n this.writeMap(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isStructSchema()) {\n structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));\n }\n else {\n const memberNode = xmlBuilder.XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());\n this.writeSimpleInto(memberSchema, val, memberNode, xmlns);\n structXmlNode.addChildNode(memberNode);\n }\n }\n }\n const { $unknown } = value;\n if ($unknown && ns.isUnionSchema() && Array.isArray($unknown) && Object.keys(value).length === 1) {\n const [k, v] = $unknown;\n const node = xmlBuilder.XmlNode.of(k);\n if (typeof v !== \"string\") {\n if (value instanceof xmlBuilder.XmlNode || value instanceof xmlBuilder.XmlText) {\n structXmlNode.addChildNode(value);\n }\n else {\n throw new Error(`@aws-sdk - $unknown union member in XML requires ` +\n `value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);\n }\n }\n this.writeSimpleInto(0, v, node, xmlns);\n structXmlNode.addChildNode(node);\n }\n if (xmlns) {\n structXmlNode.addAttribute(xmlnsAttr, xmlns);\n }\n return structXmlNode;\n }\n writeList(listMember, array, container, parentXmlns) {\n if (!listMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);\n }\n const listTraits = listMember.getMergedTraits();\n const listValueSchema = listMember.getValueSchema();\n const listValueTraits = listValueSchema.getMergedTraits();\n const sparse = !!listValueTraits.sparse;\n const flat = !!listTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);\n const writeItem = (container, value) => {\n if (listValueSchema.isListSchema()) {\n this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container, xmlns);\n }\n else if (listValueSchema.isMapSchema()) {\n this.writeMap(listValueSchema, value, container, xmlns);\n }\n else if (listValueSchema.isStructSchema()) {\n const struct = this.writeStruct(listValueSchema, value, xmlns);\n container.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\"));\n }\n else {\n const listItemNode = xmlBuilder.XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\");\n this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);\n container.addChildNode(listItemNode);\n }\n };\n if (flat) {\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(container, value);\n }\n }\n }\n else {\n const listNode = xmlBuilder.XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());\n if (xmlns) {\n listNode.addAttribute(xmlnsAttr, xmlns);\n }\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(listNode, value);\n }\n }\n container.addChildNode(listNode);\n }\n }\n writeMap(mapMember, map, container, parentXmlns, containerIsMap = false) {\n if (!mapMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);\n }\n const mapTraits = mapMember.getMergedTraits();\n const mapKeySchema = mapMember.getKeySchema();\n const mapKeyTraits = mapKeySchema.getMergedTraits();\n const keyTag = mapKeyTraits.xmlName ?? \"key\";\n const mapValueSchema = mapMember.getValueSchema();\n const mapValueTraits = mapValueSchema.getMergedTraits();\n const valueTag = mapValueTraits.xmlName ?? \"value\";\n const sparse = !!mapValueTraits.sparse;\n const flat = !!mapTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);\n const addKeyValue = (entry, key, val) => {\n const keyNode = xmlBuilder.XmlNode.of(keyTag, key);\n const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);\n if (keyXmlns) {\n keyNode.addAttribute(keyXmlnsAttr, keyXmlns);\n }\n entry.addChildNode(keyNode);\n let valueNode = xmlBuilder.XmlNode.of(valueTag);\n if (mapValueSchema.isListSchema()) {\n this.writeList(mapValueSchema, val, valueNode, xmlns);\n }\n else if (mapValueSchema.isMapSchema()) {\n this.writeMap(mapValueSchema, val, valueNode, xmlns, true);\n }\n else if (mapValueSchema.isStructSchema()) {\n valueNode = this.writeStruct(mapValueSchema, val, xmlns);\n }\n else {\n this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);\n }\n entry.addChildNode(valueNode);\n };\n if (flat) {\n for (const key in map) {\n const val = map[key];\n if (sparse || val != null) {\n const entry = xmlBuilder.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n addKeyValue(entry, key, val);\n container.addChildNode(entry);\n }\n }\n }\n else {\n let mapNode;\n if (!containerIsMap) {\n mapNode = xmlBuilder.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n if (xmlns) {\n mapNode.addAttribute(xmlnsAttr, xmlns);\n }\n container.addChildNode(mapNode);\n }\n for (const key in map) {\n const val = map[key];\n if (sparse || val != null) {\n const entry = xmlBuilder.XmlNode.of(\"entry\");\n addKeyValue(entry, key, val);\n (containerIsMap ? container : mapNode).addChildNode(entry);\n }\n }\n }\n }\n writeSimple(_schema, value) {\n if (null === value) {\n throw new Error(\"@aws-sdk/core/protocols - (XML serializer) cannot write null value.\");\n }\n const ns = schema.NormalizedSchema.of(_schema);\n let nodeContents = null;\n if (value && typeof value === \"object\") {\n if (ns.isBlobSchema()) {\n nodeContents = (this.serdeContext?.base64Encoder ?? serde.toBase64)(value);\n }\n else if (ns.isTimestampSchema() && value instanceof Date) {\n const format = protocols.determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n nodeContents = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n nodeContents = serde.dateToUtcString(value);\n break;\n case 7:\n nodeContents = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using http date\", value);\n nodeContents = serde.dateToUtcString(value);\n break;\n }\n }\n else if (ns.isBigDecimalSchema() && value) {\n if (value instanceof serde.NumericValue) {\n return value.string;\n }\n return String(value);\n }\n else if (ns.isMapSchema() || ns.isListSchema()) {\n throw new Error(\"@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.\");\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);\n }\n }\n if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {\n nodeContents = String(value);\n }\n if (ns.isStringSchema()) {\n if (value === undefined && ns.isIdempotencyToken()) {\n nodeContents = serde.generateIdempotencyToken();\n }\n else {\n nodeContents = String(value);\n }\n }\n if (nodeContents === null) {\n throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);\n }\n return nodeContents;\n }\n writeSimpleInto(_schema, value, into, parentXmlns) {\n const nodeContents = this.writeSimple(_schema, value);\n const ns = schema.NormalizedSchema.of(_schema);\n const content = new xmlBuilder.XmlText(nodeContents);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n if (xmlns) {\n into.addAttribute(xmlnsAttr, xmlns);\n }\n into.addChildNode(content);\n }\n getXmlnsAttribute(ns, parentXmlns) {\n const traits = ns.getMergedTraits();\n const [prefix, xmlns] = traits.xmlNamespace ?? [];\n if (xmlns && xmlns !== parentXmlns) {\n return [prefix ? `xmlns:${prefix}` : \"xmlns\", xmlns];\n }\n return [void 0, void 0];\n }\n}\n\nclass XmlCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new XmlShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new XmlShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n\nclass AwsRestXmlProtocol extends protocols.HttpBindingProtocol {\n codec;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super(options);\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: true,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n };\n this.codec = new XmlCodec(settings);\n this.serializer = new protocols.HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new protocols.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getPayloadCodec() {\n return this.codec;\n }\n getShapeId() {\n return \"aws.protocols#restXml\";\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = schema.NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (typeof request.body === \"string\" &&\n request.headers[\"content-type\"] === this.getDefaultContentType() &&\n !request.body.startsWith(\"<?xml \") &&\n !this.hasUnstructuredPayloadBinding(inputSchema)) {\n request.body = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' + request.body;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? \"Unknown\";\n this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);\n if (dataObject.Error && typeof dataObject.Error === \"object\") {\n for (const key of Object.keys(dataObject.Error)) {\n dataObject[key] = dataObject.Error[key];\n if (key.toLowerCase() === \"message\") {\n dataObject.message = dataObject.Error[key];\n }\n }\n }\n if (dataObject.RequestId && !metadata.requestId) {\n metadata.requestId = dataObject.RequestId;\n }\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = schema.NormalizedSchema.of(errorSchema);\n const message = dataObject.Error?.message ??\n dataObject.Error?.Message ??\n dataObject.message ??\n dataObject.Message ??\n \"UnknownError\";\n const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor({});\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n const errorDeserializer = this.codec.createDeserializer();\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = dataObject.Error?.[target] ?? dataObject[target];\n output[name] = errorDeserializer.readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/xml\";\n }\n hasUnstructuredPayloadBinding(ns) {\n for (const [, member] of ns.structIterator()) {\n if (member.getMergedTraits().httpPayload) {\n return !(member.isStructSchema() || member.isMapSchema() || member.isListSchema());\n }\n }\n return false;\n }\n}\n\nexports.AwsEc2QueryProtocol = AwsEc2QueryProtocol;\nexports.AwsJson1_0Protocol = AwsJson1_0Protocol;\nexports.AwsJson1_1Protocol = AwsJson1_1Protocol;\nexports.AwsJsonRpcProtocol = AwsJsonRpcProtocol;\nexports.AwsQueryProtocol = AwsQueryProtocol;\nexports.AwsRestJsonProtocol = AwsRestJsonProtocol;\nexports.AwsRestXmlProtocol = AwsRestXmlProtocol;\nexports.AwsSmithyRpcV2CborProtocol = AwsSmithyRpcV2CborProtocol;\nexports.JsonCodec = JsonCodec;\nexports.JsonShapeDeserializer = JsonShapeDeserializer;\nexports.JsonShapeSerializer = JsonShapeSerializer;\nexports.QueryShapeSerializer = QueryShapeSerializer;\nexports.XmlCodec = XmlCodec;\nexports.XmlShapeDeserializer = XmlShapeDeserializer;\nexports.XmlShapeSerializer = XmlShapeSerializer;\nexports._toBool = _toBool;\nexports._toNum = _toNum;\nexports._toStr = _toStr;\nexports.awsExpectUnion = awsExpectUnion;\nexports.loadJsonRpcErrorCode = loadJsonRpcErrorCode;\nexports.loadRestJsonErrorCode = loadRestJsonErrorCode;\nexports.loadRestXmlErrorCode = loadRestXmlErrorCode;\nexports.parseJsonBody = parseJsonBody;\nexports.parseJsonErrorBody = parseJsonErrorBody;\nexports.parseXmlBody = parseXmlBody;\nexports.parseXmlErrorBody = parseXmlErrorBody;\n"
13
+ ],
14
+ "mappings": "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",
15
+ "debugId": "0A6B345EFB643BB364756E2164756E21",
16
+ "names": []
17
+ }