@hashgraphonline/standards-sdk 0.1.141-feat-hcs-21-flora-adapter.canary.053f0af.47 → 0.1.143
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.
- package/dist/es/standards-sdk.es100.js +1 -1
- package/dist/es/standards-sdk.es102.js +1 -1
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es125.js +1 -1
- package/dist/es/standards-sdk.es126.js +1 -1
- package/dist/es/standards-sdk.es128.js +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es136.js +138 -766
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +34 -12266
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +766 -138
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +12265 -33
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es17.js +1 -1
- package/dist/es/standards-sdk.es19.js +4 -4
- package/dist/es/standards-sdk.es20.js +2 -2
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es28.js +3 -3
- package/dist/es/standards-sdk.es31.js +1 -1
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es36.js +2 -2
- package/dist/es/standards-sdk.es37.js +3 -3
- package/dist/es/standards-sdk.es38.js +1 -1
- package/dist/es/standards-sdk.es5.js +1 -1
- package/dist/es/standards-sdk.es54.js +1 -1
- package/dist/es/standards-sdk.es61.js +2 -2
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es69.js +2 -2
- package/dist/es/standards-sdk.es70.js +1 -1
- package/dist/es/standards-sdk.es72.js +1 -1
- package/dist/es/standards-sdk.es77.js +1 -1
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es79.js +1 -1
- package/dist/es/standards-sdk.es8.js +1 -1
- package/dist/es/standards-sdk.es82.js +1 -1
- package/dist/es/standards-sdk.es84.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es92.js +1 -1
- package/dist/es/standards-sdk.es93.js +1 -1
- package/dist/es/standards-sdk.es98.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es139.js","sources":["../../src/common/tx/tx-utils.ts"],"sourcesContent":["import {\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n PublicKey,\n KeyList,\n TopicId,\n} from '@hashgraph/sdk';\n\nexport type MaybeKey = boolean | string | PublicKey | KeyList | undefined;\n\nexport function encodeHcs2RegistryMemo(\n indexedFlag: 0 | 1,\n ttl: number,\n): string {\n return `hcs-2:${indexedFlag}:${ttl}`;\n}\n\nexport function buildTopicCreateTx(params: {\n memo: string;\n adminKey?: MaybeKey;\n submitKey?: MaybeKey;\n operatorPublicKey?: PublicKey;\n}): TopicCreateTransaction {\n const { memo, adminKey, submitKey, operatorPublicKey } = params;\n const tx = new TopicCreateTransaction().setTopicMemo(memo);\n\n const coerceKey = (k?: MaybeKey): PublicKey | KeyList | undefined => {\n if (!k) return undefined;\n if (k instanceof PublicKey || k instanceof KeyList) return k;\n if (typeof k === 'boolean') {\n return k ? operatorPublicKey : undefined;\n }\n if (typeof k === 'string') {\n try {\n return PublicKey.fromString(k);\n } catch {\n return undefined;\n }\n }\n return undefined;\n };\n\n const admin = coerceKey(adminKey);\n if (admin) {\n tx.setAdminKey(admin);\n }\n\n const submit = coerceKey(submitKey);\n if (submit) {\n tx.setSubmitKey(submit);\n }\n\n return tx;\n}\n\nexport function buildMessageTx(params: {\n topicId: string;\n message: string | Uint8Array;\n transactionMemo?: string;\n}): TopicMessageSubmitTransaction {\n const tx = new TopicMessageSubmitTransaction()\n .setTopicId(TopicId.fromString(params.topicId))\n .setMessage(params.message);\n if (params.transactionMemo) {\n tx.setTransactionMemo(params.transactionMemo);\n }\n return tx;\n}\n"],"names":[],"mappings":";AAUO,SAAS,uBACd,aACA,KACQ;AACR,SAAO,SAAS,WAAW,IAAI,GAAG;AACpC;AAEO,SAAS,mBAAmB,QAKR;AACzB,QAAM,EAAE,MAAM,UAAU,WAAW,sBAAsB;AACzD,QAAM,KAAK,IAAI,yBAAyB,aAAa,IAAI;AAEzD,QAAM,YAAY,CAAC,MAAkD;AACnE,QAAI,CAAC,EAAG,QAAO;AACf,QAAI,aAAa,aAAa,aAAa,QAAS,QAAO;AAC3D,QAAI,OAAO,MAAM,WAAW;AAC1B,aAAO,IAAI,oBAAoB;AAAA,IACjC;AACA,QAAI,OAAO,MAAM,UAAU;AACzB,UAAI;AACF,eAAO,UAAU,WAAW,CAAC;AAAA,MAC/B,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,UAAU,QAAQ;AAChC,MAAI,OAAO;AACT,OAAG,YAAY,KAAK;AAAA,EACtB;AAEA,QAAM,SAAS,UAAU,SAAS;AAClC,MAAI,QAAQ;AACV,OAAG,aAAa,MAAM;AAAA,EACxB;AAEA,SAAO;AACT;AAEO,SAAS,eAAe,QAIG;AAChC,QAAM,KAAK,IAAI,gCACZ,WAAW,QAAQ,WAAW,OAAO,OAAO,CAAC,EAC7C,WAAW,OAAO,OAAO;AAC5B,MAAI,OAAO,iBAAiB;AAC1B,OAAG,mBAAmB,OAAO,eAAe;AAAA,EAC9C;AACA,SAAO;AACT;"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es139.js","sources":["../../node_modules/.pnpm/@kiloscribe+inscription-sdk@2.0.4_65282d7e965b9215803052c579d30133/node_modules/@kiloscribe/inscription-sdk/dist/es/inscription-sdk.es.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value2) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value2 }) : obj[key] = value2;\nvar __publicField = (obj, key, value2) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value2);\nimport { Client, PrivateKey, TransferTransaction } from \"@hashgraph/sdk\";\nimport { detectKeyTypeFromString, HederaMirrorNode } from \"@hashgraphonline/standards-sdk\";\nvar buffer = {};\nvar base64Js = {};\nbase64Js.byteLength = byteLength$1;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\nvar lookup$2 = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== \"undefined\" ? Uint8Array : Array;\nvar code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var i$1 = 0, len = code.length; i$1 < len; ++i$1) {\n lookup$2[i$1] = code[i$1];\n revLookup[code.charCodeAt(i$1)] = i$1;\n}\nrevLookup[\"-\".charCodeAt(0)] = 62;\nrevLookup[\"_\".charCodeAt(0)] = 63;\nfunction getLens(b64) {\n var len = b64.length;\n if (len % 4 > 0) {\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n }\n var validLen = b64.indexOf(\"=\");\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n}\nfunction byteLength$1(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n}\nfunction tripletToBase64(num) {\n return lookup$2[num >> 18 & 63] + lookup$2[num >> 12 & 63] + lookup$2[num >> 6 & 63] + lookup$2[num & 63];\n}\nfunction encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join(\"\");\n}\nfunction fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3;\n var parts2 = [];\n var maxChunkLength = 16383;\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts2.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts2.push(\n lookup$2[tmp >> 2] + lookup$2[tmp << 4 & 63] + \"==\"\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts2.push(\n lookup$2[tmp >> 10] + lookup$2[tmp >> 4 & 63] + lookup$2[tmp << 2 & 63] + \"=\"\n );\n }\n return parts2.join(\"\");\n}\nvar ieee754$1 = {};\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nieee754$1.read = function(buffer2, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer2[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer2[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer2[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\nieee754$1.write = function(buffer2, value2, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value2 < 0 || value2 === 0 && 1 / value2 < 0 ? 1 : 0;\n value2 = Math.abs(value2);\n if (isNaN(value2) || value2 === Infinity) {\n m = isNaN(value2) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value2) / Math.LN2);\n if (value2 * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value2 += rt / c;\n } else {\n value2 += rt * Math.pow(2, 1 - eBias);\n }\n if (value2 * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value2 * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value2 * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer2[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer2[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer2[offset + i - d] |= s * 128;\n};\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n(function(exports) {\n const base64 = base64Js;\n const ieee754$1$1 = ieee754$1;\n const customInspectSymbol = typeof Symbol === \"function\" && typeof Symbol[\"for\"] === \"function\" ? Symbol[\"for\"](\"nodejs.util.inspect.custom\") : null;\n exports.Buffer = Buffer3;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n const K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n const { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n Buffer3.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer3.TYPED_ARRAY_SUPPORT && typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(\n \"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"\n );\n }\n function typedArraySupport() {\n try {\n const arr = new GlobalUint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer3.prototype, \"parent\", {\n enumerable: true,\n get: function() {\n if (!Buffer3.isBuffer(this)) return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer3.prototype, \"offset\", {\n enumerable: true,\n get: function() {\n if (!Buffer3.isBuffer(this)) return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"');\n }\n const buf = new GlobalUint8Array(length);\n Object.setPrototypeOf(buf, Buffer3.prototype);\n return buf;\n }\n function Buffer3(arg, encodingOrOffset, length) {\n if (typeof arg === \"number\") {\n if (typeof encodingOrOffset === \"string\") {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n );\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer3.poolSize = 8192;\n function from(value2, encodingOrOffset, length) {\n if (typeof value2 === \"string\") {\n return fromString(value2, encodingOrOffset);\n }\n if (GlobalArrayBuffer.isView(value2)) {\n return fromArrayView(value2);\n }\n if (value2 == null) {\n throw new TypeError(\n \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value2\n );\n }\n if (isInstance(value2, GlobalArrayBuffer) || value2 && isInstance(value2.buffer, GlobalArrayBuffer)) {\n return fromArrayBuffer(value2, encodingOrOffset, length);\n }\n if (typeof GlobalSharedArrayBuffer !== \"undefined\" && (isInstance(value2, GlobalSharedArrayBuffer) || value2 && isInstance(value2.buffer, GlobalSharedArrayBuffer))) {\n return fromArrayBuffer(value2, encodingOrOffset, length);\n }\n if (typeof value2 === \"number\") {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n );\n }\n const valueOf = value2.valueOf && value2.valueOf();\n if (valueOf != null && valueOf !== value2) {\n return Buffer3.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value2);\n if (b) return b;\n if (typeof Symbol !== \"undefined\" && Symbol.toPrimitive != null && typeof value2[Symbol.toPrimitive] === \"function\") {\n return Buffer3.from(value2[Symbol.toPrimitive](\"string\"), encodingOrOffset, length);\n }\n throw new TypeError(\n \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value2\n );\n }\n Buffer3.from = function(value2, encodingOrOffset, length) {\n return from(value2, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer3.prototype, GlobalUint8Array.prototype);\n Object.setPrototypeOf(Buffer3, GlobalUint8Array);\n function assertSize(size) {\n if (typeof size !== \"number\") {\n throw new TypeError('\"size\" argument must be of type number');\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === \"string\" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer3.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer3.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer3.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== \"string\" || encoding === \"\") {\n encoding = \"utf8\";\n }\n if (!Buffer3.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n const length = byteLength2(string, encoding) | 0;\n let buf = createBuffer(length);\n const actual = buf.write(string, encoding);\n if (actual !== length) {\n buf = buf.slice(0, actual);\n }\n return buf;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, GlobalUint8Array)) {\n const copy = new GlobalUint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds');\n }\n let buf;\n if (byteOffset === void 0 && length === void 0) {\n buf = new GlobalUint8Array(array);\n } else if (length === void 0) {\n buf = new GlobalUint8Array(array, byteOffset);\n } else {\n buf = new GlobalUint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf, Buffer3.prototype);\n return buf;\n }\n function fromObject(obj) {\n if (Buffer3.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf = createBuffer(len);\n if (buf.length === 0) {\n return buf;\n }\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== \"number\" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === \"Buffer\" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + K_MAX_LENGTH.toString(16) + \" bytes\");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer3.alloc(+length);\n }\n Buffer3.isBuffer = function isBuffer2(b) {\n return b != null && b._isBuffer === true && b !== Buffer3.prototype;\n };\n Buffer3.compare = function compare(a, b) {\n if (isInstance(a, GlobalUint8Array)) a = Buffer3.from(a, a.offset, a.byteLength);\n if (isInstance(b, GlobalUint8Array)) b = Buffer3.from(b, b.offset, b.byteLength);\n if (!Buffer3.isBuffer(a) || !Buffer3.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n );\n }\n if (a === b) return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n };\n Buffer3.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return true;\n default:\n return false;\n }\n };\n Buffer3.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n if (list.length === 0) {\n return Buffer3.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer2 = Buffer3.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf = list[i];\n if (isInstance(buf, GlobalUint8Array)) {\n if (pos + buf.length > buffer2.length) {\n if (!Buffer3.isBuffer(buf)) buf = Buffer3.from(buf);\n buf.copy(buffer2, pos);\n } else {\n GlobalUint8Array.prototype.set.call(\n buffer2,\n buf,\n pos\n );\n }\n } else if (!Buffer3.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n } else {\n buf.copy(buffer2, pos);\n }\n pos += buf.length;\n }\n return buffer2;\n };\n function byteLength2(string, encoding) {\n if (Buffer3.isBuffer(string)) {\n return string.length;\n }\n if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== \"string\") {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string\n );\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return len;\n case \"utf8\":\n case \"utf-8\":\n return utf8ToBytes(string).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return len * 2;\n case \"hex\":\n return len >>> 1;\n case \"base64\":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer3.byteLength = byteLength2;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return \"\";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return \"\";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return \"\";\n }\n if (!encoding) encoding = \"utf8\";\n while (true) {\n switch (encoding) {\n case \"hex\":\n return hexSlice(this, start, end);\n case \"utf8\":\n case \"utf-8\":\n return utf8Slice(this, start, end);\n case \"ascii\":\n return asciiSlice(this, start, end);\n case \"latin1\":\n case \"binary\":\n return latin1Slice(this, start, end);\n case \"base64\":\n return base64Slice(this, start, end);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (encoding + \"\").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer3.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer3.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer3.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer3.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer3.prototype.toString = function toString3() {\n const length = this.length;\n if (length === 0) return \"\";\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer3.prototype.toLocaleString = Buffer3.prototype.toString;\n Buffer3.prototype.equals = function equals(b) {\n if (!Buffer3.isBuffer(b)) throw new TypeError(\"Argument must be a Buffer\");\n if (this === b) return true;\n return Buffer3.compare(this, b) === 0;\n };\n Buffer3.prototype.inspect = function inspect() {\n let str = \"\";\n const max2 = exports.INSPECT_MAX_BYTES;\n str = this.toString(\"hex\", 0, max2).replace(/(.{2})/g, \"$1 \").trim();\n if (this.length > max2) str += \" ... \";\n return \"<Buffer \" + str + \">\";\n };\n if (customInspectSymbol) {\n Buffer3.prototype[customInspectSymbol] = Buffer3.prototype.inspect;\n }\n Buffer3.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, GlobalUint8Array)) {\n target = Buffer3.from(target, target.offset, target.byteLength);\n }\n if (!Buffer3.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target\n );\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError(\"out of range index\");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer2, val, byteOffset, encoding, dir) {\n if (buffer2.length === 0) return -1;\n if (typeof byteOffset === \"string\") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer2.length - 1;\n }\n if (byteOffset < 0) byteOffset = buffer2.length + byteOffset;\n if (byteOffset >= buffer2.length) {\n if (dir) return -1;\n else byteOffset = buffer2.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;\n else return -1;\n }\n if (typeof val === \"string\") {\n val = Buffer3.from(val, encoding);\n }\n if (Buffer3.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer2, val, byteOffset, encoding, dir);\n } else if (typeof val === \"number\") {\n val = val & 255;\n if (typeof GlobalUint8Array.prototype.indexOf === \"function\") {\n if (dir) {\n return GlobalUint8Array.prototype.indexOf.call(buffer2, val, byteOffset);\n } else {\n return GlobalUint8Array.prototype.lastIndexOf.call(buffer2, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer2, [val], byteOffset, encoding, dir);\n }\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === \"ucs2\" || encoding === \"ucs-2\" || encoding === \"utf16le\" || encoding === \"utf-16le\") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read(buf, i2) {\n if (indexSize === 1) {\n return buf[i2];\n } else {\n return buf.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n if (found) return i;\n }\n }\n return -1;\n }\n Buffer3.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer3.prototype.indexOf = function indexOf2(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer3.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n }\n function asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n }\n function base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n }\n function ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n }\n Buffer3.prototype.write = function write(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = \"utf8\";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === \"string\") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0) encoding = \"utf8\";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error(\n \"Buffer.write(string, encoding, offset[, length]) is no longer supported\"\n );\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining) length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n }\n if (!encoding) encoding = \"utf8\";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case \"hex\":\n return hexWrite(this, string, offset, length);\n case \"utf8\":\n case \"utf-8\":\n return utf8Write(this, string, offset, length);\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return asciiWrite(this, string, offset, length);\n case \"base64\":\n return base64Write(this, string, offset, length);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer3.prototype.toJSON = function toJSON2() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n }\n function utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n const MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = \"\";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n );\n }\n return res;\n }\n function asciiSlice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n return ret;\n }\n function hexSlice(buf, start, end) {\n const len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n let out = \"\";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n return out;\n }\n function utf16leSlice(buf, start, end) {\n const bytes = buf.slice(start, end);\n let res = \"\";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer3.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start) end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer3.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError(\"offset is not uint\");\n if (offset + ext > length) throw new RangeError(\"Trying to access beyond buffer length\");\n }\n Buffer3.prototype.readUintLE = Buffer3.prototype.readUIntLE = function readUIntLE(offset, byteLength3, noAssert) {\n offset = offset >>> 0;\n byteLength3 = byteLength3 >>> 0;\n if (!noAssert) checkOffset(offset, byteLength3, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength3 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer3.prototype.readUintBE = Buffer3.prototype.readUIntBE = function readUIntBE(offset, byteLength3, noAssert) {\n offset = offset >>> 0;\n byteLength3 = byteLength3 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength3, this.length);\n }\n let val = this[offset + --byteLength3];\n let mul = 1;\n while (byteLength3 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength3] * mul;\n }\n return val;\n };\n Buffer3.prototype.readUint8 = Buffer3.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer3.prototype.readUint16LE = Buffer3.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer3.prototype.readUint16BE = Buffer3.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer3.prototype.readUint32LE = Buffer3.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer3.prototype.readUint32BE = Buffer3.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer3.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer3.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer3.prototype.readIntLE = function readIntLE(offset, byteLength3, noAssert) {\n offset = offset >>> 0;\n byteLength3 = byteLength3 >>> 0;\n if (!noAssert) checkOffset(offset, byteLength3, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength3 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength3);\n return val;\n };\n Buffer3.prototype.readIntBE = function readIntBE(offset, byteLength3, noAssert) {\n offset = offset >>> 0;\n byteLength3 = byteLength3 >>> 0;\n if (!noAssert) checkOffset(offset, byteLength3, this.length);\n let i = byteLength3;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength3);\n return val;\n };\n Buffer3.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128)) return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer3.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer3.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer3.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer3.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer3.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer3.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer3.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754$1$1.read(this, offset, true, 23, 4);\n };\n Buffer3.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754$1$1.read(this, offset, false, 23, 4);\n };\n Buffer3.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754$1$1.read(this, offset, true, 52, 8);\n };\n Buffer3.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754$1$1.read(this, offset, false, 52, 8);\n };\n function checkInt(buf, value2, offset, ext, max2, min) {\n if (!Buffer3.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value2 > max2 || value2 < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n }\n Buffer3.prototype.writeUintLE = Buffer3.prototype.writeUIntLE = function writeUIntLE(value2, offset, byteLength3, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n byteLength3 = byteLength3 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength3) - 1;\n checkInt(this, value2, offset, byteLength3, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value2 & 255;\n while (++i < byteLength3 && (mul *= 256)) {\n this[offset + i] = value2 / mul & 255;\n }\n return offset + byteLength3;\n };\n Buffer3.prototype.writeUintBE = Buffer3.prototype.writeUIntBE = function writeUIntBE(value2, offset, byteLength3, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n byteLength3 = byteLength3 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength3) - 1;\n checkInt(this, value2, offset, byteLength3, maxBytes, 0);\n }\n let i = byteLength3 - 1;\n let mul = 1;\n this[offset + i] = value2 & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value2 / mul & 255;\n }\n return offset + byteLength3;\n };\n Buffer3.prototype.writeUint8 = Buffer3.prototype.writeUInt8 = function writeUInt8(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 1, 255, 0);\n this[offset] = value2 & 255;\n return offset + 1;\n };\n Buffer3.prototype.writeUint16LE = Buffer3.prototype.writeUInt16LE = function writeUInt16LE(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 2, 65535, 0);\n this[offset] = value2 & 255;\n this[offset + 1] = value2 >>> 8;\n return offset + 2;\n };\n Buffer3.prototype.writeUint16BE = Buffer3.prototype.writeUInt16BE = function writeUInt16BE(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 2, 65535, 0);\n this[offset] = value2 >>> 8;\n this[offset + 1] = value2 & 255;\n return offset + 2;\n };\n Buffer3.prototype.writeUint32LE = Buffer3.prototype.writeUInt32LE = function writeUInt32LE(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 4, 4294967295, 0);\n this[offset + 3] = value2 >>> 24;\n this[offset + 2] = value2 >>> 16;\n this[offset + 1] = value2 >>> 8;\n this[offset] = value2 & 255;\n return offset + 4;\n };\n Buffer3.prototype.writeUint32BE = Buffer3.prototype.writeUInt32BE = function writeUInt32BE(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 4, 4294967295, 0);\n this[offset] = value2 >>> 24;\n this[offset + 1] = value2 >>> 16;\n this[offset + 2] = value2 >>> 8;\n this[offset + 3] = value2 & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf, value2, offset, min, max2) {\n checkIntBI(value2, min, max2, buf, offset, 7);\n let lo = Number(value2 & BigInt(4294967295));\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number(value2 >> BigInt(32) & BigInt(4294967295));\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf, value2, offset, min, max2) {\n checkIntBI(value2, min, max2, buf, offset, 7);\n let lo = Number(value2 & BigInt(4294967295));\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number(value2 >> BigInt(32) & BigInt(4294967295));\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n }\n Buffer3.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value2, offset = 0) {\n return wrtBigUInt64LE(this, value2, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n });\n Buffer3.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value2, offset = 0) {\n return wrtBigUInt64BE(this, value2, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n });\n Buffer3.prototype.writeIntLE = function writeIntLE(value2, offset, byteLength3, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength3 - 1);\n checkInt(this, value2, offset, byteLength3, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value2 & 255;\n while (++i < byteLength3 && (mul *= 256)) {\n if (value2 < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value2 / mul >> 0) - sub & 255;\n }\n return offset + byteLength3;\n };\n Buffer3.prototype.writeIntBE = function writeIntBE(value2, offset, byteLength3, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength3 - 1);\n checkInt(this, value2, offset, byteLength3, limit - 1, -limit);\n }\n let i = byteLength3 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value2 & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value2 < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value2 / mul >> 0) - sub & 255;\n }\n return offset + byteLength3;\n };\n Buffer3.prototype.writeInt8 = function writeInt8(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 1, 127, -128);\n if (value2 < 0) value2 = 255 + value2 + 1;\n this[offset] = value2 & 255;\n return offset + 1;\n };\n Buffer3.prototype.writeInt16LE = function writeInt16LE(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 2, 32767, -32768);\n this[offset] = value2 & 255;\n this[offset + 1] = value2 >>> 8;\n return offset + 2;\n };\n Buffer3.prototype.writeInt16BE = function writeInt16BE(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 2, 32767, -32768);\n this[offset] = value2 >>> 8;\n this[offset + 1] = value2 & 255;\n return offset + 2;\n };\n Buffer3.prototype.writeInt32LE = function writeInt32LE(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 4, 2147483647, -2147483648);\n this[offset] = value2 & 255;\n this[offset + 1] = value2 >>> 8;\n this[offset + 2] = value2 >>> 16;\n this[offset + 3] = value2 >>> 24;\n return offset + 4;\n };\n Buffer3.prototype.writeInt32BE = function writeInt32BE(value2, offset, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value2, offset, 4, 2147483647, -2147483648);\n if (value2 < 0) value2 = 4294967295 + value2 + 1;\n this[offset] = value2 >>> 24;\n this[offset + 1] = value2 >>> 16;\n this[offset + 2] = value2 >>> 8;\n this[offset + 3] = value2 & 255;\n return offset + 4;\n };\n Buffer3.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value2, offset = 0) {\n return wrtBigUInt64LE(this, value2, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n Buffer3.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value2, offset = 0) {\n return wrtBigUInt64BE(this, value2, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n function checkIEEE754(buf, value2, offset, ext, max2, min) {\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n if (offset < 0) throw new RangeError(\"Index out of range\");\n }\n function writeFloat(buf, value2, offset, littleEndian, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value2, offset, 4);\n }\n ieee754$1$1.write(buf, value2, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer3.prototype.writeFloatLE = function writeFloatLE(value2, offset, noAssert) {\n return writeFloat(this, value2, offset, true, noAssert);\n };\n Buffer3.prototype.writeFloatBE = function writeFloatBE(value2, offset, noAssert) {\n return writeFloat(this, value2, offset, false, noAssert);\n };\n function writeDouble(buf, value2, offset, littleEndian, noAssert) {\n value2 = +value2;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value2, offset, 8);\n }\n ieee754$1$1.write(buf, value2, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer3.prototype.writeDoubleLE = function writeDoubleLE(value2, offset, noAssert) {\n return writeDouble(this, value2, offset, true, noAssert);\n };\n Buffer3.prototype.writeDoubleBE = function writeDoubleBE(value2, offset, noAssert) {\n return writeDouble(this, value2, offset, false, noAssert);\n };\n Buffer3.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer3.isBuffer(target)) throw new TypeError(\"argument should be a Buffer\");\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n if (targetStart < 0) {\n throw new RangeError(\"targetStart out of bounds\");\n }\n if (start < 0 || start >= this.length) throw new RangeError(\"Index out of range\");\n if (end < 0) throw new RangeError(\"sourceEnd out of bounds\");\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof GlobalUint8Array.prototype.copyWithin === \"function\") {\n this.copyWithin(targetStart, start, end);\n } else {\n GlobalUint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n );\n }\n return len;\n };\n Buffer3.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === \"string\") {\n if (typeof start === \"string\") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === \"string\") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== \"string\") {\n throw new TypeError(\"encoding must be a string\");\n }\n if (typeof encoding === \"string\" && !Buffer3.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n if (val.length === 1) {\n const code2 = val.charCodeAt(0);\n if (encoding === \"utf8\" && code2 < 128 || encoding === \"latin1\") {\n val = code2;\n }\n }\n } else if (typeof val === \"number\") {\n val = val & 255;\n } else if (typeof val === \"boolean\") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError(\"Out of range index\");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val) val = 0;\n let i;\n if (typeof val === \"number\") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer3.isBuffer(val) ? val : Buffer3.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError('The value \"' + val + '\" is invalid for argument \"value\"');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n const errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, \"message\", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value2) {\n Object.defineProperty(this, \"code\", {\n configurable: true,\n enumerable: true,\n value: value2,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E(\n \"ERR_BUFFER_OUT_OF_BOUNDS\",\n function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return \"Attempt to access memory outside buffer bounds\";\n },\n RangeError\n );\n E(\n \"ERR_INVALID_ARG_TYPE\",\n function(name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n },\n TypeError\n );\n E(\n \"ERR_OUT_OF_RANGE\",\n function(str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === \"bigint\") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += \"n\";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n },\n RangeError\n );\n function addNumericalSeparator(val) {\n let res = \"\";\n let i = val.length;\n const start = val[0] === \"-\" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf, offset, byteLength3) {\n validateNumber(offset, \"offset\");\n if (buf[offset] === void 0 || buf[offset + byteLength3] === void 0) {\n boundsError(offset, buf.length - (byteLength3 + 1));\n }\n }\n function checkIntBI(value2, min, max2, buf, offset, byteLength3) {\n if (value2 > max2 || value2 < min) {\n const n = typeof min === \"bigint\" ? \"n\" : \"\";\n let range;\n {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength3 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength3 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength3 + 1) * 8 - 1}${n}`;\n }\n }\n throw new errors.ERR_OUT_OF_RANGE(\"value\", range, value2);\n }\n checkBounds(buf, offset, byteLength3);\n }\n function validateNumber(value2, name) {\n if (typeof value2 !== \"number\") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, \"number\", value2);\n }\n }\n function boundsError(value2, length, type) {\n if (Math.floor(value2) !== value2) {\n validateNumber(value2, type);\n throw new errors.ERR_OUT_OF_RANGE(\"offset\", \"an integer\", value2);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(\n \"offset\",\n `>= ${0} and <= ${length}`,\n value2\n );\n }\n const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split(\"=\")[0];\n str = str.trim().replace(INVALID_BASE64_RE, \"\");\n if (str.length < 2) return \"\";\n while (str.length % 4 !== 0) {\n str = str + \"=\";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0) break;\n bytes.push(\n codePoint >> 6 | 192,\n codePoint & 63 | 128\n );\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0) break;\n bytes.push(\n codePoint >> 12 | 224,\n codePoint >> 6 & 63 | 128,\n codePoint & 63 | 128\n );\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0) break;\n bytes.push(\n codePoint >> 18 | 240,\n codePoint >> 12 & 63 | 128,\n codePoint >> 6 & 63 | 128,\n codePoint & 63 | 128\n );\n } else {\n throw new Error(\"Invalid code point\");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n const hexSliceLookupTable = function() {\n const alphabet = \"0123456789abcdef\";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === \"undefined\" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error(\"BigInt not supported\");\n }\n})(buffer);\nconst Buffer2 = buffer.Buffer;\nconst Buffer$1 = buffer.Buffer;\nconst global = globalThis || void 0 || self;\nfunction getDefaultExportFromCjs$1(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar browser$1 = { exports: {} };\nvar process = browser$1.exports = {};\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error(\"setTimeout has not been defined\");\n}\nfunction defaultClearTimeout() {\n throw new Error(\"clearTimeout has not been defined\");\n}\n(function() {\n try {\n if (typeof setTimeout === \"function\") {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === \"function\") {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n return setTimeout(fun, 0);\n }\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e2) {\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n return clearTimeout(marker);\n }\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n return cachedClearTimeout.call(null, marker);\n } catch (e2) {\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function(fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function() {\n this.fun.apply(null, this.array);\n};\nprocess.title = \"browser\";\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = \"\";\nprocess.versions = {};\nfunction noop$1() {\n}\nprocess.on = noop$1;\nprocess.addListener = noop$1;\nprocess.once = noop$1;\nprocess.off = noop$1;\nprocess.removeListener = noop$1;\nprocess.removeAllListeners = noop$1;\nprocess.emit = noop$1;\nprocess.prependListener = noop$1;\nprocess.prependOnceListener = noop$1;\nprocess.listeners = function(name) {\n return [];\n};\nprocess.binding = function(name) {\n throw new Error(\"process.binding is not supported\");\n};\nprocess.cwd = function() {\n return \"/\";\n};\nprocess.chdir = function(dir) {\n throw new Error(\"process.chdir is not supported\");\n};\nprocess.umask = function() {\n return 0;\n};\nvar browserExports$1 = browser$1.exports;\nconst process$1 = /* @__PURE__ */ getDefaultExportFromCjs$1(browserExports$1);\nfunction bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\nconst { toString: toString$1 } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\nconst kindOf = /* @__PURE__ */ ((cache2) => (thing) => {\n const str = toString$1.call(thing);\n return cache2[str] || (cache2[str] = str.slice(8, -1).toLowerCase());\n})(/* @__PURE__ */ Object.create(null));\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\nconst typeOfTest = (type) => (thing) => typeof thing === type;\nconst { isArray } = Array;\nconst isUndefined = typeOfTest(\"undefined\");\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\nconst isArrayBuffer = kindOfTest(\"ArrayBuffer\");\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== \"undefined\" && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\nconst isString = typeOfTest(\"string\");\nconst isFunction = typeOfTest(\"function\");\nconst isNumber = typeOfTest(\"number\");\nconst isObject$1 = (thing) => thing !== null && typeof thing === \"object\";\nconst isBoolean = (thing) => thing === true || thing === false;\nconst isPlainObject = (val) => {\n if (kindOf(val) !== \"object\") {\n return false;\n }\n const prototype2 = getPrototypeOf(val);\n return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(toStringTag in val) && !(iterator in val);\n};\nconst isEmptyObject = (val) => {\n if (!isObject$1(val) || isBuffer(val)) {\n return false;\n }\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n return false;\n }\n};\nconst isDate = kindOfTest(\"Date\");\nconst isFile = kindOfTest(\"File\");\nconst isBlob = kindOfTest(\"Blob\");\nconst isFileList = kindOfTest(\"FileList\");\nconst isStream = (val) => isObject$1(val) && isFunction(val.pipe);\nconst isFormData = (thing) => {\n let kind;\n return thing && (typeof FormData === \"function\" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === \"formdata\" || // detect form-data instance\n kind === \"object\" && isFunction(thing.toString) && thing.toString() === \"[object FormData]\"));\n};\nconst isURLSearchParams = kindOfTest(\"URLSearchParams\");\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\"ReadableStream\", \"Request\", \"Response\", \"Headers\"].map(kindOfTest);\nconst trim = (str) => str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\");\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n if (obj === null || typeof obj === \"undefined\") {\n return;\n }\n let i;\n let l;\n if (typeof obj !== \"object\") {\n obj = [obj];\n }\n if (isArray(obj)) {\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n if (isBuffer(obj)) {\n return;\n }\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\nconst _global = (() => {\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : global;\n})();\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\nfunction merge() {\n const { caseless } = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n };\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, { allOwnKeys });\n return a;\n};\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 65279) {\n content = content.slice(1);\n }\n return content;\n};\nconst inherits = (constructor, superConstructor, props, descriptors2) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors2);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, \"super\", {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n};\nconst toFlatObject = (sourceObj, destObj, filter2, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n destObj = destObj || {};\n if (sourceObj == null) return destObj;\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter2 !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter2 || filter2(sourceObj, destObj)) && sourceObj !== Object.prototype);\n return destObj;\n};\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === void 0 || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\nconst toArray$1 = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\nconst isTypedArray = /* @__PURE__ */ ((TypedArray) => {\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== \"undefined\" && getPrototypeOf(Uint8Array));\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n const _iterator = generator.call(obj);\n let result;\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n return arr;\n};\nconst isHTMLForm = kindOfTest(\"HTMLFormElement\");\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(\n /[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\nconst hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);\nconst isRegExp = kindOfTest(\"RegExp\");\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors2 = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n forEach(descriptors2, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n Object.defineProperties(obj, reducedDescriptors);\n};\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n if (isFunction(obj) && [\"arguments\", \"caller\", \"callee\"].indexOf(name) !== -1) {\n return false;\n }\n const value2 = obj[name];\n if (!isFunction(value2)) return;\n descriptor.enumerable = false;\n if (\"writable\" in descriptor) {\n descriptor.writable = false;\n return;\n }\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n const define = (arr) => {\n arr.forEach((value2) => {\n obj[value2] = true;\n });\n };\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n return obj;\n};\nconst noop = () => {\n};\nconst toFiniteNumber = (value2, defaultValue) => {\n return value2 != null && Number.isFinite(value2 = +value2) ? value2 : defaultValue;\n};\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === \"FormData\" && thing[iterator]);\n}\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n const visit = (source, i) => {\n if (isObject$1(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n if (isBuffer(source)) {\n return source;\n }\n if (!(\"toJSON\" in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n forEach(source, (value2, key) => {\n const reducedValue = visit(value2, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n stack[i] = void 0;\n return target;\n }\n }\n return source;\n };\n return visit(obj, 0);\n};\nconst isAsyncFn = kindOfTest(\"AsyncFunction\");\nconst isThenable = (thing) => thing && (isObject$1(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n };\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === \"function\",\n isFunction(_global.postMessage)\n);\nconst asap = typeof queueMicrotask !== \"undefined\" ? queueMicrotask.bind(_global) : typeof process$1 !== \"undefined\" && process$1.nextTick || _setImmediate;\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\nconst utils$1 = {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject: isObject$1,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray: toArray$1,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty,\n // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\nfunction AxiosError$1(message, code2, config, request, response) {\n Error.call(this);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error().stack;\n }\n this.message = message;\n this.name = \"AxiosError\";\n code2 && (this.code = code2);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\nutils$1.inherits(AxiosError$1, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils$1.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\nconst prototype$1 = AxiosError$1.prototype;\nconst descriptors = {};\n[\n \"ERR_BAD_OPTION_VALUE\",\n \"ERR_BAD_OPTION\",\n \"ECONNABORTED\",\n \"ETIMEDOUT\",\n \"ERR_NETWORK\",\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"ERR_DEPRECATED\",\n \"ERR_BAD_RESPONSE\",\n \"ERR_BAD_REQUEST\",\n \"ERR_CANCELED\",\n \"ERR_NOT_SUPPORT\",\n \"ERR_INVALID_URL\"\n // eslint-disable-next-line func-names\n].forEach((code2) => {\n descriptors[code2] = { value: code2 };\n});\nObject.defineProperties(AxiosError$1, descriptors);\nObject.defineProperty(prototype$1, \"isAxiosError\", { value: true });\nAxiosError$1.from = (error, code2, config, request, response, customProps) => {\n const axiosError = Object.create(prototype$1);\n utils$1.toFlatObject(error, axiosError, function filter2(obj) {\n return obj !== Error.prototype;\n }, (prop) => {\n return prop !== \"isAxiosError\";\n });\n AxiosError$1.call(axiosError, error.message, code2, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n};\nconst httpAdapter = null;\nfunction isVisitable(thing) {\n return utils$1.isPlainObject(thing) || utils$1.isArray(thing);\n}\nfunction removeBrackets(key) {\n return utils$1.endsWith(key, \"[]\") ? key.slice(0, -2) : key;\n}\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n token = removeBrackets(token);\n return !dots && i ? \"[\" + token + \"]\" : token;\n }).join(dots ? \".\" : \"\");\n}\nfunction isFlatArray(arr) {\n return utils$1.isArray(arr) && !arr.some(isVisitable);\n}\nconst predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\nfunction toFormData$1(obj, formData, options) {\n if (!utils$1.isObject(obj)) {\n throw new TypeError(\"target must be an object\");\n }\n formData = formData || new FormData();\n options = utils$1.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n return !utils$1.isUndefined(source[option]);\n });\n const metaTokens = options.metaTokens;\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== \"undefined\" && Blob;\n const useBlob = _Blob && utils$1.isSpecCompliantForm(formData);\n if (!utils$1.isFunction(visitor)) {\n throw new TypeError(\"visitor must be a function\");\n }\n function convertValue(value2) {\n if (value2 === null) return \"\";\n if (utils$1.isDate(value2)) {\n return value2.toISOString();\n }\n if (utils$1.isBoolean(value2)) {\n return value2.toString();\n }\n if (!useBlob && utils$1.isBlob(value2)) {\n throw new AxiosError$1(\"Blob is not supported. Use a Buffer instead.\");\n }\n if (utils$1.isArrayBuffer(value2) || utils$1.isTypedArray(value2)) {\n return useBlob && typeof Blob === \"function\" ? new Blob([value2]) : Buffer2.from(value2);\n }\n return value2;\n }\n function defaultVisitor(value2, key, path) {\n let arr = value2;\n if (value2 && !path && typeof value2 === \"object\") {\n if (utils$1.endsWith(key, \"{}\")) {\n key = metaTokens ? key : key.slice(0, -2);\n value2 = JSON.stringify(value2);\n } else if (utils$1.isArray(value2) && isFlatArray(value2) || (utils$1.isFileList(value2) || utils$1.endsWith(key, \"[]\")) && (arr = utils$1.toArray(value2))) {\n key = removeBrackets(key);\n arr.forEach(function each(el, index) {\n !(utils$1.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + \"[]\",\n convertValue(el)\n );\n });\n return false;\n }\n }\n if (isVisitable(value2)) {\n return true;\n }\n formData.append(renderKey(path, key, dots), convertValue(value2));\n return false;\n }\n const stack = [];\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n function build(value2, path) {\n if (utils$1.isUndefined(value2)) return;\n if (stack.indexOf(value2) !== -1) {\n throw Error(\"Circular reference detected in \" + path.join(\".\"));\n }\n stack.push(value2);\n utils$1.forEach(value2, function each(el, key) {\n const result = !(utils$1.isUndefined(el) || el === null) && visitor.call(\n formData,\n el,\n utils$1.isString(key) ? key.trim() : key,\n path,\n exposedHelpers\n );\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n stack.pop();\n }\n if (!utils$1.isObject(obj)) {\n throw new TypeError(\"data must be an object\");\n }\n build(obj);\n return formData;\n}\nfunction encode$2(str) {\n const charMap = {\n \"!\": \"%21\",\n \"'\": \"%27\",\n \"(\": \"%28\",\n \")\": \"%29\",\n \"~\": \"%7E\",\n \"%20\": \"+\",\n \"%00\": \"\\0\"\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n params && toFormData$1(params, this, options);\n}\nconst prototype = AxiosURLSearchParams.prototype;\nprototype.append = function append(name, value2) {\n this._pairs.push([name, value2]);\n};\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value2) {\n return encoder.call(this, value2, encode$2);\n } : encode$2;\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + \"=\" + _encode(pair[1]);\n }, \"\").join(\"&\");\n};\nfunction encode$1(val) {\n return encodeURIComponent(val).replace(/%3A/gi, \":\").replace(/%24/g, \"$\").replace(/%2C/gi, \",\").replace(/%20/g, \"+\").replace(/%5B/gi, \"[\").replace(/%5D/gi, \"]\");\n}\nfunction buildURL(url2, params, options) {\n if (!params) {\n return url2;\n }\n const _encode = options && options.encode || encode$1;\n if (utils$1.isFunction(options)) {\n options = {\n serialize: options\n };\n }\n const serializeFn = options && options.serialize;\n let serializedParams;\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);\n }\n if (serializedParams) {\n const hashmarkIndex = url2.indexOf(\"#\");\n if (hashmarkIndex !== -1) {\n url2 = url2.slice(0, hashmarkIndex);\n }\n url2 += (url2.indexOf(\"?\") === -1 ? \"?\" : \"&\") + serializedParams;\n }\n return url2;\n}\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils$1.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\nconst transitionalDefaults = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\nconst URLSearchParams$1 = typeof URLSearchParams !== \"undefined\" ? URLSearchParams : AxiosURLSearchParams;\nconst FormData$1 = typeof FormData !== \"undefined\" ? FormData : null;\nconst Blob$1 = typeof Blob !== \"undefined\" ? Blob : null;\nconst platform$1 = {\n isBrowser: true,\n classes: {\n URLSearchParams: URLSearchParams$1,\n FormData: FormData$1,\n Blob: Blob$1\n },\n protocols: [\"http\", \"https\", \"file\", \"blob\", \"url\", \"data\"]\n};\nconst hasBrowserEnv = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst _navigator = typeof navigator === \"object\" && navigator || void 0;\nconst hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || [\"ReactNative\", \"NativeScript\", \"NS\"].indexOf(_navigator.product) < 0);\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return typeof WorkerGlobalScope !== \"undefined\" && // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope && typeof self.importScripts === \"function\";\n})();\nconst origin = hasBrowserEnv && window.location.href || \"http://localhost\";\nconst utils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n hasBrowserEnv,\n hasStandardBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n navigator: _navigator,\n origin\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst platform = {\n ...utils,\n ...platform$1\n};\nfunction toURLEncodedForm(data, options) {\n return toFormData$1(data, new platform.classes.URLSearchParams(), {\n visitor: function(value2, key, path, helpers) {\n if (platform.isNode && utils$1.isBuffer(value2)) {\n this.append(key, value2.toString(\"base64\"));\n return false;\n }\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\nfunction parsePropPath(name) {\n return utils$1.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === \"[]\" ? \"\" : match[1] || match[0];\n });\n}\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\nfunction formDataToJSON(formData) {\n function buildPath(path, value2, target, index) {\n let name = path[index++];\n if (name === \"__proto__\") return true;\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils$1.isArray(target) ? target.length : name;\n if (isLast) {\n if (utils$1.hasOwnProp(target, name)) {\n target[name] = [target[name], value2];\n } else {\n target[name] = value2;\n }\n return !isNumericKey;\n }\n if (!target[name] || !utils$1.isObject(target[name])) {\n target[name] = [];\n }\n const result = buildPath(path, value2, target[name], index);\n if (result && utils$1.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n return !isNumericKey;\n }\n if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) {\n const obj = {};\n utils$1.forEachEntry(formData, (name, value2) => {\n buildPath(parsePropPath(name), value2, obj, 0);\n });\n return obj;\n }\n return null;\n}\nfunction stringifySafely(rawValue, parser2, encoder) {\n if (utils$1.isString(rawValue)) {\n try {\n (parser2 || JSON.parse)(rawValue);\n return utils$1.trim(rawValue);\n } catch (e) {\n if (e.name !== \"SyntaxError\") {\n throw e;\n }\n }\n }\n return (encoder || JSON.stringify)(rawValue);\n}\nconst defaults = {\n transitional: transitionalDefaults,\n adapter: [\"xhr\", \"http\", \"fetch\"],\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || \"\";\n const hasJSONContentType = contentType.indexOf(\"application/json\") > -1;\n const isObjectPayload = utils$1.isObject(data);\n if (isObjectPayload && utils$1.isHTMLForm(data)) {\n data = new FormData(data);\n }\n const isFormData2 = utils$1.isFormData(data);\n if (isFormData2) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data)) {\n return data;\n }\n if (utils$1.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils$1.isURLSearchParams(data)) {\n headers.setContentType(\"application/x-www-form-urlencoded;charset=utf-8\", false);\n return data.toString();\n }\n let isFileList2;\n if (isObjectPayload) {\n if (contentType.indexOf(\"application/x-www-form-urlencoded\") > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n if ((isFileList2 = utils$1.isFileList(data)) || contentType.indexOf(\"multipart/form-data\") > -1) {\n const _FormData = this.env && this.env.FormData;\n return toFormData$1(\n isFileList2 ? { \"files[]\": data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType(\"application/json\", false);\n return stringifySafely(data);\n }\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n const transitional2 = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing;\n const JSONRequested = this.responseType === \"json\";\n if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) {\n return data;\n }\n if (data && utils$1.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {\n const silentJSONParsing = transitional2 && transitional2.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === \"SyntaxError\") {\n throw AxiosError$1.from(e, AxiosError$1.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n return data;\n }],\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: \"XSRF-TOKEN\",\n xsrfHeaderName: \"X-XSRF-TOKEN\",\n maxContentLength: -1,\n maxBodyLength: -1,\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n headers: {\n common: {\n \"Accept\": \"application/json, text/plain, */*\",\n \"Content-Type\": void 0\n }\n }\n};\nutils$1.forEach([\"delete\", \"get\", \"head\", \"post\", \"put\", \"patch\"], (method) => {\n defaults.headers[method] = {};\n});\nconst ignoreDuplicateOf = utils$1.toObjectSet([\n \"age\",\n \"authorization\",\n \"content-length\",\n \"content-type\",\n \"etag\",\n \"expires\",\n \"from\",\n \"host\",\n \"if-modified-since\",\n \"if-unmodified-since\",\n \"last-modified\",\n \"location\",\n \"max-forwards\",\n \"proxy-authorization\",\n \"referer\",\n \"retry-after\",\n \"user-agent\"\n]);\nconst parseHeaders = (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n rawHeaders && rawHeaders.split(\"\\n\").forEach(function parser2(line) {\n i = line.indexOf(\":\");\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n if (!key || parsed[key] && ignoreDuplicateOf[key]) {\n return;\n }\n if (key === \"set-cookie\") {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + \", \" + val : val;\n }\n });\n return parsed;\n};\nconst $internals = Symbol(\"internals\");\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\nfunction normalizeValue(value2) {\n if (value2 === false || value2 == null) {\n return value2;\n }\n return utils$1.isArray(value2) ? value2.map(normalizeValue) : String(value2);\n}\nfunction parseTokens(str) {\n const tokens = /* @__PURE__ */ Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n while (match = tokensRE.exec(str)) {\n tokens[match[1]] = match[2];\n }\n return tokens;\n}\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\nfunction matchHeaderValue(context, value2, header, filter2, isHeaderNameFilter) {\n if (utils$1.isFunction(filter2)) {\n return filter2.call(this, value2, header);\n }\n if (isHeaderNameFilter) {\n value2 = header;\n }\n if (!utils$1.isString(value2)) return;\n if (utils$1.isString(filter2)) {\n return value2.indexOf(filter2) !== -1;\n }\n if (utils$1.isRegExp(filter2)) {\n return filter2.test(value2);\n }\n}\nfunction formatHeader(header) {\n return header.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\nfunction buildAccessors(obj, header) {\n const accessorName = utils$1.toCamelCase(\" \" + header);\n [\"get\", \"set\", \"has\"].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\nlet AxiosHeaders$1 = class AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n set(header, valueOrRewrite, rewrite) {\n const self2 = this;\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n if (!lHeader) {\n throw new Error(\"header name must be a non-empty string\");\n }\n const key = utils$1.findKey(self2, lHeader);\n if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) {\n self2[key || _header] = normalizeValue(_value);\n }\n }\n const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n if (utils$1.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils$1.isObject(header) && utils$1.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils$1.isArray(entry)) {\n throw TypeError(\"Object iterator must return a key-value pair\");\n }\n obj[key = entry[0]] = (dest = obj[key]) ? utils$1.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1];\n }\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n return this;\n }\n get(header, parser2) {\n header = normalizeHeader(header);\n if (header) {\n const key = utils$1.findKey(this, header);\n if (key) {\n const value2 = this[key];\n if (!parser2) {\n return value2;\n }\n if (parser2 === true) {\n return parseTokens(value2);\n }\n if (utils$1.isFunction(parser2)) {\n return parser2.call(this, value2, key);\n }\n if (utils$1.isRegExp(parser2)) {\n return parser2.exec(value2);\n }\n throw new TypeError(\"parser must be boolean|regexp|function\");\n }\n }\n }\n has(header, matcher) {\n header = normalizeHeader(header);\n if (header) {\n const key = utils$1.findKey(this, header);\n return !!(key && this[key] !== void 0 && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n return false;\n }\n delete(header, matcher) {\n const self2 = this;\n let deleted = false;\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n if (_header) {\n const key = utils$1.findKey(self2, _header);\n if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) {\n delete self2[key];\n deleted = true;\n }\n }\n }\n if (utils$1.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n return deleted;\n }\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n return deleted;\n }\n normalize(format) {\n const self2 = this;\n const headers = {};\n utils$1.forEach(this, (value2, header) => {\n const key = utils$1.findKey(headers, header);\n if (key) {\n self2[key] = normalizeValue(value2);\n delete self2[header];\n return;\n }\n const normalized = format ? formatHeader(header) : String(header).trim();\n if (normalized !== header) {\n delete self2[header];\n }\n self2[normalized] = normalizeValue(value2);\n headers[normalized] = true;\n });\n return this;\n }\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n toJSON(asStrings) {\n const obj = /* @__PURE__ */ Object.create(null);\n utils$1.forEach(this, (value2, header) => {\n value2 != null && value2 !== false && (obj[header] = asStrings && utils$1.isArray(value2) ? value2.join(\", \") : value2);\n });\n return obj;\n }\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n toString() {\n return Object.entries(this.toJSON()).map(([header, value2]) => header + \": \" + value2).join(\"\\n\");\n }\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n get [Symbol.toStringTag]() {\n return \"AxiosHeaders\";\n }\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n static concat(first, ...targets) {\n const computed = new this(first);\n targets.forEach((target) => computed.set(target));\n return computed;\n }\n static accessor(header) {\n const internals = this[$internals] = this[$internals] = {\n accessors: {}\n };\n const accessors = internals.accessors;\n const prototype2 = this.prototype;\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n if (!accessors[lHeader]) {\n buildAccessors(prototype2, _header);\n accessors[lHeader] = true;\n }\n }\n utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n return this;\n }\n};\nAxiosHeaders$1.accessor([\"Content-Type\", \"Content-Length\", \"Accept\", \"Accept-Encoding\", \"User-Agent\", \"Authorization\"]);\nutils$1.reduceDescriptors(AxiosHeaders$1.prototype, ({ value: value2 }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1);\n return {\n get: () => value2,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n };\n});\nutils$1.freezeMethods(AxiosHeaders$1);\nfunction transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders$1.from(context.headers);\n let data = context.data;\n utils$1.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : void 0);\n });\n headers.normalize();\n return data;\n}\nfunction isCancel$1(value2) {\n return !!(value2 && value2.__CANCEL__);\n}\nfunction CanceledError$1(message, config, request) {\n AxiosError$1.call(this, message == null ? \"canceled\" : message, AxiosError$1.ERR_CANCELED, config, request);\n this.name = \"CanceledError\";\n}\nutils$1.inherits(CanceledError$1, AxiosError$1, {\n __CANCEL__: true\n});\nfunction settle(resolve, reject, response) {\n const validateStatus2 = response.config.validateStatus;\n if (!response.status || !validateStatus2 || validateStatus2(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError$1(\n \"Request failed with status code \" + response.status,\n [AxiosError$1.ERR_BAD_REQUEST, AxiosError$1.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\nfunction parseProtocol(url2) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url2);\n return match && match[1] || \"\";\n}\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n min = min !== void 0 ? min : 1e3;\n return function push(chunkLength) {\n const now = Date.now();\n const startedAt = timestamps[tail];\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n bytes[head] = chunkLength;\n timestamps[head] = now;\n let i = tail;\n let bytesCount = 0;\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n head = (head + 1) % samplesCount;\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n if (now - firstSampleTS < min) {\n return;\n }\n const passed = startedAt && now - startedAt;\n return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;\n };\n}\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1e3 / freq;\n let lastArgs;\n let timer;\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n const flush = () => lastArgs && invoke(lastArgs);\n return [throttled, flush];\n}\nconst progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : void 0;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n bytesNotified = loaded;\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : void 0,\n bytes: progressBytes,\n rate: rate ? rate : void 0,\n estimated: rate && total && inRange ? (total - loaded) / rate : void 0,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? \"download\" : \"upload\"]: true\n };\n listener(data);\n }, freq);\n};\nconst progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n};\nconst asyncDecorator = (fn) => (...args) => utils$1.asap(() => fn(...args));\nconst isURLSameOrigin = platform.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin2, isMSIE) => (url2) => {\n url2 = new URL(url2, platform.origin);\n return origin2.protocol === url2.protocol && origin2.host === url2.host && (isMSIE || origin2.port === url2.port);\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\nconst cookies = platform.hasStandardBrowserEnv ? (\n // Standard browser envs support document.cookie\n {\n write(name, value2, expires, path, domain, secure) {\n const cookie = [name + \"=\" + encodeURIComponent(value2)];\n utils$1.isNumber(expires) && cookie.push(\"expires=\" + new Date(expires).toGMTString());\n utils$1.isString(path) && cookie.push(\"path=\" + path);\n utils$1.isString(domain) && cookie.push(\"domain=\" + domain);\n secure === true && cookie.push(\"secure\");\n document.cookie = cookie.join(\"; \");\n },\n read(name) {\n const match = document.cookie.match(new RegExp(\"(^|;\\\\s*)(\" + name + \")=([^;]*)\"));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove(name) {\n this.write(name, \"\", Date.now() - 864e5);\n }\n }\n) : (\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {\n },\n read() {\n return null;\n },\n remove() {\n }\n }\n);\nfunction isAbsoluteURL(url2) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url2);\n}\nfunction combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/?\\/$/, \"\") + \"/\" + relativeURL.replace(/^\\/+/, \"\") : baseURL;\n}\nfunction buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\nconst headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing;\nfunction mergeConfig$1(config1, config2) {\n config2 = config2 || {};\n const config = {};\n function getMergedValue(target, source, prop, caseless) {\n if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {\n return utils$1.merge.call({ caseless }, target, source);\n } else if (utils$1.isPlainObject(source)) {\n return utils$1.merge({}, source);\n } else if (utils$1.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils$1.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils$1.isUndefined(a)) {\n return getMergedValue(void 0, a, prop, caseless);\n }\n }\n function valueFromConfig2(a, b) {\n if (!utils$1.isUndefined(b)) {\n return getMergedValue(void 0, b);\n }\n }\n function defaultToConfig2(a, b) {\n if (!utils$1.isUndefined(b)) {\n return getMergedValue(void 0, b);\n } else if (!utils$1.isUndefined(a)) {\n return getMergedValue(void 0, a);\n }\n }\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(void 0, a);\n }\n }\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n };\n utils$1.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n const merge2 = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge2(config1[prop], config2[prop], prop);\n utils$1.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue);\n });\n return config;\n}\nconst resolveConfig = (config) => {\n const newConfig = mergeConfig$1({}, config);\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n newConfig.headers = headers = AxiosHeaders$1.from(headers);\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n if (auth) {\n headers.set(\n \"Authorization\",\n \"Basic \" + btoa((auth.username || \"\") + \":\" + (auth.password ? unescape(encodeURIComponent(auth.password)) : \"\"))\n );\n }\n let contentType;\n if (utils$1.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(void 0);\n } else if ((contentType = headers.getContentType()) !== false) {\n const [type, ...tokens] = contentType ? contentType.split(\";\").map((token) => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || \"multipart/form-data\", ...tokens].join(\"; \"));\n }\n }\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) {\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n return newConfig;\n};\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== \"undefined\";\nconst xhrAdapter = isXHRAdapterSupported && function(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n function done() {\n flushUpload && flushUpload();\n flushDownload && flushDownload();\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n _config.signal && _config.signal.removeEventListener(\"abort\", onCanceled);\n }\n let request = new XMLHttpRequest();\n request.open(_config.method.toUpperCase(), _config.url, true);\n request.timeout = _config.timeout;\n function onloadend() {\n if (!request) {\n return;\n }\n const responseHeaders = AxiosHeaders$1.from(\n \"getAllResponseHeaders\" in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === \"text\" || responseType === \"json\" ? request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n settle(function _resolve(value2) {\n resolve(value2);\n done();\n }, function _reject(err2) {\n reject(err2);\n done();\n }, response);\n request = null;\n }\n if (\"onloadend\" in request) {\n request.onloadend = onloadend;\n } else {\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf(\"file:\") === 0)) {\n return;\n }\n setTimeout(onloadend);\n };\n }\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n reject(new AxiosError$1(\"Request aborted\", AxiosError$1.ECONNABORTED, config, request));\n request = null;\n };\n request.onerror = function handleError() {\n reject(new AxiosError$1(\"Network Error\", AxiosError$1.ERR_NETWORK, config, request));\n request = null;\n };\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? \"timeout of \" + _config.timeout + \"ms exceeded\" : \"timeout exceeded\";\n const transitional2 = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError$1(\n timeoutErrorMessage,\n transitional2.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED,\n config,\n request\n ));\n request = null;\n };\n requestData === void 0 && requestHeaders.setContentType(null);\n if (\"setRequestHeader\" in request) {\n utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n if (!utils$1.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n if (responseType && responseType !== \"json\") {\n request.responseType = _config.responseType;\n }\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener(\"progress\", downloadThrottled);\n }\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n request.upload.addEventListener(\"progress\", uploadThrottled);\n request.upload.addEventListener(\"loadend\", flushUpload);\n }\n if (_config.cancelToken || _config.signal) {\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError$1(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener(\"abort\", onCanceled);\n }\n }\n const protocol2 = parseProtocol(_config.url);\n if (protocol2 && platform.protocols.indexOf(protocol2) === -1) {\n reject(new AxiosError$1(\"Unsupported protocol \" + protocol2 + \":\", AxiosError$1.ERR_BAD_REQUEST, config));\n return;\n }\n request.send(requestData || null);\n });\n};\nconst composeSignals = (signals, timeout) => {\n const { length } = signals = signals ? signals.filter(Boolean) : [];\n if (timeout || length) {\n let controller = new AbortController();\n let aborted;\n const onabort = function(reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err2 = reason instanceof Error ? reason : this.reason;\n controller.abort(err2 instanceof AxiosError$1 ? err2 : new CanceledError$1(err2 instanceof Error ? err2.message : err2));\n }\n };\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError$1(`timeout ${timeout} of ms exceeded`, AxiosError$1.ETIMEDOUT));\n }, timeout);\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal2) => {\n signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener(\"abort\", onabort);\n });\n signals = null;\n }\n };\n signals.forEach((signal2) => signal2.addEventListener(\"abort\", onabort));\n const { signal } = controller;\n signal.unsubscribe = () => utils$1.asap(unsubscribe);\n return signal;\n }\n};\nconst streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n if (len < chunkSize) {\n yield chunk;\n return;\n }\n let pos = 0;\n let end;\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\nconst readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n const reader = stream.getReader();\n try {\n for (; ; ) {\n const { done, value: value2 } = await reader.read();\n if (done) {\n break;\n }\n yield value2;\n }\n } finally {\n await reader.cancel();\n }\n};\nconst trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator2 = readBytes(stream, chunkSize);\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n return new ReadableStream({\n async pull(controller) {\n try {\n const { done: done2, value: value2 } = await iterator2.next();\n if (done2) {\n _onFinish();\n controller.close();\n return;\n }\n let len = value2.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value2));\n } catch (err2) {\n _onFinish(err2);\n throw err2;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator2.return();\n }\n }, {\n highWaterMark: 2\n });\n};\nconst isFetchSupported = typeof fetch === \"function\" && typeof Request === \"function\" && typeof Response === \"function\";\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === \"function\";\nconst encodeText = isFetchSupported && (typeof TextEncoder === \"function\" ? /* @__PURE__ */ ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()));\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: \"POST\",\n get duplex() {\n duplexAccessed = true;\n return \"half\";\n }\n }).headers.has(\"Content-Type\");\n return duplexAccessed && !hasContentType;\n});\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\nconst supportsResponseStream = isReadableStreamSupported && test(() => utils$1.isReadableStream(new Response(\"\").body));\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\nisFetchSupported && ((res) => {\n [\"text\", \"arrayBuffer\", \"blob\", \"formData\", \"stream\"].forEach((type) => {\n !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res2) => res2[type]() : (_, config) => {\n throw new AxiosError$1(`Response type '${type}' is not supported`, AxiosError$1.ERR_NOT_SUPPORT, config);\n });\n });\n})(new Response());\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n if (utils$1.isBlob(body)) {\n return body.size;\n }\n if (utils$1.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: \"POST\",\n body\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) {\n return body.byteLength;\n }\n if (utils$1.isURLSearchParams(body)) {\n body = body + \"\";\n }\n if (utils$1.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n};\nconst resolveBodyLength = async (headers, body) => {\n const length = utils$1.toFiniteNumber(headers.getContentLength());\n return length == null ? getBodyLength(body) : length;\n};\nconst fetchAdapter = isFetchSupported && (async (config) => {\n let {\n url: url2,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = \"same-origin\",\n fetchOptions\n } = resolveConfig(config);\n responseType = responseType ? (responseType + \"\").toLowerCase() : \"text\";\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n let request;\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n let requestContentLength;\n try {\n if (onUploadProgress && supportsRequestStream && method !== \"get\" && method !== \"head\" && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) {\n let _request = new Request(url2, {\n method: \"POST\",\n body: data,\n duplex: \"half\"\n });\n let contentTypeHeader;\n if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get(\"content-type\"))) {\n headers.setContentType(contentTypeHeader);\n }\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n if (!utils$1.isString(withCredentials)) {\n withCredentials = withCredentials ? \"include\" : \"omit\";\n }\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url2, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : void 0\n });\n let response = await fetch(request, fetchOptions);\n const isStreamResponse = supportsResponseStream && (responseType === \"stream\" || responseType === \"response\");\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) {\n const options = {};\n [\"status\", \"statusText\", \"headers\"].forEach((prop) => {\n options[prop] = response[prop];\n });\n const responseContentLength = utils$1.toFiniteNumber(response.headers.get(\"content-length\"));\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n responseType = responseType || \"text\";\n let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || \"text\"](response, config);\n !isStreamResponse && unsubscribe && unsubscribe();\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders$1.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n });\n });\n } catch (err2) {\n unsubscribe && unsubscribe();\n if (err2 && err2.name === \"TypeError\" && /Load failed|fetch/i.test(err2.message)) {\n throw Object.assign(\n new AxiosError$1(\"Network Error\", AxiosError$1.ERR_NETWORK, config, request),\n {\n cause: err2.cause || err2\n }\n );\n }\n throw AxiosError$1.from(err2, err2 && err2.code, config, request);\n }\n});\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n};\nutils$1.forEach(knownAdapters, (fn, value2) => {\n if (fn) {\n try {\n Object.defineProperty(fn, \"name\", { value: value2 });\n } catch (e) {\n }\n Object.defineProperty(fn, \"adapterName\", { value: value2 });\n }\n});\nconst renderReason = (reason) => `- ${reason}`;\nconst isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false;\nconst adapters = {\n getAdapter: (adapters2) => {\n adapters2 = utils$1.isArray(adapters2) ? adapters2 : [adapters2];\n const { length } = adapters2;\n let nameOrAdapter;\n let adapter;\n const rejectedReasons = {};\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters2[i];\n let id;\n adapter = nameOrAdapter;\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n if (adapter === void 0) {\n throw new AxiosError$1(`Unknown adapter '${id}'`);\n }\n }\n if (adapter) {\n break;\n }\n rejectedReasons[id || \"#\" + i] = adapter;\n }\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) => `adapter ${id} ` + (state === false ? \"is not supported by the environment\" : \"is not available in the build\")\n );\n let s = length ? reasons.length > 1 ? \"since :\\n\" + reasons.map(renderReason).join(\"\\n\") : \" \" + renderReason(reasons[0]) : \"as no adapter specified\";\n throw new AxiosError$1(\n `There is no suitable adapter to dispatch the request ` + s,\n \"ERR_NOT_SUPPORT\"\n );\n }\n return adapter;\n },\n adapters: knownAdapters\n};\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n if (config.signal && config.signal.aborted) {\n throw new CanceledError$1(null, config);\n }\n}\nfunction dispatchRequest(config) {\n throwIfCancellationRequested(config);\n config.headers = AxiosHeaders$1.from(config.headers);\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n if ([\"post\", \"put\", \"patch\"].indexOf(config.method) !== -1) {\n config.headers.setContentType(\"application/x-www-form-urlencoded\", false);\n }\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n response.headers = AxiosHeaders$1.from(response.headers);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel$1(reason)) {\n throwIfCancellationRequested(config);\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders$1.from(reason.response.headers);\n }\n }\n return Promise.reject(reason);\n });\n}\nconst VERSION$1 = \"1.11.0\";\nconst validators$1 = {};\n[\"object\", \"boolean\", \"number\", \"function\", \"string\", \"symbol\"].forEach((type, i) => {\n validators$1[type] = function validator2(thing) {\n return typeof thing === type || \"a\" + (i < 1 ? \"n \" : \" \") + type;\n };\n});\nconst deprecatedWarnings = {};\nvalidators$1.transitional = function transitional(validator2, version, message) {\n function formatMessage(opt, desc) {\n return \"[Axios v\" + VERSION$1 + \"] Transitional option '\" + opt + \"'\" + desc + (message ? \". \" + message : \"\");\n }\n return (value2, opt, opts) => {\n if (validator2 === false) {\n throw new AxiosError$1(\n formatMessage(opt, \" has been removed\" + (version ? \" in \" + version : \"\")),\n AxiosError$1.ERR_DEPRECATED\n );\n }\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n console.warn(\n formatMessage(\n opt,\n \" has been deprecated since v\" + version + \" and will be removed in the near future\"\n )\n );\n }\n return validator2 ? validator2(value2, opt, opts) : true;\n };\n};\nvalidators$1.spelling = function spelling(correctSpelling) {\n return (value2, opt) => {\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== \"object\") {\n throw new AxiosError$1(\"options must be an object\", AxiosError$1.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator2 = schema[opt];\n if (validator2) {\n const value2 = options[opt];\n const result = value2 === void 0 || validator2(value2, opt, options);\n if (result !== true) {\n throw new AxiosError$1(\"option \" + opt + \" must be \" + result, AxiosError$1.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError$1(\"Unknown option \" + opt, AxiosError$1.ERR_BAD_OPTION);\n }\n }\n}\nconst validator = {\n assertOptions,\n validators: validators$1\n};\nconst validators = validator.validators;\nlet Axios$1 = class Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err2) {\n if (err2 instanceof Error) {\n let dummy = {};\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, \"\") : \"\";\n try {\n if (!err2.stack) {\n err2.stack = stack;\n } else if (stack && !String(err2.stack).endsWith(stack.replace(/^.+\\n.+\\n/, \"\"))) {\n err2.stack += \"\\n\" + stack;\n }\n } catch (e) {\n }\n }\n throw err2;\n }\n }\n _request(configOrUrl, config) {\n if (typeof configOrUrl === \"string\") {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n config = mergeConfig$1(this.defaults, config);\n const { transitional: transitional2, paramsSerializer, headers } = config;\n if (transitional2 !== void 0) {\n validator.assertOptions(transitional2, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n if (paramsSerializer != null) {\n if (utils$1.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n };\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n if (config.allowAbsoluteUrls !== void 0) ;\n else if (this.defaults.allowAbsoluteUrls !== void 0) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n validator.assertOptions(config, {\n baseUrl: validators.spelling(\"baseURL\"),\n withXsrfToken: validators.spelling(\"withXSRFToken\")\n }, true);\n config.method = (config.method || this.defaults.method || \"get\").toLowerCase();\n let contextHeaders = headers && utils$1.merge(\n headers.common,\n headers[config.method]\n );\n headers && utils$1.forEach(\n [\"delete\", \"get\", \"head\", \"post\", \"put\", \"patch\", \"common\"],\n (method) => {\n delete headers[method];\n }\n );\n config.headers = AxiosHeaders$1.concat(contextHeaders, headers);\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === \"function\" && interceptor.runWhen(config) === false) {\n return;\n }\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n let promise;\n let i = 0;\n let len;\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), void 0];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n promise = Promise.resolve(config);\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n return promise;\n }\n len = requestInterceptorChain.length;\n let newConfig = config;\n i = 0;\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n i = 0;\n len = responseInterceptorChain.length;\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n return promise;\n }\n getUri(config) {\n config = mergeConfig$1(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n};\nutils$1.forEach([\"delete\", \"get\", \"head\", \"options\"], function forEachMethodNoData(method) {\n Axios$1.prototype[method] = function(url2, config) {\n return this.request(mergeConfig$1(config || {}, {\n method,\n url: url2,\n data: (config || {}).data\n }));\n };\n});\nutils$1.forEach([\"post\", \"put\", \"patch\"], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url2, data, config) {\n return this.request(mergeConfig$1(config || {}, {\n method,\n headers: isForm ? {\n \"Content-Type\": \"multipart/form-data\"\n } : {},\n url: url2,\n data\n }));\n };\n }\n Axios$1.prototype[method] = generateHTTPMethod();\n Axios$1.prototype[method + \"Form\"] = generateHTTPMethod(true);\n});\nlet CancelToken$1 = class CancelToken {\n constructor(executor) {\n if (typeof executor !== \"function\") {\n throw new TypeError(\"executor must be a function.\");\n }\n let resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n const token = this;\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n let i = token._listeners.length;\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n this.promise.then = (onfulfilled) => {\n let _resolve;\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n return promise;\n };\n executor(function cancel(message, config, request) {\n if (token.reason) {\n return;\n }\n token.reason = new CanceledError$1(message, config, request);\n resolvePromise(token.reason);\n });\n }\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n /**\n * Subscribe to the cancel signal\n */\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n /**\n * Unsubscribe from the cancel signal\n */\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n toAbortSignal() {\n const controller = new AbortController();\n const abort = (err2) => {\n controller.abort(err2);\n };\n this.subscribe(abort);\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n return controller.signal;\n }\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n};\nfunction spread$1(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\nfunction isAxiosError$1(payload) {\n return utils$1.isObject(payload) && payload.isAxiosError === true;\n}\nconst HttpStatusCode$1 = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511\n};\nObject.entries(HttpStatusCode$1).forEach(([key, value2]) => {\n HttpStatusCode$1[value2] = key;\n});\nfunction createInstance(defaultConfig) {\n const context = new Axios$1(defaultConfig);\n const instance = bind(Axios$1.prototype.request, context);\n utils$1.extend(instance, Axios$1.prototype, context, { allOwnKeys: true });\n utils$1.extend(instance, context, null, { allOwnKeys: true });\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig$1(defaultConfig, instanceConfig));\n };\n return instance;\n}\nconst axios = createInstance(defaults);\naxios.Axios = Axios$1;\naxios.CanceledError = CanceledError$1;\naxios.CancelToken = CancelToken$1;\naxios.isCancel = isCancel$1;\naxios.VERSION = VERSION$1;\naxios.toFormData = toFormData$1;\naxios.AxiosError = AxiosError$1;\naxios.Cancel = axios.CanceledError;\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = spread$1;\naxios.isAxiosError = isAxiosError$1;\naxios.mergeConfig = mergeConfig$1;\naxios.AxiosHeaders = AxiosHeaders$1;\naxios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing);\naxios.getAdapter = adapters.getAdapter;\naxios.HttpStatusCode = HttpStatusCode$1;\naxios.default = axios;\nconst {\n Axios: Axios2,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken: CancelToken2,\n VERSION,\n all: all2,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders: AxiosHeaders2,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\nconst _Logger = class _Logger {\n constructor() {\n __publicField(this, \"isProduction\");\n this.isProduction = process$1.env.NODE_ENV === \"production\";\n }\n static getInstance() {\n if (!_Logger.instance) {\n _Logger.instance = new _Logger();\n }\n return _Logger.instance;\n }\n debug(message, ...args) {\n if (!this.isProduction) {\n console.debug(message, ...args);\n }\n }\n info(message, ...args) {\n if (!this.isProduction) {\n console.info(message, ...args);\n }\n }\n warn(message, ...args) {\n console.warn(message, ...args);\n }\n error(message, ...args) {\n console.error(message, ...args);\n }\n};\n__publicField(_Logger, \"instance\");\nlet Logger = _Logger;\nclass ValidationError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ValidationError\";\n }\n}\nclass Auth {\n constructor(config) {\n __publicField(this, \"accountId\");\n __publicField(this, \"privateKey\");\n __publicField(this, \"baseUrl\");\n __publicField(this, \"network\");\n this.accountId = config.accountId;\n if (typeof config.privateKey === \"string\") {\n const keyDetection = detectKeyTypeFromString(config.privateKey);\n this.privateKey = keyDetection.privateKey;\n } else {\n this.privateKey = config.privateKey;\n }\n this.network = config.network || \"mainnet\";\n this.baseUrl = config.baseUrl || \"https://kiloscribe.com\";\n }\n async authenticate() {\n var _a2, _b2, _c;\n const requestSignatureResponse = await axios.get(\n `${this.baseUrl}/api/auth/request-signature`,\n {\n headers: {\n \"x-session\": this.accountId\n }\n }\n );\n if (!((_a2 = requestSignatureResponse.data) == null ? void 0 : _a2.message)) {\n throw new Error(\"Failed to get signature message\");\n }\n const message = requestSignatureResponse.data.message;\n const signature = await this.signMessage(message);\n const authResponse = await axios.post(\n `${this.baseUrl}/api/auth/authenticate`,\n {\n authData: {\n id: this.accountId,\n signature,\n data: message,\n network: this.network\n },\n include: \"apiKey\"\n }\n );\n if (!((_c = (_b2 = authResponse.data) == null ? void 0 : _b2.user) == null ? void 0 : _c.sessionToken)) {\n throw new Error(\"Authentication failed\");\n }\n return {\n apiKey: authResponse.data.apiKey\n };\n }\n async signMessage(message) {\n const messageBytes = new TextEncoder().encode(message);\n const signatureBytes = await this.privateKey.sign(messageBytes);\n return Buffer$1.from(signatureBytes).toString(\"hex\");\n }\n}\nclass ClientAuth {\n constructor(config) {\n __publicField(this, \"accountId\");\n __publicField(this, \"signer\");\n __publicField(this, \"baseUrl\");\n __publicField(this, \"network\");\n __publicField(this, \"logger\");\n this.accountId = config.accountId;\n this.signer = config.signer;\n this.network = config.network || \"mainnet\";\n this.baseUrl = config.baseUrl || \"https://kiloscribe.com\";\n this.logger = config.logger;\n }\n async authenticate() {\n var _a2, _b2, _c;\n const requestSignatureResponse = await axios.get(\n `${this.baseUrl}/api/auth/request-signature`,\n {\n headers: {\n \"x-session\": this.accountId\n }\n }\n );\n if (!((_a2 = requestSignatureResponse.data) == null ? void 0 : _a2.message)) {\n throw new Error(\"Failed to get signature message\");\n }\n const message = requestSignatureResponse.data.message;\n const signature = await this.signMessage(JSON.stringify(message));\n const authResponse = await axios.post(\n `${this.baseUrl}/api/auth/authenticate`,\n {\n authData: {\n id: this.accountId,\n signature,\n data: message,\n network: this.network\n },\n include: \"apiKey\"\n }\n );\n if (!((_c = (_b2 = authResponse.data) == null ? void 0 : _b2.user) == null ? void 0 : _c.sessionToken)) {\n throw new Error(\"Authentication failed\");\n }\n return {\n apiKey: authResponse.data.apiKey\n };\n }\n async signMessage(message) {\n try {\n const messageBytes = new TextEncoder().encode(message);\n this.logger.debug(`signing message`);\n const signatureBytes = await this.signer.sign([messageBytes], {\n encoding: \"utf-8\"\n });\n return Buffer$1.from(signatureBytes == null ? void 0 : signatureBytes[0].signature).toString(\"hex\");\n } catch (e) {\n this.logger.error(`Failed to sign message`, e);\n throw new Error(\"Failed to sign message\");\n }\n }\n}\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar ieee754 = {};\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nvar hasRequiredIeee754;\nfunction requireIeee754() {\n if (hasRequiredIeee754) return ieee754;\n hasRequiredIeee754 = 1;\n ieee754.read = function(buffer2, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer2[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer2[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer2[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n ieee754.write = function(buffer2, value2, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value2 < 0 || value2 === 0 && 1 / value2 < 0 ? 1 : 0;\n value2 = Math.abs(value2);\n if (isNaN(value2) || value2 === Infinity) {\n m = isNaN(value2) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value2) / Math.LN2);\n if (value2 * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value2 += rt / c;\n } else {\n value2 += rt * Math.pow(2, 1 - eBias);\n }\n if (value2 * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value2 * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value2 * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer2[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer2[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer2[offset + i - d] |= s * 128;\n };\n return ieee754;\n}\nrequireIeee754();\nfunction dv(array) {\n return new DataView(array.buffer, array.byteOffset);\n}\nconst UINT8 = {\n len: 1,\n get(array, offset) {\n return dv(array).getUint8(offset);\n },\n put(array, offset, value2) {\n dv(array).setUint8(offset, value2);\n return offset + 1;\n }\n};\nconst UINT16_LE = {\n len: 2,\n get(array, offset) {\n return dv(array).getUint16(offset, true);\n },\n put(array, offset, value2) {\n dv(array).setUint16(offset, value2, true);\n return offset + 2;\n }\n};\nconst UINT16_BE = {\n len: 2,\n get(array, offset) {\n return dv(array).getUint16(offset);\n },\n put(array, offset, value2) {\n dv(array).setUint16(offset, value2);\n return offset + 2;\n }\n};\nconst UINT32_LE = {\n len: 4,\n get(array, offset) {\n return dv(array).getUint32(offset, true);\n },\n put(array, offset, value2) {\n dv(array).setUint32(offset, value2, true);\n return offset + 4;\n }\n};\nconst UINT32_BE = {\n len: 4,\n get(array, offset) {\n return dv(array).getUint32(offset);\n },\n put(array, offset, value2) {\n dv(array).setUint32(offset, value2);\n return offset + 4;\n }\n};\nconst INT32_BE = {\n len: 4,\n get(array, offset) {\n return dv(array).getInt32(offset);\n },\n put(array, offset, value2) {\n dv(array).setInt32(offset, value2);\n return offset + 4;\n }\n};\nconst UINT64_LE = {\n len: 8,\n get(array, offset) {\n return dv(array).getBigUint64(offset, true);\n },\n put(array, offset, value2) {\n dv(array).setBigUint64(offset, value2, true);\n return offset + 8;\n }\n};\nclass StringType {\n constructor(len, encoding) {\n this.len = len;\n if (encoding && encoding.toLowerCase() === \"windows-1252\") {\n this.decoder = StringType.decodeWindows1252;\n } else {\n const textDecoder = new TextDecoder(encoding);\n this.decoder = (bytes) => textDecoder.decode(bytes);\n }\n }\n get(data, offset = 0) {\n const bytes = data.subarray(offset, offset + this.len);\n return this.decoder(bytes);\n }\n static decodeWindows1252(bytes) {\n let result = \"\";\n for (let i = 0; i < bytes.length; i++) {\n const byte = bytes[i];\n result += byte < 128 || byte >= 160 ? String.fromCharCode(byte) : StringType.win1252Map[byte - 128];\n }\n return result;\n }\n}\nStringType.win1252Map = \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ\";\nconst defaultMessages = \"End-Of-Stream\";\nclass EndOfStreamError extends Error {\n constructor() {\n super(defaultMessages);\n this.name = \"EndOfStreamError\";\n }\n}\nclass AbortError extends Error {\n constructor(message = \"The operation was aborted\") {\n super(message);\n this.name = \"AbortError\";\n }\n}\nclass AbstractStreamReader {\n constructor() {\n this.endOfStream = false;\n this.interrupted = false;\n this.peekQueue = [];\n }\n async peek(uint8Array, mayBeLess = false) {\n const bytesRead = await this.read(uint8Array, mayBeLess);\n this.peekQueue.push(uint8Array.subarray(0, bytesRead));\n return bytesRead;\n }\n async read(buffer2, mayBeLess = false) {\n if (buffer2.length === 0) {\n return 0;\n }\n let bytesRead = this.readFromPeekBuffer(buffer2);\n if (!this.endOfStream) {\n bytesRead += await this.readRemainderFromStream(buffer2.subarray(bytesRead), mayBeLess);\n }\n if (bytesRead === 0 && !mayBeLess) {\n throw new EndOfStreamError();\n }\n return bytesRead;\n }\n /**\n * Read chunk from stream\n * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in\n * @returns Number of bytes read\n */\n readFromPeekBuffer(buffer2) {\n let remaining = buffer2.length;\n let bytesRead = 0;\n while (this.peekQueue.length > 0 && remaining > 0) {\n const peekData = this.peekQueue.pop();\n if (!peekData)\n throw new Error(\"peekData should be defined\");\n const lenCopy = Math.min(peekData.length, remaining);\n buffer2.set(peekData.subarray(0, lenCopy), bytesRead);\n bytesRead += lenCopy;\n remaining -= lenCopy;\n if (lenCopy < peekData.length) {\n this.peekQueue.push(peekData.subarray(lenCopy));\n }\n }\n return bytesRead;\n }\n async readRemainderFromStream(buffer2, mayBeLess) {\n let bytesRead = 0;\n while (bytesRead < buffer2.length && !this.endOfStream) {\n if (this.interrupted) {\n throw new AbortError();\n }\n const chunkLen = await this.readFromStream(buffer2.subarray(bytesRead), mayBeLess);\n if (chunkLen === 0)\n break;\n bytesRead += chunkLen;\n }\n if (!mayBeLess && bytesRead < buffer2.length) {\n throw new EndOfStreamError();\n }\n return bytesRead;\n }\n}\nclass WebStreamReader extends AbstractStreamReader {\n constructor(reader) {\n super();\n this.reader = reader;\n }\n async abort() {\n return this.close();\n }\n async close() {\n this.reader.releaseLock();\n }\n}\nclass WebStreamByobReader extends WebStreamReader {\n /**\n * Read from stream\n * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in\n * @param mayBeLess - If true, may fill the buffer partially\n * @protected Bytes read\n */\n async readFromStream(buffer2, mayBeLess) {\n if (buffer2.length === 0)\n return 0;\n const result = await this.reader.read(new Uint8Array(buffer2.length), { min: mayBeLess ? void 0 : buffer2.length });\n if (result.done) {\n this.endOfStream = result.done;\n }\n if (result.value) {\n buffer2.set(result.value);\n return result.value.length;\n }\n return 0;\n }\n}\nclass WebStreamDefaultReader extends AbstractStreamReader {\n constructor(reader) {\n super();\n this.reader = reader;\n this.buffer = null;\n }\n /**\n * Copy chunk to target, and store the remainder in this.buffer\n */\n writeChunk(target, chunk) {\n const written = Math.min(chunk.length, target.length);\n target.set(chunk.subarray(0, written));\n if (written < chunk.length) {\n this.buffer = chunk.subarray(written);\n } else {\n this.buffer = null;\n }\n return written;\n }\n /**\n * Read from stream\n * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in\n * @param mayBeLess - If true, may fill the buffer partially\n * @protected Bytes read\n */\n async readFromStream(buffer2, mayBeLess) {\n if (buffer2.length === 0)\n return 0;\n let totalBytesRead = 0;\n if (this.buffer) {\n totalBytesRead += this.writeChunk(buffer2, this.buffer);\n }\n while (totalBytesRead < buffer2.length && !this.endOfStream) {\n const result = await this.reader.read();\n if (result.done) {\n this.endOfStream = true;\n break;\n }\n if (result.value) {\n totalBytesRead += this.writeChunk(buffer2.subarray(totalBytesRead), result.value);\n }\n }\n if (!mayBeLess && totalBytesRead === 0 && this.endOfStream) {\n throw new EndOfStreamError();\n }\n return totalBytesRead;\n }\n abort() {\n this.interrupted = true;\n return this.reader.cancel();\n }\n async close() {\n await this.abort();\n this.reader.releaseLock();\n }\n}\nfunction makeWebStreamReader(stream) {\n try {\n const reader = stream.getReader({ mode: \"byob\" });\n if (reader instanceof ReadableStreamDefaultReader) {\n return new WebStreamDefaultReader(reader);\n }\n return new WebStreamByobReader(reader);\n } catch (error) {\n if (error instanceof TypeError) {\n return new WebStreamDefaultReader(stream.getReader());\n }\n throw error;\n }\n}\nclass AbstractTokenizer {\n /**\n * Constructor\n * @param options Tokenizer options\n * @protected\n */\n constructor(options) {\n this.numBuffer = new Uint8Array(8);\n this.position = 0;\n this.onClose = options == null ? void 0 : options.onClose;\n if (options == null ? void 0 : options.abortSignal) {\n options.abortSignal.addEventListener(\"abort\", () => {\n this.abort();\n });\n }\n }\n /**\n * Read a token from the tokenizer-stream\n * @param token - The token to read\n * @param position - If provided, the desired position in the tokenizer-stream\n * @returns Promise with token data\n */\n async readToken(token, position = this.position) {\n const uint8Array = new Uint8Array(token.len);\n const len = await this.readBuffer(uint8Array, { position });\n if (len < token.len)\n throw new EndOfStreamError();\n return token.get(uint8Array, 0);\n }\n /**\n * Peek a token from the tokenizer-stream.\n * @param token - Token to peek from the tokenizer-stream.\n * @param position - Offset where to begin reading within the file. If position is null, data will be read from the current file position.\n * @returns Promise with token data\n */\n async peekToken(token, position = this.position) {\n const uint8Array = new Uint8Array(token.len);\n const len = await this.peekBuffer(uint8Array, { position });\n if (len < token.len)\n throw new EndOfStreamError();\n return token.get(uint8Array, 0);\n }\n /**\n * Read a numeric token from the stream\n * @param token - Numeric token\n * @returns Promise with number\n */\n async readNumber(token) {\n const len = await this.readBuffer(this.numBuffer, { length: token.len });\n if (len < token.len)\n throw new EndOfStreamError();\n return token.get(this.numBuffer, 0);\n }\n /**\n * Read a numeric token from the stream\n * @param token - Numeric token\n * @returns Promise with number\n */\n async peekNumber(token) {\n const len = await this.peekBuffer(this.numBuffer, { length: token.len });\n if (len < token.len)\n throw new EndOfStreamError();\n return token.get(this.numBuffer, 0);\n }\n /**\n * Ignore number of bytes, advances the pointer in under tokenizer-stream.\n * @param length - Number of bytes to ignore\n * @return resolves the number of bytes ignored, equals length if this available, otherwise the number of bytes available\n */\n async ignore(length) {\n if (this.fileInfo.size !== void 0) {\n const bytesLeft = this.fileInfo.size - this.position;\n if (length > bytesLeft) {\n this.position += bytesLeft;\n return bytesLeft;\n }\n }\n this.position += length;\n return length;\n }\n async close() {\n var _a2;\n await this.abort();\n await ((_a2 = this.onClose) == null ? void 0 : _a2.call(this));\n }\n normalizeOptions(uint8Array, options) {\n if (!this.supportsRandomAccess() && options && options.position !== void 0 && options.position < this.position) {\n throw new Error(\"`options.position` must be equal or greater than `tokenizer.position`\");\n }\n return {\n ...{\n mayBeLess: false,\n offset: 0,\n length: uint8Array.length,\n position: this.position\n },\n ...options\n };\n }\n abort() {\n return Promise.resolve();\n }\n}\nconst maxBufferSize = 256e3;\nclass ReadStreamTokenizer extends AbstractTokenizer {\n /**\n * Constructor\n * @param streamReader stream-reader to read from\n * @param options Tokenizer options\n */\n constructor(streamReader, options) {\n super(options);\n this.streamReader = streamReader;\n this.fileInfo = (options == null ? void 0 : options.fileInfo) ?? {};\n }\n /**\n * Read buffer from tokenizer\n * @param uint8Array - Target Uint8Array to fill with data read from the tokenizer-stream\n * @param options - Read behaviour options\n * @returns Promise with number of bytes read\n */\n async readBuffer(uint8Array, options) {\n const normOptions = this.normalizeOptions(uint8Array, options);\n const skipBytes = normOptions.position - this.position;\n if (skipBytes > 0) {\n await this.ignore(skipBytes);\n return this.readBuffer(uint8Array, options);\n }\n if (skipBytes < 0) {\n throw new Error(\"`options.position` must be equal or greater than `tokenizer.position`\");\n }\n if (normOptions.length === 0) {\n return 0;\n }\n const bytesRead = await this.streamReader.read(uint8Array.subarray(0, normOptions.length), normOptions.mayBeLess);\n this.position += bytesRead;\n if ((!options || !options.mayBeLess) && bytesRead < normOptions.length) {\n throw new EndOfStreamError();\n }\n return bytesRead;\n }\n /**\n * Peek (read ahead) buffer from tokenizer\n * @param uint8Array - Uint8Array (or Buffer) to write data to\n * @param options - Read behaviour options\n * @returns Promise with number of bytes peeked\n */\n async peekBuffer(uint8Array, options) {\n const normOptions = this.normalizeOptions(uint8Array, options);\n let bytesRead = 0;\n if (normOptions.position) {\n const skipBytes = normOptions.position - this.position;\n if (skipBytes > 0) {\n const skipBuffer = new Uint8Array(normOptions.length + skipBytes);\n bytesRead = await this.peekBuffer(skipBuffer, { mayBeLess: normOptions.mayBeLess });\n uint8Array.set(skipBuffer.subarray(skipBytes));\n return bytesRead - skipBytes;\n }\n if (skipBytes < 0) {\n throw new Error(\"Cannot peek from a negative offset in a stream\");\n }\n }\n if (normOptions.length > 0) {\n try {\n bytesRead = await this.streamReader.peek(uint8Array.subarray(0, normOptions.length), normOptions.mayBeLess);\n } catch (err2) {\n if ((options == null ? void 0 : options.mayBeLess) && err2 instanceof EndOfStreamError) {\n return 0;\n }\n throw err2;\n }\n if (!normOptions.mayBeLess && bytesRead < normOptions.length) {\n throw new EndOfStreamError();\n }\n }\n return bytesRead;\n }\n async ignore(length) {\n const bufSize = Math.min(maxBufferSize, length);\n const buf = new Uint8Array(bufSize);\n let totBytesRead = 0;\n while (totBytesRead < length) {\n const remaining = length - totBytesRead;\n const bytesRead = await this.readBuffer(buf, { length: Math.min(bufSize, remaining) });\n if (bytesRead < 0) {\n return bytesRead;\n }\n totBytesRead += bytesRead;\n }\n return totBytesRead;\n }\n abort() {\n return this.streamReader.abort();\n }\n async close() {\n return this.streamReader.close();\n }\n supportsRandomAccess() {\n return false;\n }\n}\nclass BufferTokenizer extends AbstractTokenizer {\n /**\n * Construct BufferTokenizer\n * @param uint8Array - Uint8Array to tokenize\n * @param options Tokenizer options\n */\n constructor(uint8Array, options) {\n super(options);\n this.uint8Array = uint8Array;\n this.fileInfo = { ...(options == null ? void 0 : options.fileInfo) ?? {}, ...{ size: uint8Array.length } };\n }\n /**\n * Read buffer from tokenizer\n * @param uint8Array - Uint8Array to tokenize\n * @param options - Read behaviour options\n * @returns {Promise<number>}\n */\n async readBuffer(uint8Array, options) {\n if (options == null ? void 0 : options.position) {\n this.position = options.position;\n }\n const bytesRead = await this.peekBuffer(uint8Array, options);\n this.position += bytesRead;\n return bytesRead;\n }\n /**\n * Peek (read ahead) buffer from tokenizer\n * @param uint8Array\n * @param options - Read behaviour options\n * @returns {Promise<number>}\n */\n async peekBuffer(uint8Array, options) {\n const normOptions = this.normalizeOptions(uint8Array, options);\n const bytes2read = Math.min(this.uint8Array.length - normOptions.position, normOptions.length);\n if (!normOptions.mayBeLess && bytes2read < normOptions.length) {\n throw new EndOfStreamError();\n }\n uint8Array.set(this.uint8Array.subarray(normOptions.position, normOptions.position + bytes2read));\n return bytes2read;\n }\n close() {\n return super.close();\n }\n supportsRandomAccess() {\n return true;\n }\n setPosition(position) {\n this.position = position;\n }\n}\nfunction fromWebStream(webStream, options) {\n const webStreamReader = makeWebStreamReader(webStream);\n const _options = options ?? {};\n const chainedClose = _options.onClose;\n _options.onClose = async () => {\n await webStreamReader.close();\n if (chainedClose) {\n return chainedClose();\n }\n };\n return new ReadStreamTokenizer(webStreamReader, _options);\n}\nfunction fromBuffer(uint8Array, options) {\n return new BufferTokenizer(uint8Array, options);\n}\nvar u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;\nvar fleb = new u8([\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 0,\n /* unused */\n 0,\n 0,\n /* impossible */\n 0\n]);\nvar fdeb = new u8([\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 4,\n 4,\n 5,\n 5,\n 6,\n 6,\n 7,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n /* unused */\n 0,\n 0\n]);\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\nvar freb = function(eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n var r = new i32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = j - b[i] << 5 | i;\n }\n }\n return { b, r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b.b;\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n var x = (i & 43690) >> 1 | (i & 21845) << 1;\n x = (x & 52428) >> 2 | (x & 13107) << 2;\n x = (x & 61680) >> 4 | (x & 3855) << 4;\n rev[i] = ((x & 65280) >> 8 | (x & 255) << 8) >> 1;\n}\nvar hMap = function(cd, mb, r) {\n var s = cd.length;\n var i = 0;\n var l = new u16(mb);\n for (; i < s; ++i) {\n if (cd[i])\n ++l[cd[i] - 1];\n }\n var le = new u16(mb);\n for (i = 1; i < mb; ++i) {\n le[i] = le[i - 1] + l[i - 1] << 1;\n }\n var co;\n if (r) {\n co = new u16(1 << mb);\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n var sv = i << 4 | cd[i];\n var r_1 = mb - cd[i];\n var v = le[cd[i] - 1]++ << r_1;\n for (var m = v | (1 << r_1) - 1; v <= m; ++v) {\n co[rev[v] >> rvb] = sv;\n }\n }\n }\n } else {\n co = new u16(s);\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >> 15 - cd[i];\n }\n }\n }\n return co;\n};\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\nvar flrm = /* @__PURE__ */ hMap(flt, 9, 1);\nvar fdrm = /* @__PURE__ */ hMap(fdt, 5, 1);\nvar max = function(a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\nvar bits = function(d, p, m) {\n var o = p / 8 | 0;\n return (d[o] | d[o + 1] << 8) >> (p & 7) & m;\n};\nvar bits16 = function(d, p) {\n var o = p / 8 | 0;\n return (d[o] | d[o + 1] << 8 | d[o + 2] << 16) >> (p & 7);\n};\nvar shft = function(p) {\n return (p + 7) / 8 | 0;\n};\nvar slc = function(v, s, e) {\n if (e == null || e > v.length)\n e = v.length;\n return new u8(v.subarray(s, e));\n};\nvar ec = [\n \"unexpected EOF\",\n \"invalid block type\",\n \"invalid length/literal\",\n \"invalid distance\",\n \"stream finished\",\n \"no stream handler\",\n ,\n \"no callback\",\n \"invalid UTF-8 data\",\n \"extra field too long\",\n \"date not in range 1980-2099\",\n \"filename too long\",\n \"stream finishing\",\n \"invalid zip data\"\n // determined by unknown compression method\n];\nvar err = function(ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\nvar inflt = function(dat, st, buf, dict) {\n var sl = dat.length, dl = 0;\n if (!sl || st.f && !st.l)\n return buf || new u8(0);\n var noBuf = !buf;\n var resize = noBuf || st.i != 2;\n var noSt = st.i;\n if (noBuf)\n buf = new u8(sl * 3);\n var cbuf = function(l2) {\n var bl = buf.length;\n if (l2 > bl) {\n var nbuf = new u8(Math.max(bl * 2, l2));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n var tbts = sl * 8;\n do {\n if (!lm) {\n final = bits(dat, pos, 1);\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n var s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t = s + l;\n if (t > sl) {\n if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + l);\n buf.set(dat.subarray(s, t), bt);\n st.b = bt += l, st.p = pos = t * 8, st.f = final;\n continue;\n } else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n var ldt = new u8(tl);\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl; ) {\n var r = clm[bits(dat, pos, clbmsk)];\n pos += r & 15;\n var s = r >> 4;\n if (s < 16) {\n ldt[i++] = s;\n } else {\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n lbt = max(lt);\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n } else\n err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n }\n if (resize)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (; ; lpos = pos) {\n var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, lm = null;\n break;\n } else {\n var add = sym - 254;\n if (sym > 264) {\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;\n if (!d)\n err(3);\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & (1 << b) - 1, pos += b;\n }\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + 131072);\n var end = bt + add;\n if (bt < dt) {\n var shift = dl - dt, dend = Math.min(dt, end);\n if (shift + bt < 0)\n err(3);\n for (; bt < dend; ++bt)\n buf[bt] = dict[shift + bt];\n }\n for (; bt < end; ++bt)\n buf[bt] = buf[bt - dt];\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);\n};\nvar et = /* @__PURE__ */ new u8(0);\nvar gzs = function(d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n err(6, \"invalid gzip data\");\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += (d[10] | d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\nvar gzl = function(d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;\n};\nvar zls = function(d, dict) {\n if ((d[0] & 15) != 8 || d[0] >> 4 > 7 || (d[0] << 8 | d[1]) % 31)\n err(6, \"invalid zlib data\");\n if ((d[1] >> 5 & 1) == 1)\n err(6, \"invalid zlib data: \" + (d[1] & 32 ? \"need\" : \"unexpected\") + \" dictionary\");\n return (d[1] >> 3 & 4) + 2;\n};\nfunction inflateSync(data, opts) {\n return inflt(data, { i: 2 }, opts, opts);\n}\nfunction gunzipSync(data, opts) {\n var st = gzs(data);\n if (st + 8 > data.length)\n err(6, \"invalid gzip data\");\n return inflt(data.subarray(st, -8), { i: 2 }, new u8(gzl(data)), opts);\n}\nfunction unzlibSync(data, opts) {\n return inflt(data.subarray(zls(data), -4), { i: 2 }, opts, opts);\n}\nfunction decompressSync(data, opts) {\n return data[0] == 31 && data[1] == 139 && data[2] == 8 ? gunzipSync(data, opts) : (data[0] & 15) != 8 || data[0] >> 4 > 7 || (data[0] << 8 | data[1]) % 31 ? inflateSync(data, opts) : unzlibSync(data, opts);\n}\nvar td = typeof TextDecoder != \"undefined\" && /* @__PURE__ */ new TextDecoder();\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n} catch (e) {\n}\nvar browser = { exports: {} };\nvar ms;\nvar hasRequiredMs;\nfunction requireMs() {\n if (hasRequiredMs) return ms;\n hasRequiredMs = 1;\n var s = 1e3;\n var m = s * 60;\n var h = m * 60;\n var d = h * 24;\n var w = d * 7;\n var y = d * 365.25;\n ms = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === \"string\" && val.length > 0) {\n return parse2(val);\n } else if (type === \"number\" && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(val)\n );\n };\n function parse2(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || \"ms\").toLowerCase();\n switch (type) {\n case \"years\":\n case \"year\":\n case \"yrs\":\n case \"yr\":\n case \"y\":\n return n * y;\n case \"weeks\":\n case \"week\":\n case \"w\":\n return n * w;\n case \"days\":\n case \"day\":\n case \"d\":\n return n * d;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return n * h;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return n * m;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return n * s;\n case \"milliseconds\":\n case \"millisecond\":\n case \"msecs\":\n case \"msec\":\n case \"ms\":\n return n;\n default:\n return void 0;\n }\n }\n function fmtShort(ms2) {\n var msAbs = Math.abs(ms2);\n if (msAbs >= d) {\n return Math.round(ms2 / d) + \"d\";\n }\n if (msAbs >= h) {\n return Math.round(ms2 / h) + \"h\";\n }\n if (msAbs >= m) {\n return Math.round(ms2 / m) + \"m\";\n }\n if (msAbs >= s) {\n return Math.round(ms2 / s) + \"s\";\n }\n return ms2 + \"ms\";\n }\n function fmtLong(ms2) {\n var msAbs = Math.abs(ms2);\n if (msAbs >= d) {\n return plural(ms2, msAbs, d, \"day\");\n }\n if (msAbs >= h) {\n return plural(ms2, msAbs, h, \"hour\");\n }\n if (msAbs >= m) {\n return plural(ms2, msAbs, m, \"minute\");\n }\n if (msAbs >= s) {\n return plural(ms2, msAbs, s, \"second\");\n }\n return ms2 + \" ms\";\n }\n function plural(ms2, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms2 / n) + \" \" + name + (isPlural ? \"s\" : \"\");\n }\n return ms;\n}\nvar common;\nvar hasRequiredCommon;\nfunction requireCommon() {\n if (hasRequiredCommon) return common;\n hasRequiredCommon = 1;\n function setup(env) {\n createDebug.debug = createDebug;\n createDebug.default = createDebug;\n createDebug.coerce = coerce;\n createDebug.disable = disable;\n createDebug.enable = enable;\n createDebug.enabled = enabled;\n createDebug.humanize = requireMs();\n createDebug.destroy = destroy;\n Object.keys(env).forEach((key) => {\n createDebug[key] = env[key];\n });\n createDebug.names = [];\n createDebug.skips = [];\n createDebug.formatters = {};\n function selectColor(namespace) {\n let hash = 0;\n for (let i = 0; i < namespace.length; i++) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i);\n hash |= 0;\n }\n return createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n }\n createDebug.selectColor = selectColor;\n function createDebug(namespace) {\n let prevTime;\n let enableOverride = null;\n let namespacesCache;\n let enabledCache;\n function debug2(...args) {\n if (!debug2.enabled) {\n return;\n }\n const self2 = debug2;\n const curr = Number(/* @__PURE__ */ new Date());\n const ms2 = curr - (prevTime || curr);\n self2.diff = ms2;\n self2.prev = prevTime;\n self2.curr = curr;\n prevTime = curr;\n args[0] = createDebug.coerce(args[0]);\n if (typeof args[0] !== \"string\") {\n args.unshift(\"%O\");\n }\n let index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n if (match === \"%%\") {\n return \"%\";\n }\n index++;\n const formatter = createDebug.formatters[format];\n if (typeof formatter === \"function\") {\n const val = args[index];\n match = formatter.call(self2, val);\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n createDebug.formatArgs.call(self2, args);\n const logFn = self2.log || createDebug.log;\n logFn.apply(self2, args);\n }\n debug2.namespace = namespace;\n debug2.useColors = createDebug.useColors();\n debug2.color = createDebug.selectColor(namespace);\n debug2.extend = extend2;\n debug2.destroy = createDebug.destroy;\n Object.defineProperty(debug2, \"enabled\", {\n enumerable: true,\n configurable: false,\n get: () => {\n if (enableOverride !== null) {\n return enableOverride;\n }\n if (namespacesCache !== createDebug.namespaces) {\n namespacesCache = createDebug.namespaces;\n enabledCache = createDebug.enabled(namespace);\n }\n return enabledCache;\n },\n set: (v) => {\n enableOverride = v;\n }\n });\n if (typeof createDebug.init === \"function\") {\n createDebug.init(debug2);\n }\n return debug2;\n }\n function extend2(namespace, delimiter) {\n const newDebug = createDebug(this.namespace + (typeof delimiter === \"undefined\" ? \":\" : delimiter) + namespace);\n newDebug.log = this.log;\n return newDebug;\n }\n function enable(namespaces) {\n createDebug.save(namespaces);\n createDebug.namespaces = namespaces;\n createDebug.names = [];\n createDebug.skips = [];\n const split = (typeof namespaces === \"string\" ? namespaces : \"\").trim().replace(/\\s+/g, \",\").split(\",\").filter(Boolean);\n for (const ns of split) {\n if (ns[0] === \"-\") {\n createDebug.skips.push(ns.slice(1));\n } else {\n createDebug.names.push(ns);\n }\n }\n }\n function matchesTemplate(search, template) {\n let searchIndex = 0;\n let templateIndex = 0;\n let starIndex = -1;\n let matchIndex = 0;\n while (searchIndex < search.length) {\n if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === \"*\")) {\n if (template[templateIndex] === \"*\") {\n starIndex = templateIndex;\n matchIndex = searchIndex;\n templateIndex++;\n } else {\n searchIndex++;\n templateIndex++;\n }\n } else if (starIndex !== -1) {\n templateIndex = starIndex + 1;\n matchIndex++;\n searchIndex = matchIndex;\n } else {\n return false;\n }\n }\n while (templateIndex < template.length && template[templateIndex] === \"*\") {\n templateIndex++;\n }\n return templateIndex === template.length;\n }\n function disable() {\n const namespaces = [\n ...createDebug.names,\n ...createDebug.skips.map((namespace) => \"-\" + namespace)\n ].join(\",\");\n createDebug.enable(\"\");\n return namespaces;\n }\n function enabled(name) {\n for (const skip of createDebug.skips) {\n if (matchesTemplate(name, skip)) {\n return false;\n }\n }\n for (const ns of createDebug.names) {\n if (matchesTemplate(name, ns)) {\n return true;\n }\n }\n return false;\n }\n function coerce(val) {\n if (val instanceof Error) {\n return val.stack || val.message;\n }\n return val;\n }\n function destroy() {\n console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\");\n }\n createDebug.enable(createDebug.load());\n return createDebug;\n }\n common = setup;\n return common;\n}\nvar hasRequiredBrowser;\nfunction requireBrowser() {\n if (hasRequiredBrowser) return browser.exports;\n hasRequiredBrowser = 1;\n (function(module, exports) {\n exports.formatArgs = formatArgs;\n exports.save = save;\n exports.load = load;\n exports.useColors = useColors;\n exports.storage = localstorage();\n exports.destroy = /* @__PURE__ */ (() => {\n let warned = false;\n return () => {\n if (!warned) {\n warned = true;\n console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\");\n }\n };\n })();\n exports.colors = [\n \"#0000CC\",\n \"#0000FF\",\n \"#0033CC\",\n \"#0033FF\",\n \"#0066CC\",\n \"#0066FF\",\n \"#0099CC\",\n \"#0099FF\",\n \"#00CC00\",\n \"#00CC33\",\n \"#00CC66\",\n \"#00CC99\",\n \"#00CCCC\",\n \"#00CCFF\",\n \"#3300CC\",\n \"#3300FF\",\n \"#3333CC\",\n \"#3333FF\",\n \"#3366CC\",\n \"#3366FF\",\n \"#3399CC\",\n \"#3399FF\",\n \"#33CC00\",\n \"#33CC33\",\n \"#33CC66\",\n \"#33CC99\",\n \"#33CCCC\",\n \"#33CCFF\",\n \"#6600CC\",\n \"#6600FF\",\n \"#6633CC\",\n \"#6633FF\",\n \"#66CC00\",\n \"#66CC33\",\n \"#9900CC\",\n \"#9900FF\",\n \"#9933CC\",\n \"#9933FF\",\n \"#99CC00\",\n \"#99CC33\",\n \"#CC0000\",\n \"#CC0033\",\n \"#CC0066\",\n \"#CC0099\",\n \"#CC00CC\",\n \"#CC00FF\",\n \"#CC3300\",\n \"#CC3333\",\n \"#CC3366\",\n \"#CC3399\",\n \"#CC33CC\",\n \"#CC33FF\",\n \"#CC6600\",\n \"#CC6633\",\n \"#CC9900\",\n \"#CC9933\",\n \"#CCCC00\",\n \"#CCCC33\",\n \"#FF0000\",\n \"#FF0033\",\n \"#FF0066\",\n \"#FF0099\",\n \"#FF00CC\",\n \"#FF00FF\",\n \"#FF3300\",\n \"#FF3333\",\n \"#FF3366\",\n \"#FF3399\",\n \"#FF33CC\",\n \"#FF33FF\",\n \"#FF6600\",\n \"#FF6633\",\n \"#FF9900\",\n \"#FF9933\",\n \"#FFCC00\",\n \"#FFCC33\"\n ];\n function useColors() {\n if (typeof window !== \"undefined\" && window.process && (window.process.type === \"renderer\" || window.process.__nwjs)) {\n return true;\n }\n if (typeof navigator !== \"undefined\" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n let m;\n return typeof document !== \"undefined\" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773\n typeof window !== \"undefined\" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator !== \"undefined\" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker\n typeof navigator !== \"undefined\" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n }\n function formatArgs(args) {\n args[0] = (this.useColors ? \"%c\" : \"\") + this.namespace + (this.useColors ? \" %c\" : \" \") + args[0] + (this.useColors ? \"%c \" : \" \") + \"+\" + module.exports.humanize(this.diff);\n if (!this.useColors) {\n return;\n }\n const c = \"color: \" + this.color;\n args.splice(1, 0, c, \"color: inherit\");\n let index = 0;\n let lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, (match) => {\n if (match === \"%%\") {\n return;\n }\n index++;\n if (match === \"%c\") {\n lastC = index;\n }\n });\n args.splice(lastC, 0, c);\n }\n exports.log = console.debug || console.log || (() => {\n });\n function save(namespaces) {\n try {\n if (namespaces) {\n exports.storage.setItem(\"debug\", namespaces);\n } else {\n exports.storage.removeItem(\"debug\");\n }\n } catch (error) {\n }\n }\n function load() {\n let r;\n try {\n r = exports.storage.getItem(\"debug\") || exports.storage.getItem(\"DEBUG\");\n } catch (error) {\n }\n if (!r && typeof process$1 !== \"undefined\" && \"env\" in process$1) {\n r = process$1.env.DEBUG;\n }\n return r;\n }\n function localstorage() {\n try {\n return localStorage;\n } catch (error) {\n }\n }\n module.exports = requireCommon()(exports);\n const { formatters } = module.exports;\n formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (error) {\n return \"[UnexpectedJSONParseError]: \" + error.message;\n }\n };\n })(browser, browser.exports);\n return browser.exports;\n}\nvar browserExports = requireBrowser();\nconst initDebug = /* @__PURE__ */ getDefaultExportFromCjs(browserExports);\nconst Signature = {\n LocalFileHeader: 67324752,\n DataDescriptor: 134695760,\n CentralFileHeader: 33639248,\n EndOfCentralDirectory: 101010256\n};\nconst DataDescriptor = {\n get(array) {\n UINT16_LE.get(array, 6);\n return {\n signature: UINT32_LE.get(array, 0),\n compressedSize: UINT32_LE.get(array, 8),\n uncompressedSize: UINT32_LE.get(array, 12)\n };\n },\n len: 16\n};\nconst LocalFileHeaderToken = {\n get(array) {\n const flags = UINT16_LE.get(array, 6);\n return {\n signature: UINT32_LE.get(array, 0),\n minVersion: UINT16_LE.get(array, 4),\n dataDescriptor: !!(flags & 8),\n compressedMethod: UINT16_LE.get(array, 8),\n compressedSize: UINT32_LE.get(array, 18),\n uncompressedSize: UINT32_LE.get(array, 22),\n filenameLength: UINT16_LE.get(array, 26),\n extraFieldLength: UINT16_LE.get(array, 28),\n filename: null\n };\n },\n len: 30\n};\nconst EndOfCentralDirectoryRecordToken = {\n get(array) {\n return {\n signature: UINT32_LE.get(array, 0),\n nrOfThisDisk: UINT16_LE.get(array, 4),\n nrOfThisDiskWithTheStart: UINT16_LE.get(array, 6),\n nrOfEntriesOnThisDisk: UINT16_LE.get(array, 8),\n nrOfEntriesOfSize: UINT16_LE.get(array, 10),\n sizeOfCd: UINT32_LE.get(array, 12),\n offsetOfStartOfCd: UINT32_LE.get(array, 16),\n zipFileCommentLength: UINT16_LE.get(array, 20)\n };\n },\n len: 22\n};\nconst FileHeader = {\n get(array) {\n const flags = UINT16_LE.get(array, 8);\n return {\n signature: UINT32_LE.get(array, 0),\n minVersion: UINT16_LE.get(array, 6),\n dataDescriptor: !!(flags & 8),\n compressedMethod: UINT16_LE.get(array, 10),\n compressedSize: UINT32_LE.get(array, 20),\n uncompressedSize: UINT32_LE.get(array, 24),\n filenameLength: UINT16_LE.get(array, 28),\n extraFieldLength: UINT16_LE.get(array, 30),\n fileCommentLength: UINT16_LE.get(array, 32),\n relativeOffsetOfLocalHeader: UINT32_LE.get(array, 42),\n filename: null\n };\n },\n len: 46\n};\nfunction signatureToArray(signature) {\n const signatureBytes = new Uint8Array(UINT32_LE.len);\n UINT32_LE.put(signatureBytes, 0, signature);\n return signatureBytes;\n}\nconst debug = initDebug(\"tokenizer:inflate\");\nconst syncBufferSize = 256 * 1024;\nconst ddSignatureArray = signatureToArray(Signature.DataDescriptor);\nconst eocdSignatureBytes = signatureToArray(Signature.EndOfCentralDirectory);\nclass ZipHandler {\n constructor(tokenizer) {\n this.tokenizer = tokenizer;\n this.syncBuffer = new Uint8Array(syncBufferSize);\n }\n async isZip() {\n return await this.peekSignature() === Signature.LocalFileHeader;\n }\n peekSignature() {\n return this.tokenizer.peekToken(UINT32_LE);\n }\n async findEndOfCentralDirectoryLocator() {\n const randomReadTokenizer = this.tokenizer;\n const chunkLength = Math.min(16 * 1024, randomReadTokenizer.fileInfo.size);\n const buffer2 = this.syncBuffer.subarray(0, chunkLength);\n await this.tokenizer.readBuffer(buffer2, { position: randomReadTokenizer.fileInfo.size - chunkLength });\n for (let i = buffer2.length - 4; i >= 0; i--) {\n if (buffer2[i] === eocdSignatureBytes[0] && buffer2[i + 1] === eocdSignatureBytes[1] && buffer2[i + 2] === eocdSignatureBytes[2] && buffer2[i + 3] === eocdSignatureBytes[3]) {\n return randomReadTokenizer.fileInfo.size - chunkLength + i;\n }\n }\n return -1;\n }\n async readCentralDirectory() {\n if (!this.tokenizer.supportsRandomAccess()) {\n debug(\"Cannot reading central-directory without random-read support\");\n return;\n }\n debug(\"Reading central-directory...\");\n const pos = this.tokenizer.position;\n const offset = await this.findEndOfCentralDirectoryLocator();\n if (offset > 0) {\n debug(\"Central-directory 32-bit signature found\");\n const eocdHeader = await this.tokenizer.readToken(EndOfCentralDirectoryRecordToken, offset);\n const files = [];\n this.tokenizer.setPosition(eocdHeader.offsetOfStartOfCd);\n for (let n = 0; n < eocdHeader.nrOfEntriesOfSize; ++n) {\n const entry = await this.tokenizer.readToken(FileHeader);\n if (entry.signature !== Signature.CentralFileHeader) {\n throw new Error(\"Expected Central-File-Header signature\");\n }\n entry.filename = await this.tokenizer.readToken(new StringType(entry.filenameLength, \"utf-8\"));\n await this.tokenizer.ignore(entry.extraFieldLength);\n await this.tokenizer.ignore(entry.fileCommentLength);\n files.push(entry);\n debug(`Add central-directory file-entry: n=${n + 1}/${files.length}: filename=${files[n].filename}`);\n }\n this.tokenizer.setPosition(pos);\n return files;\n }\n this.tokenizer.setPosition(pos);\n }\n async unzip(fileCb) {\n const entries = await this.readCentralDirectory();\n if (entries) {\n return this.iterateOverCentralDirectory(entries, fileCb);\n }\n let stop = false;\n do {\n const zipHeader = await this.readLocalFileHeader();\n if (!zipHeader)\n break;\n const next = fileCb(zipHeader);\n stop = !!next.stop;\n let fileData = void 0;\n await this.tokenizer.ignore(zipHeader.extraFieldLength);\n if (zipHeader.dataDescriptor && zipHeader.compressedSize === 0) {\n const chunks = [];\n let len = syncBufferSize;\n debug(\"Compressed-file-size unknown, scanning for next data-descriptor-signature....\");\n let nextHeaderIndex = -1;\n while (nextHeaderIndex < 0 && len === syncBufferSize) {\n len = await this.tokenizer.peekBuffer(this.syncBuffer, { mayBeLess: true });\n nextHeaderIndex = indexOf(this.syncBuffer.subarray(0, len), ddSignatureArray);\n const size = nextHeaderIndex >= 0 ? nextHeaderIndex : len;\n if (next.handler) {\n const data = new Uint8Array(size);\n await this.tokenizer.readBuffer(data);\n chunks.push(data);\n } else {\n await this.tokenizer.ignore(size);\n }\n }\n debug(`Found data-descriptor-signature at pos=${this.tokenizer.position}`);\n if (next.handler) {\n await this.inflate(zipHeader, mergeArrays(chunks), next.handler);\n }\n } else {\n if (next.handler) {\n debug(`Reading compressed-file-data: ${zipHeader.compressedSize} bytes`);\n fileData = new Uint8Array(zipHeader.compressedSize);\n await this.tokenizer.readBuffer(fileData);\n await this.inflate(zipHeader, fileData, next.handler);\n } else {\n debug(`Ignoring compressed-file-data: ${zipHeader.compressedSize} bytes`);\n await this.tokenizer.ignore(zipHeader.compressedSize);\n }\n }\n debug(`Reading data-descriptor at pos=${this.tokenizer.position}`);\n if (zipHeader.dataDescriptor) {\n const dataDescriptor = await this.tokenizer.readToken(DataDescriptor);\n if (dataDescriptor.signature !== 134695760) {\n throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position - DataDescriptor.len}`);\n }\n }\n } while (!stop);\n }\n async iterateOverCentralDirectory(entries, fileCb) {\n for (const fileHeader of entries) {\n const next = fileCb(fileHeader);\n if (next.handler) {\n this.tokenizer.setPosition(fileHeader.relativeOffsetOfLocalHeader);\n const zipHeader = await this.readLocalFileHeader();\n if (zipHeader) {\n await this.tokenizer.ignore(zipHeader.extraFieldLength);\n const fileData = new Uint8Array(fileHeader.compressedSize);\n await this.tokenizer.readBuffer(fileData);\n await this.inflate(zipHeader, fileData, next.handler);\n }\n }\n if (next.stop)\n break;\n }\n }\n inflate(zipHeader, fileData, cb) {\n if (zipHeader.compressedMethod === 0) {\n return cb(fileData);\n }\n debug(`Decompress filename=${zipHeader.filename}, compressed-size=${fileData.length}`);\n const uncompressedData = decompressSync(fileData);\n return cb(uncompressedData);\n }\n async readLocalFileHeader() {\n const signature = await this.tokenizer.peekToken(UINT32_LE);\n if (signature === Signature.LocalFileHeader) {\n const header = await this.tokenizer.readToken(LocalFileHeaderToken);\n header.filename = await this.tokenizer.readToken(new StringType(header.filenameLength, \"utf-8\"));\n return header;\n }\n if (signature === Signature.CentralFileHeader) {\n return false;\n }\n if (signature === 3759263696) {\n throw new Error(\"Encrypted ZIP\");\n }\n throw new Error(\"Unexpected signature\");\n }\n}\nfunction indexOf(buffer2, portion) {\n const bufferLength = buffer2.length;\n const portionLength = portion.length;\n if (portionLength > bufferLength)\n return -1;\n for (let i = 0; i <= bufferLength - portionLength; i++) {\n let found = true;\n for (let j = 0; j < portionLength; j++) {\n if (buffer2[i + j] !== portion[j]) {\n found = false;\n break;\n }\n }\n if (found) {\n return i;\n }\n }\n return -1;\n}\nfunction mergeArrays(chunks) {\n const totalLength2 = chunks.reduce((acc, curr) => acc + curr.length, 0);\n const mergedArray = new Uint8Array(totalLength2);\n let offset = 0;\n for (const chunk of chunks) {\n mergedArray.set(chunk, offset);\n offset += chunk.length;\n }\n return mergedArray;\n}\n({\n utf8: new globalThis.TextDecoder(\"utf8\")\n});\nnew globalThis.TextEncoder();\nArray.from({ length: 256 }, (_, index) => index.toString(16).padStart(2, \"0\"));\nfunction getUintBE(view) {\n const { byteLength: byteLength2 } = view;\n if (byteLength2 === 6) {\n return view.getUint16(0) * 2 ** 32 + view.getUint32(2);\n }\n if (byteLength2 === 5) {\n return view.getUint8(0) * 2 ** 32 + view.getUint32(1);\n }\n if (byteLength2 === 4) {\n return view.getUint32(0);\n }\n if (byteLength2 === 3) {\n return view.getUint8(0) * 2 ** 16 + view.getUint16(1);\n }\n if (byteLength2 === 2) {\n return view.getUint16(0);\n }\n if (byteLength2 === 1) {\n return view.getUint8(0);\n }\n}\nfunction stringToBytes(string) {\n return [...string].map((character) => character.charCodeAt(0));\n}\nfunction tarHeaderChecksumMatches(arrayBuffer, offset = 0) {\n const readSum = Number.parseInt(new StringType(6).get(arrayBuffer, 148).replace(/\\0.*$/, \"\").trim(), 8);\n if (Number.isNaN(readSum)) {\n return false;\n }\n let sum = 8 * 32;\n for (let index = offset; index < offset + 148; index++) {\n sum += arrayBuffer[index];\n }\n for (let index = offset + 156; index < offset + 512; index++) {\n sum += arrayBuffer[index];\n }\n return readSum === sum;\n}\nconst uint32SyncSafeToken = {\n get: (buffer2, offset) => buffer2[offset + 3] & 127 | buffer2[offset + 2] << 7 | buffer2[offset + 1] << 14 | buffer2[offset] << 21,\n len: 4\n};\nconst extensions = [\n \"jpg\",\n \"png\",\n \"apng\",\n \"gif\",\n \"webp\",\n \"flif\",\n \"xcf\",\n \"cr2\",\n \"cr3\",\n \"orf\",\n \"arw\",\n \"dng\",\n \"nef\",\n \"rw2\",\n \"raf\",\n \"tif\",\n \"bmp\",\n \"icns\",\n \"jxr\",\n \"psd\",\n \"indd\",\n \"zip\",\n \"tar\",\n \"rar\",\n \"gz\",\n \"bz2\",\n \"7z\",\n \"dmg\",\n \"mp4\",\n \"mid\",\n \"mkv\",\n \"webm\",\n \"mov\",\n \"avi\",\n \"mpg\",\n \"mp2\",\n \"mp3\",\n \"m4a\",\n \"oga\",\n \"ogg\",\n \"ogv\",\n \"opus\",\n \"flac\",\n \"wav\",\n \"spx\",\n \"amr\",\n \"pdf\",\n \"epub\",\n \"elf\",\n \"macho\",\n \"exe\",\n \"swf\",\n \"rtf\",\n \"wasm\",\n \"woff\",\n \"woff2\",\n \"eot\",\n \"ttf\",\n \"otf\",\n \"ttc\",\n \"ico\",\n \"flv\",\n \"ps\",\n \"xz\",\n \"sqlite\",\n \"nes\",\n \"crx\",\n \"xpi\",\n \"cab\",\n \"deb\",\n \"ar\",\n \"rpm\",\n \"Z\",\n \"lz\",\n \"cfb\",\n \"mxf\",\n \"mts\",\n \"blend\",\n \"bpg\",\n \"docx\",\n \"pptx\",\n \"xlsx\",\n \"3gp\",\n \"3g2\",\n \"j2c\",\n \"jp2\",\n \"jpm\",\n \"jpx\",\n \"mj2\",\n \"aif\",\n \"qcp\",\n \"odt\",\n \"ods\",\n \"odp\",\n \"xml\",\n \"mobi\",\n \"heic\",\n \"cur\",\n \"ktx\",\n \"ape\",\n \"wv\",\n \"dcm\",\n \"ics\",\n \"glb\",\n \"pcap\",\n \"dsf\",\n \"lnk\",\n \"alias\",\n \"voc\",\n \"ac3\",\n \"m4v\",\n \"m4p\",\n \"m4b\",\n \"f4v\",\n \"f4p\",\n \"f4b\",\n \"f4a\",\n \"mie\",\n \"asf\",\n \"ogm\",\n \"ogx\",\n \"mpc\",\n \"arrow\",\n \"shp\",\n \"aac\",\n \"mp1\",\n \"it\",\n \"s3m\",\n \"xm\",\n \"skp\",\n \"avif\",\n \"eps\",\n \"lzh\",\n \"pgp\",\n \"asar\",\n \"stl\",\n \"chm\",\n \"3mf\",\n \"zst\",\n \"jxl\",\n \"vcf\",\n \"jls\",\n \"pst\",\n \"dwg\",\n \"parquet\",\n \"class\",\n \"arj\",\n \"cpio\",\n \"ace\",\n \"avro\",\n \"icc\",\n \"fbx\",\n \"vsdx\",\n \"vtt\",\n \"apk\",\n \"drc\",\n \"lz4\",\n \"potx\",\n \"xltx\",\n \"dotx\",\n \"xltm\",\n \"ott\",\n \"ots\",\n \"otp\",\n \"odg\",\n \"otg\",\n \"xlsm\",\n \"docm\",\n \"dotm\",\n \"potm\",\n \"pptm\",\n \"jar\",\n \"rm\",\n \"ppsm\",\n \"ppsx\"\n];\nconst mimeTypes = [\n \"image/jpeg\",\n \"image/png\",\n \"image/gif\",\n \"image/webp\",\n \"image/flif\",\n \"image/x-xcf\",\n \"image/x-canon-cr2\",\n \"image/x-canon-cr3\",\n \"image/tiff\",\n \"image/bmp\",\n \"image/vnd.ms-photo\",\n \"image/vnd.adobe.photoshop\",\n \"application/x-indesign\",\n \"application/epub+zip\",\n \"application/x-xpinstall\",\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\",\n \"application/vnd.oasis.opendocument.text\",\n \"application/vnd.oasis.opendocument.spreadsheet\",\n \"application/vnd.oasis.opendocument.presentation\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\",\n \"application/zip\",\n \"application/x-tar\",\n \"application/x-rar-compressed\",\n \"application/gzip\",\n \"application/x-bzip2\",\n \"application/x-7z-compressed\",\n \"application/x-apple-diskimage\",\n \"application/vnd.apache.arrow.file\",\n \"video/mp4\",\n \"audio/midi\",\n \"video/matroska\",\n \"video/webm\",\n \"video/quicktime\",\n \"video/vnd.avi\",\n \"audio/wav\",\n \"audio/qcelp\",\n \"audio/x-ms-asf\",\n \"video/x-ms-asf\",\n \"application/vnd.ms-asf\",\n \"video/mpeg\",\n \"video/3gpp\",\n \"audio/mpeg\",\n \"audio/mp4\",\n // RFC 4337\n \"video/ogg\",\n \"audio/ogg\",\n \"audio/ogg; codecs=opus\",\n \"application/ogg\",\n \"audio/flac\",\n \"audio/ape\",\n \"audio/wavpack\",\n \"audio/amr\",\n \"application/pdf\",\n \"application/x-elf\",\n \"application/x-mach-binary\",\n \"application/x-msdownload\",\n \"application/x-shockwave-flash\",\n \"application/rtf\",\n \"application/wasm\",\n \"font/woff\",\n \"font/woff2\",\n \"application/vnd.ms-fontobject\",\n \"font/ttf\",\n \"font/otf\",\n \"font/collection\",\n \"image/x-icon\",\n \"video/x-flv\",\n \"application/postscript\",\n \"application/eps\",\n \"application/x-xz\",\n \"application/x-sqlite3\",\n \"application/x-nintendo-nes-rom\",\n \"application/x-google-chrome-extension\",\n \"application/vnd.ms-cab-compressed\",\n \"application/x-deb\",\n \"application/x-unix-archive\",\n \"application/x-rpm\",\n \"application/x-compress\",\n \"application/x-lzip\",\n \"application/x-cfb\",\n \"application/x-mie\",\n \"application/mxf\",\n \"video/mp2t\",\n \"application/x-blender\",\n \"image/bpg\",\n \"image/j2c\",\n \"image/jp2\",\n \"image/jpx\",\n \"image/jpm\",\n \"image/mj2\",\n \"audio/aiff\",\n \"application/xml\",\n \"application/x-mobipocket-ebook\",\n \"image/heif\",\n \"image/heif-sequence\",\n \"image/heic\",\n \"image/heic-sequence\",\n \"image/icns\",\n \"image/ktx\",\n \"application/dicom\",\n \"audio/x-musepack\",\n \"text/calendar\",\n \"text/vcard\",\n \"text/vtt\",\n \"model/gltf-binary\",\n \"application/vnd.tcpdump.pcap\",\n \"audio/x-dsf\",\n // Non-standard\n \"application/x.ms.shortcut\",\n // Invented by us\n \"application/x.apple.alias\",\n // Invented by us\n \"audio/x-voc\",\n \"audio/vnd.dolby.dd-raw\",\n \"audio/x-m4a\",\n \"image/apng\",\n \"image/x-olympus-orf\",\n \"image/x-sony-arw\",\n \"image/x-adobe-dng\",\n \"image/x-nikon-nef\",\n \"image/x-panasonic-rw2\",\n \"image/x-fujifilm-raf\",\n \"video/x-m4v\",\n \"video/3gpp2\",\n \"application/x-esri-shape\",\n \"audio/aac\",\n \"audio/x-it\",\n \"audio/x-s3m\",\n \"audio/x-xm\",\n \"video/MP1S\",\n \"video/MP2P\",\n \"application/vnd.sketchup.skp\",\n \"image/avif\",\n \"application/x-lzh-compressed\",\n \"application/pgp-encrypted\",\n \"application/x-asar\",\n \"model/stl\",\n \"application/vnd.ms-htmlhelp\",\n \"model/3mf\",\n \"image/jxl\",\n \"application/zstd\",\n \"image/jls\",\n \"application/vnd.ms-outlook\",\n \"image/vnd.dwg\",\n \"application/vnd.apache.parquet\",\n \"application/java-vm\",\n \"application/x-arj\",\n \"application/x-cpio\",\n \"application/x-ace-compressed\",\n \"application/avro\",\n \"application/vnd.iccprofile\",\n \"application/x.autodesk.fbx\",\n // Invented by us\n \"application/vnd.visio\",\n \"application/vnd.android.package-archive\",\n \"application/vnd.google.draco\",\n // Invented by us\n \"application/x-lz4\",\n // Invented by us\n \"application/vnd.openxmlformats-officedocument.presentationml.template\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\",\n \"application/vnd.ms-excel.template.macroenabled.12\",\n \"application/vnd.oasis.opendocument.text-template\",\n \"application/vnd.oasis.opendocument.spreadsheet-template\",\n \"application/vnd.oasis.opendocument.presentation-template\",\n \"application/vnd.oasis.opendocument.graphics\",\n \"application/vnd.oasis.opendocument.graphics-template\",\n \"application/vnd.ms-excel.sheet.macroenabled.12\",\n \"application/vnd.ms-word.document.macroenabled.12\",\n \"application/vnd.ms-word.template.macroenabled.12\",\n \"application/vnd.ms-powerpoint.template.macroenabled.12\",\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\",\n \"application/java-archive\",\n \"application/vnd.rn-realmedia\"\n];\nconst reasonableDetectionSizeInBytes = 4100;\nasync function fileTypeFromBuffer(input, options) {\n return new FileTypeParser(options).fromBuffer(input);\n}\nfunction getFileTypeFromMimeType(mimeType) {\n mimeType = mimeType.toLowerCase();\n switch (mimeType) {\n case \"application/epub+zip\":\n return {\n ext: \"epub\",\n mime: mimeType\n };\n case \"application/vnd.oasis.opendocument.text\":\n return {\n ext: \"odt\",\n mime: mimeType\n };\n case \"application/vnd.oasis.opendocument.text-template\":\n return {\n ext: \"ott\",\n mime: mimeType\n };\n case \"application/vnd.oasis.opendocument.spreadsheet\":\n return {\n ext: \"ods\",\n mime: mimeType\n };\n case \"application/vnd.oasis.opendocument.spreadsheet-template\":\n return {\n ext: \"ots\",\n mime: mimeType\n };\n case \"application/vnd.oasis.opendocument.presentation\":\n return {\n ext: \"odp\",\n mime: mimeType\n };\n case \"application/vnd.oasis.opendocument.presentation-template\":\n return {\n ext: \"otp\",\n mime: mimeType\n };\n case \"application/vnd.oasis.opendocument.graphics\":\n return {\n ext: \"odg\",\n mime: mimeType\n };\n case \"application/vnd.oasis.opendocument.graphics-template\":\n return {\n ext: \"otg\",\n mime: mimeType\n };\n case \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":\n return {\n ext: \"ppsx\",\n mime: mimeType\n };\n case \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":\n return {\n ext: \"xlsx\",\n mime: mimeType\n };\n case \"application/vnd.ms-excel.sheet.macroenabled\":\n return {\n ext: \"xlsm\",\n mime: \"application/vnd.ms-excel.sheet.macroenabled.12\"\n };\n case \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":\n return {\n ext: \"xltx\",\n mime: mimeType\n };\n case \"application/vnd.ms-excel.template.macroenabled\":\n return {\n ext: \"xltm\",\n mime: \"application/vnd.ms-excel.template.macroenabled.12\"\n };\n case \"application/vnd.ms-powerpoint.slideshow.macroenabled\":\n return {\n ext: \"ppsm\",\n mime: \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\"\n };\n case \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":\n return {\n ext: \"docx\",\n mime: mimeType\n };\n case \"application/vnd.ms-word.document.macroenabled\":\n return {\n ext: \"docm\",\n mime: \"application/vnd.ms-word.document.macroenabled.12\"\n };\n case \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":\n return {\n ext: \"dotx\",\n mime: mimeType\n };\n case \"application/vnd.ms-word.template.macroenabledtemplate\":\n return {\n ext: \"dotm\",\n mime: \"application/vnd.ms-word.template.macroenabled.12\"\n };\n case \"application/vnd.openxmlformats-officedocument.presentationml.template\":\n return {\n ext: \"potx\",\n mime: mimeType\n };\n case \"application/vnd.ms-powerpoint.template.macroenabled\":\n return {\n ext: \"potm\",\n mime: \"application/vnd.ms-powerpoint.template.macroenabled.12\"\n };\n case \"application/vnd.openxmlformats-officedocument.presentationml.presentation\":\n return {\n ext: \"pptx\",\n mime: mimeType\n };\n case \"application/vnd.ms-powerpoint.presentation.macroenabled\":\n return {\n ext: \"pptm\",\n mime: \"application/vnd.ms-powerpoint.presentation.macroenabled.12\"\n };\n case \"application/vnd.ms-visio.drawing\":\n return {\n ext: \"vsdx\",\n mime: \"application/vnd.visio\"\n };\n case \"application/vnd.ms-package.3dmanufacturing-3dmodel+xml\":\n return {\n ext: \"3mf\",\n mime: \"model/3mf\"\n };\n }\n}\nfunction _check(buffer2, headers, options) {\n options = {\n offset: 0,\n ...options\n };\n for (const [index, header] of headers.entries()) {\n if (options.mask) {\n if (header !== (options.mask[index] & buffer2[index + options.offset])) {\n return false;\n }\n } else if (header !== buffer2[index + options.offset]) {\n return false;\n }\n }\n return true;\n}\nclass FileTypeParser {\n constructor(options) {\n // Detections with a high degree of certainty in identifying the correct file type\n __publicField(this, \"detectConfident\", async (tokenizer) => {\n this.buffer = new Uint8Array(reasonableDetectionSizeInBytes);\n if (tokenizer.fileInfo.size === void 0) {\n tokenizer.fileInfo.size = Number.MAX_SAFE_INTEGER;\n }\n this.tokenizer = tokenizer;\n await tokenizer.peekBuffer(this.buffer, { length: 12, mayBeLess: true });\n if (this.check([66, 77])) {\n return {\n ext: \"bmp\",\n mime: \"image/bmp\"\n };\n }\n if (this.check([11, 119])) {\n return {\n ext: \"ac3\",\n mime: \"audio/vnd.dolby.dd-raw\"\n };\n }\n if (this.check([120, 1])) {\n return {\n ext: \"dmg\",\n mime: \"application/x-apple-diskimage\"\n };\n }\n if (this.check([77, 90])) {\n return {\n ext: \"exe\",\n mime: \"application/x-msdownload\"\n };\n }\n if (this.check([37, 33])) {\n await tokenizer.peekBuffer(this.buffer, { length: 24, mayBeLess: true });\n if (this.checkString(\"PS-Adobe-\", { offset: 2 }) && this.checkString(\" EPSF-\", { offset: 14 })) {\n return {\n ext: \"eps\",\n mime: \"application/eps\"\n };\n }\n return {\n ext: \"ps\",\n mime: \"application/postscript\"\n };\n }\n if (this.check([31, 160]) || this.check([31, 157])) {\n return {\n ext: \"Z\",\n mime: \"application/x-compress\"\n };\n }\n if (this.check([199, 113])) {\n return {\n ext: \"cpio\",\n mime: \"application/x-cpio\"\n };\n }\n if (this.check([96, 234])) {\n return {\n ext: \"arj\",\n mime: \"application/x-arj\"\n };\n }\n if (this.check([239, 187, 191])) {\n this.tokenizer.ignore(3);\n return this.detectConfident(tokenizer);\n }\n if (this.check([71, 73, 70])) {\n return {\n ext: \"gif\",\n mime: \"image/gif\"\n };\n }\n if (this.check([73, 73, 188])) {\n return {\n ext: \"jxr\",\n mime: \"image/vnd.ms-photo\"\n };\n }\n if (this.check([31, 139, 8])) {\n return {\n ext: \"gz\",\n mime: \"application/gzip\"\n };\n }\n if (this.check([66, 90, 104])) {\n return {\n ext: \"bz2\",\n mime: \"application/x-bzip2\"\n };\n }\n if (this.checkString(\"ID3\")) {\n await tokenizer.ignore(6);\n const id3HeaderLength = await tokenizer.readToken(uint32SyncSafeToken);\n if (tokenizer.position + id3HeaderLength > tokenizer.fileInfo.size) {\n return {\n ext: \"mp3\",\n mime: \"audio/mpeg\"\n };\n }\n await tokenizer.ignore(id3HeaderLength);\n return this.fromTokenizer(tokenizer);\n }\n if (this.checkString(\"MP+\")) {\n return {\n ext: \"mpc\",\n mime: \"audio/x-musepack\"\n };\n }\n if ((this.buffer[0] === 67 || this.buffer[0] === 70) && this.check([87, 83], { offset: 1 })) {\n return {\n ext: \"swf\",\n mime: \"application/x-shockwave-flash\"\n };\n }\n if (this.check([255, 216, 255])) {\n if (this.check([247], { offset: 3 })) {\n return {\n ext: \"jls\",\n mime: \"image/jls\"\n };\n }\n return {\n ext: \"jpg\",\n mime: \"image/jpeg\"\n };\n }\n if (this.check([79, 98, 106, 1])) {\n return {\n ext: \"avro\",\n mime: \"application/avro\"\n };\n }\n if (this.checkString(\"FLIF\")) {\n return {\n ext: \"flif\",\n mime: \"image/flif\"\n };\n }\n if (this.checkString(\"8BPS\")) {\n return {\n ext: \"psd\",\n mime: \"image/vnd.adobe.photoshop\"\n };\n }\n if (this.checkString(\"MPCK\")) {\n return {\n ext: \"mpc\",\n mime: \"audio/x-musepack\"\n };\n }\n if (this.checkString(\"FORM\")) {\n return {\n ext: \"aif\",\n mime: \"audio/aiff\"\n };\n }\n if (this.checkString(\"icns\", { offset: 0 })) {\n return {\n ext: \"icns\",\n mime: \"image/icns\"\n };\n }\n if (this.check([80, 75, 3, 4])) {\n let fileType;\n await new ZipHandler(tokenizer).unzip((zipHeader) => {\n switch (zipHeader.filename) {\n case \"META-INF/mozilla.rsa\":\n fileType = {\n ext: \"xpi\",\n mime: \"application/x-xpinstall\"\n };\n return {\n stop: true\n };\n case \"META-INF/MANIFEST.MF\":\n fileType = {\n ext: \"jar\",\n mime: \"application/java-archive\"\n };\n return {\n stop: true\n };\n case \"mimetype\":\n return {\n async handler(fileData) {\n const mimeType = new TextDecoder(\"utf-8\").decode(fileData).trim();\n fileType = getFileTypeFromMimeType(mimeType);\n },\n stop: true\n };\n case \"[Content_Types].xml\":\n return {\n async handler(fileData) {\n let xmlContent = new TextDecoder(\"utf-8\").decode(fileData);\n const endPos = xmlContent.indexOf('.main+xml\"');\n if (endPos === -1) {\n const mimeType = \"application/vnd.ms-package.3dmanufacturing-3dmodel+xml\";\n if (xmlContent.includes(`ContentType=\"${mimeType}\"`)) {\n fileType = getFileTypeFromMimeType(mimeType);\n }\n } else {\n xmlContent = xmlContent.slice(0, Math.max(0, endPos));\n const firstPos = xmlContent.lastIndexOf('\"');\n const mimeType = xmlContent.slice(Math.max(0, firstPos + 1));\n fileType = getFileTypeFromMimeType(mimeType);\n }\n },\n stop: true\n };\n default:\n if (/classes\\d*\\.dex/.test(zipHeader.filename)) {\n fileType = {\n ext: \"apk\",\n mime: \"application/vnd.android.package-archive\"\n };\n return { stop: true };\n }\n return {};\n }\n });\n return fileType ?? {\n ext: \"zip\",\n mime: \"application/zip\"\n };\n }\n if (this.checkString(\"OggS\")) {\n await tokenizer.ignore(28);\n const type = new Uint8Array(8);\n await tokenizer.readBuffer(type);\n if (_check(type, [79, 112, 117, 115, 72, 101, 97, 100])) {\n return {\n ext: \"opus\",\n mime: \"audio/ogg; codecs=opus\"\n };\n }\n if (_check(type, [128, 116, 104, 101, 111, 114, 97])) {\n return {\n ext: \"ogv\",\n mime: \"video/ogg\"\n };\n }\n if (_check(type, [1, 118, 105, 100, 101, 111, 0])) {\n return {\n ext: \"ogm\",\n mime: \"video/ogg\"\n };\n }\n if (_check(type, [127, 70, 76, 65, 67])) {\n return {\n ext: \"oga\",\n mime: \"audio/ogg\"\n };\n }\n if (_check(type, [83, 112, 101, 101, 120, 32, 32])) {\n return {\n ext: \"spx\",\n mime: \"audio/ogg\"\n };\n }\n if (_check(type, [1, 118, 111, 114, 98, 105, 115])) {\n return {\n ext: \"ogg\",\n mime: \"audio/ogg\"\n };\n }\n return {\n ext: \"ogx\",\n mime: \"application/ogg\"\n };\n }\n if (this.check([80, 75]) && (this.buffer[2] === 3 || this.buffer[2] === 5 || this.buffer[2] === 7) && (this.buffer[3] === 4 || this.buffer[3] === 6 || this.buffer[3] === 8)) {\n return {\n ext: \"zip\",\n mime: \"application/zip\"\n };\n }\n if (this.checkString(\"MThd\")) {\n return {\n ext: \"mid\",\n mime: \"audio/midi\"\n };\n }\n if (this.checkString(\"wOFF\") && (this.check([0, 1, 0, 0], { offset: 4 }) || this.checkString(\"OTTO\", { offset: 4 }))) {\n return {\n ext: \"woff\",\n mime: \"font/woff\"\n };\n }\n if (this.checkString(\"wOF2\") && (this.check([0, 1, 0, 0], { offset: 4 }) || this.checkString(\"OTTO\", { offset: 4 }))) {\n return {\n ext: \"woff2\",\n mime: \"font/woff2\"\n };\n }\n if (this.check([212, 195, 178, 161]) || this.check([161, 178, 195, 212])) {\n return {\n ext: \"pcap\",\n mime: \"application/vnd.tcpdump.pcap\"\n };\n }\n if (this.checkString(\"DSD \")) {\n return {\n ext: \"dsf\",\n mime: \"audio/x-dsf\"\n // Non-standard\n };\n }\n if (this.checkString(\"LZIP\")) {\n return {\n ext: \"lz\",\n mime: \"application/x-lzip\"\n };\n }\n if (this.checkString(\"fLaC\")) {\n return {\n ext: \"flac\",\n mime: \"audio/flac\"\n };\n }\n if (this.check([66, 80, 71, 251])) {\n return {\n ext: \"bpg\",\n mime: \"image/bpg\"\n };\n }\n if (this.checkString(\"wvpk\")) {\n return {\n ext: \"wv\",\n mime: \"audio/wavpack\"\n };\n }\n if (this.checkString(\"%PDF\")) {\n return {\n ext: \"pdf\",\n mime: \"application/pdf\"\n };\n }\n if (this.check([0, 97, 115, 109])) {\n return {\n ext: \"wasm\",\n mime: \"application/wasm\"\n };\n }\n if (this.check([73, 73])) {\n const fileType = await this.readTiffHeader(false);\n if (fileType) {\n return fileType;\n }\n }\n if (this.check([77, 77])) {\n const fileType = await this.readTiffHeader(true);\n if (fileType) {\n return fileType;\n }\n }\n if (this.checkString(\"MAC \")) {\n return {\n ext: \"ape\",\n mime: \"audio/ape\"\n };\n }\n if (this.check([26, 69, 223, 163])) {\n async function readField() {\n const msb = await tokenizer.peekNumber(UINT8);\n let mask = 128;\n let ic = 0;\n while ((msb & mask) === 0 && mask !== 0) {\n ++ic;\n mask >>= 1;\n }\n const id = new Uint8Array(ic + 1);\n await tokenizer.readBuffer(id);\n return id;\n }\n async function readElement() {\n const idField = await readField();\n const lengthField = await readField();\n lengthField[0] ^= 128 >> lengthField.length - 1;\n const nrLength = Math.min(6, lengthField.length);\n const idView = new DataView(idField.buffer);\n const lengthView = new DataView(lengthField.buffer, lengthField.length - nrLength, nrLength);\n return {\n id: getUintBE(idView),\n len: getUintBE(lengthView)\n };\n }\n async function readChildren(children) {\n while (children > 0) {\n const element = await readElement();\n if (element.id === 17026) {\n const rawValue = await tokenizer.readToken(new StringType(element.len));\n return rawValue.replaceAll(/\\00.*$/g, \"\");\n }\n await tokenizer.ignore(element.len);\n --children;\n }\n }\n const re2 = await readElement();\n const documentType = await readChildren(re2.len);\n switch (documentType) {\n case \"webm\":\n return {\n ext: \"webm\",\n mime: \"video/webm\"\n };\n case \"matroska\":\n return {\n ext: \"mkv\",\n mime: \"video/matroska\"\n };\n default:\n return;\n }\n }\n if (this.checkString(\"SQLi\")) {\n return {\n ext: \"sqlite\",\n mime: \"application/x-sqlite3\"\n };\n }\n if (this.check([78, 69, 83, 26])) {\n return {\n ext: \"nes\",\n mime: \"application/x-nintendo-nes-rom\"\n };\n }\n if (this.checkString(\"Cr24\")) {\n return {\n ext: \"crx\",\n mime: \"application/x-google-chrome-extension\"\n };\n }\n if (this.checkString(\"MSCF\") || this.checkString(\"ISc(\")) {\n return {\n ext: \"cab\",\n mime: \"application/vnd.ms-cab-compressed\"\n };\n }\n if (this.check([237, 171, 238, 219])) {\n return {\n ext: \"rpm\",\n mime: \"application/x-rpm\"\n };\n }\n if (this.check([197, 208, 211, 198])) {\n return {\n ext: \"eps\",\n mime: \"application/eps\"\n };\n }\n if (this.check([40, 181, 47, 253])) {\n return {\n ext: \"zst\",\n mime: \"application/zstd\"\n };\n }\n if (this.check([127, 69, 76, 70])) {\n return {\n ext: \"elf\",\n mime: \"application/x-elf\"\n };\n }\n if (this.check([33, 66, 68, 78])) {\n return {\n ext: \"pst\",\n mime: \"application/vnd.ms-outlook\"\n };\n }\n if (this.checkString(\"PAR1\") || this.checkString(\"PARE\")) {\n return {\n ext: \"parquet\",\n mime: \"application/vnd.apache.parquet\"\n };\n }\n if (this.checkString(\"ttcf\")) {\n return {\n ext: \"ttc\",\n mime: \"font/collection\"\n };\n }\n if (this.check([207, 250, 237, 254])) {\n return {\n ext: \"macho\",\n mime: \"application/x-mach-binary\"\n };\n }\n if (this.check([4, 34, 77, 24])) {\n return {\n ext: \"lz4\",\n mime: \"application/x-lz4\"\n // Invented by us\n };\n }\n if (this.check([79, 84, 84, 79, 0])) {\n return {\n ext: \"otf\",\n mime: \"font/otf\"\n };\n }\n if (this.checkString(\"#!AMR\")) {\n return {\n ext: \"amr\",\n mime: \"audio/amr\"\n };\n }\n if (this.checkString(\"{\\\\rtf\")) {\n return {\n ext: \"rtf\",\n mime: \"application/rtf\"\n };\n }\n if (this.check([70, 76, 86, 1])) {\n return {\n ext: \"flv\",\n mime: \"video/x-flv\"\n };\n }\n if (this.checkString(\"IMPM\")) {\n return {\n ext: \"it\",\n mime: \"audio/x-it\"\n };\n }\n if (this.checkString(\"-lh0-\", { offset: 2 }) || this.checkString(\"-lh1-\", { offset: 2 }) || this.checkString(\"-lh2-\", { offset: 2 }) || this.checkString(\"-lh3-\", { offset: 2 }) || this.checkString(\"-lh4-\", { offset: 2 }) || this.checkString(\"-lh5-\", { offset: 2 }) || this.checkString(\"-lh6-\", { offset: 2 }) || this.checkString(\"-lh7-\", { offset: 2 }) || this.checkString(\"-lzs-\", { offset: 2 }) || this.checkString(\"-lz4-\", { offset: 2 }) || this.checkString(\"-lz5-\", { offset: 2 }) || this.checkString(\"-lhd-\", { offset: 2 })) {\n return {\n ext: \"lzh\",\n mime: \"application/x-lzh-compressed\"\n };\n }\n if (this.check([0, 0, 1, 186])) {\n if (this.check([33], { offset: 4, mask: [241] })) {\n return {\n ext: \"mpg\",\n // May also be .ps, .mpeg\n mime: \"video/MP1S\"\n };\n }\n if (this.check([68], { offset: 4, mask: [196] })) {\n return {\n ext: \"mpg\",\n // May also be .mpg, .m2p, .vob or .sub\n mime: \"video/MP2P\"\n };\n }\n }\n if (this.checkString(\"ITSF\")) {\n return {\n ext: \"chm\",\n mime: \"application/vnd.ms-htmlhelp\"\n };\n }\n if (this.check([202, 254, 186, 190])) {\n return {\n ext: \"class\",\n mime: \"application/java-vm\"\n };\n }\n if (this.checkString(\".RMF\")) {\n return {\n ext: \"rm\",\n mime: \"application/vnd.rn-realmedia\"\n };\n }\n if (this.checkString(\"DRACO\")) {\n return {\n ext: \"drc\",\n mime: \"application/vnd.google.draco\"\n // Invented by us\n };\n }\n if (this.check([253, 55, 122, 88, 90, 0])) {\n return {\n ext: \"xz\",\n mime: \"application/x-xz\"\n };\n }\n if (this.checkString(\"<?xml \")) {\n return {\n ext: \"xml\",\n mime: \"application/xml\"\n };\n }\n if (this.check([55, 122, 188, 175, 39, 28])) {\n return {\n ext: \"7z\",\n mime: \"application/x-7z-compressed\"\n };\n }\n if (this.check([82, 97, 114, 33, 26, 7]) && (this.buffer[6] === 0 || this.buffer[6] === 1)) {\n return {\n ext: \"rar\",\n mime: \"application/x-rar-compressed\"\n };\n }\n if (this.checkString(\"solid \")) {\n return {\n ext: \"stl\",\n mime: \"model/stl\"\n };\n }\n if (this.checkString(\"AC\")) {\n const version = new StringType(4, \"latin1\").get(this.buffer, 2);\n if (version.match(\"^d*\") && version >= 1e3 && version <= 1050) {\n return {\n ext: \"dwg\",\n mime: \"image/vnd.dwg\"\n };\n }\n }\n if (this.checkString(\"070707\")) {\n return {\n ext: \"cpio\",\n mime: \"application/x-cpio\"\n };\n }\n if (this.checkString(\"BLENDER\")) {\n return {\n ext: \"blend\",\n mime: \"application/x-blender\"\n };\n }\n if (this.checkString(\"!<arch>\")) {\n await tokenizer.ignore(8);\n const string = await tokenizer.readToken(new StringType(13, \"ascii\"));\n if (string === \"debian-binary\") {\n return {\n ext: \"deb\",\n mime: \"application/x-deb\"\n };\n }\n return {\n ext: \"ar\",\n mime: \"application/x-unix-archive\"\n };\n }\n if (this.checkString(\"WEBVTT\") && // One of LF, CR, tab, space, or end of file must follow \"WEBVTT\" per the spec (see `fixture/fixture-vtt-*.vtt` for examples). Note that `\\0` is technically the null character (there is no such thing as an EOF character). However, checking for `\\0` gives us the same result as checking for the end of the stream.\n [\"\\n\", \"\\r\", \"\t\", \" \", \"\\0\"].some((char7) => this.checkString(char7, { offset: 6 }))) {\n return {\n ext: \"vtt\",\n mime: \"text/vtt\"\n };\n }\n if (this.check([137, 80, 78, 71, 13, 10, 26, 10])) {\n await tokenizer.ignore(8);\n async function readChunkHeader() {\n return {\n length: await tokenizer.readToken(INT32_BE),\n type: await tokenizer.readToken(new StringType(4, \"latin1\"))\n };\n }\n do {\n const chunk = await readChunkHeader();\n if (chunk.length < 0) {\n return;\n }\n switch (chunk.type) {\n case \"IDAT\":\n return {\n ext: \"png\",\n mime: \"image/png\"\n };\n case \"acTL\":\n return {\n ext: \"apng\",\n mime: \"image/apng\"\n };\n default:\n await tokenizer.ignore(chunk.length + 4);\n }\n } while (tokenizer.position + 8 < tokenizer.fileInfo.size);\n return {\n ext: \"png\",\n mime: \"image/png\"\n };\n }\n if (this.check([65, 82, 82, 79, 87, 49, 0, 0])) {\n return {\n ext: \"arrow\",\n mime: \"application/vnd.apache.arrow.file\"\n };\n }\n if (this.check([103, 108, 84, 70, 2, 0, 0, 0])) {\n return {\n ext: \"glb\",\n mime: \"model/gltf-binary\"\n };\n }\n if (this.check([102, 114, 101, 101], { offset: 4 }) || this.check([109, 100, 97, 116], { offset: 4 }) || this.check([109, 111, 111, 118], { offset: 4 }) || this.check([119, 105, 100, 101], { offset: 4 })) {\n return {\n ext: \"mov\",\n mime: \"video/quicktime\"\n };\n }\n if (this.check([73, 73, 82, 79, 8, 0, 0, 0, 24])) {\n return {\n ext: \"orf\",\n mime: \"image/x-olympus-orf\"\n };\n }\n if (this.checkString(\"gimp xcf \")) {\n return {\n ext: \"xcf\",\n mime: \"image/x-xcf\"\n };\n }\n if (this.checkString(\"ftyp\", { offset: 4 }) && (this.buffer[8] & 96) !== 0) {\n const brandMajor = new StringType(4, \"latin1\").get(this.buffer, 8).replace(\"\\0\", \" \").trim();\n switch (brandMajor) {\n case \"avif\":\n case \"avis\":\n return { ext: \"avif\", mime: \"image/avif\" };\n case \"mif1\":\n return { ext: \"heic\", mime: \"image/heif\" };\n case \"msf1\":\n return { ext: \"heic\", mime: \"image/heif-sequence\" };\n case \"heic\":\n case \"heix\":\n return { ext: \"heic\", mime: \"image/heic\" };\n case \"hevc\":\n case \"hevx\":\n return { ext: \"heic\", mime: \"image/heic-sequence\" };\n case \"qt\":\n return { ext: \"mov\", mime: \"video/quicktime\" };\n case \"M4V\":\n case \"M4VH\":\n case \"M4VP\":\n return { ext: \"m4v\", mime: \"video/x-m4v\" };\n case \"M4P\":\n return { ext: \"m4p\", mime: \"video/mp4\" };\n case \"M4B\":\n return { ext: \"m4b\", mime: \"audio/mp4\" };\n case \"M4A\":\n return { ext: \"m4a\", mime: \"audio/x-m4a\" };\n case \"F4V\":\n return { ext: \"f4v\", mime: \"video/mp4\" };\n case \"F4P\":\n return { ext: \"f4p\", mime: \"video/mp4\" };\n case \"F4A\":\n return { ext: \"f4a\", mime: \"audio/mp4\" };\n case \"F4B\":\n return { ext: \"f4b\", mime: \"audio/mp4\" };\n case \"crx\":\n return { ext: \"cr3\", mime: \"image/x-canon-cr3\" };\n default:\n if (brandMajor.startsWith(\"3g\")) {\n if (brandMajor.startsWith(\"3g2\")) {\n return { ext: \"3g2\", mime: \"video/3gpp2\" };\n }\n return { ext: \"3gp\", mime: \"video/3gpp\" };\n }\n return { ext: \"mp4\", mime: \"video/mp4\" };\n }\n }\n if (this.check([82, 73, 70, 70])) {\n if (this.checkString(\"WEBP\", { offset: 8 })) {\n return {\n ext: \"webp\",\n mime: \"image/webp\"\n };\n }\n if (this.check([65, 86, 73], { offset: 8 })) {\n return {\n ext: \"avi\",\n mime: \"video/vnd.avi\"\n };\n }\n if (this.check([87, 65, 86, 69], { offset: 8 })) {\n return {\n ext: \"wav\",\n mime: \"audio/wav\"\n };\n }\n if (this.check([81, 76, 67, 77], { offset: 8 })) {\n return {\n ext: \"qcp\",\n mime: \"audio/qcelp\"\n };\n }\n }\n if (this.check([73, 73, 85, 0, 24, 0, 0, 0, 136, 231, 116, 216])) {\n return {\n ext: \"rw2\",\n mime: \"image/x-panasonic-rw2\"\n };\n }\n if (this.check([48, 38, 178, 117, 142, 102, 207, 17, 166, 217])) {\n async function readHeader() {\n const guid = new Uint8Array(16);\n await tokenizer.readBuffer(guid);\n return {\n id: guid,\n size: Number(await tokenizer.readToken(UINT64_LE))\n };\n }\n await tokenizer.ignore(30);\n while (tokenizer.position + 24 < tokenizer.fileInfo.size) {\n const header = await readHeader();\n let payload = header.size - 24;\n if (_check(header.id, [145, 7, 220, 183, 183, 169, 207, 17, 142, 230, 0, 192, 12, 32, 83, 101])) {\n const typeId = new Uint8Array(16);\n payload -= await tokenizer.readBuffer(typeId);\n if (_check(typeId, [64, 158, 105, 248, 77, 91, 207, 17, 168, 253, 0, 128, 95, 92, 68, 43])) {\n return {\n ext: \"asf\",\n mime: \"audio/x-ms-asf\"\n };\n }\n if (_check(typeId, [192, 239, 25, 188, 77, 91, 207, 17, 168, 253, 0, 128, 95, 92, 68, 43])) {\n return {\n ext: \"asf\",\n mime: \"video/x-ms-asf\"\n };\n }\n break;\n }\n await tokenizer.ignore(payload);\n }\n return {\n ext: \"asf\",\n mime: \"application/vnd.ms-asf\"\n };\n }\n if (this.check([171, 75, 84, 88, 32, 49, 49, 187, 13, 10, 26, 10])) {\n return {\n ext: \"ktx\",\n mime: \"image/ktx\"\n };\n }\n if ((this.check([126, 16, 4]) || this.check([126, 24, 4])) && this.check([48, 77, 73, 69], { offset: 4 })) {\n return {\n ext: \"mie\",\n mime: \"application/x-mie\"\n };\n }\n if (this.check([39, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], { offset: 2 })) {\n return {\n ext: \"shp\",\n mime: \"application/x-esri-shape\"\n };\n }\n if (this.check([255, 79, 255, 81])) {\n return {\n ext: \"j2c\",\n mime: \"image/j2c\"\n };\n }\n if (this.check([0, 0, 0, 12, 106, 80, 32, 32, 13, 10, 135, 10])) {\n await tokenizer.ignore(20);\n const type = await tokenizer.readToken(new StringType(4, \"ascii\"));\n switch (type) {\n case \"jp2 \":\n return {\n ext: \"jp2\",\n mime: \"image/jp2\"\n };\n case \"jpx \":\n return {\n ext: \"jpx\",\n mime: \"image/jpx\"\n };\n case \"jpm \":\n return {\n ext: \"jpm\",\n mime: \"image/jpm\"\n };\n case \"mjp2\":\n return {\n ext: \"mj2\",\n mime: \"image/mj2\"\n };\n default:\n return;\n }\n }\n if (this.check([255, 10]) || this.check([0, 0, 0, 12, 74, 88, 76, 32, 13, 10, 135, 10])) {\n return {\n ext: \"jxl\",\n mime: \"image/jxl\"\n };\n }\n if (this.check([254, 255])) {\n if (this.check([0, 60, 0, 63, 0, 120, 0, 109, 0, 108], { offset: 2 })) {\n return {\n ext: \"xml\",\n mime: \"application/xml\"\n };\n }\n return void 0;\n }\n if (this.check([208, 207, 17, 224, 161, 177, 26, 225])) {\n return {\n ext: \"cfb\",\n mime: \"application/x-cfb\"\n };\n }\n await tokenizer.peekBuffer(this.buffer, { length: Math.min(256, tokenizer.fileInfo.size), mayBeLess: true });\n if (this.check([97, 99, 115, 112], { offset: 36 })) {\n return {\n ext: \"icc\",\n mime: \"application/vnd.iccprofile\"\n };\n }\n if (this.checkString(\"**ACE\", { offset: 7 }) && this.checkString(\"**\", { offset: 12 })) {\n return {\n ext: \"ace\",\n mime: \"application/x-ace-compressed\"\n };\n }\n if (this.checkString(\"BEGIN:\")) {\n if (this.checkString(\"VCARD\", { offset: 6 })) {\n return {\n ext: \"vcf\",\n mime: \"text/vcard\"\n };\n }\n if (this.checkString(\"VCALENDAR\", { offset: 6 })) {\n return {\n ext: \"ics\",\n mime: \"text/calendar\"\n };\n }\n }\n if (this.checkString(\"FUJIFILMCCD-RAW\")) {\n return {\n ext: \"raf\",\n mime: \"image/x-fujifilm-raf\"\n };\n }\n if (this.checkString(\"Extended Module:\")) {\n return {\n ext: \"xm\",\n mime: \"audio/x-xm\"\n };\n }\n if (this.checkString(\"Creative Voice File\")) {\n return {\n ext: \"voc\",\n mime: \"audio/x-voc\"\n };\n }\n if (this.check([4, 0, 0, 0]) && this.buffer.length >= 16) {\n const jsonSize = new DataView(this.buffer.buffer).getUint32(12, true);\n if (jsonSize > 12 && this.buffer.length >= jsonSize + 16) {\n try {\n const header = new TextDecoder().decode(this.buffer.subarray(16, jsonSize + 16));\n const json = JSON.parse(header);\n if (json.files) {\n return {\n ext: \"asar\",\n mime: \"application/x-asar\"\n };\n }\n } catch {\n }\n }\n }\n if (this.check([6, 14, 43, 52, 2, 5, 1, 1, 13, 1, 2, 1, 1, 2])) {\n return {\n ext: \"mxf\",\n mime: \"application/mxf\"\n };\n }\n if (this.checkString(\"SCRM\", { offset: 44 })) {\n return {\n ext: \"s3m\",\n mime: \"audio/x-s3m\"\n };\n }\n if (this.check([71]) && this.check([71], { offset: 188 })) {\n return {\n ext: \"mts\",\n mime: \"video/mp2t\"\n };\n }\n if (this.check([71], { offset: 4 }) && this.check([71], { offset: 196 })) {\n return {\n ext: \"mts\",\n mime: \"video/mp2t\"\n };\n }\n if (this.check([66, 79, 79, 75, 77, 79, 66, 73], { offset: 60 })) {\n return {\n ext: \"mobi\",\n mime: \"application/x-mobipocket-ebook\"\n };\n }\n if (this.check([68, 73, 67, 77], { offset: 128 })) {\n return {\n ext: \"dcm\",\n mime: \"application/dicom\"\n };\n }\n if (this.check([76, 0, 0, 0, 1, 20, 2, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70])) {\n return {\n ext: \"lnk\",\n mime: \"application/x.ms.shortcut\"\n // Invented by us\n };\n }\n if (this.check([98, 111, 111, 107, 0, 0, 0, 0, 109, 97, 114, 107, 0, 0, 0, 0])) {\n return {\n ext: \"alias\",\n mime: \"application/x.apple.alias\"\n // Invented by us\n };\n }\n if (this.checkString(\"Kaydara FBX Binary \\0\")) {\n return {\n ext: \"fbx\",\n mime: \"application/x.autodesk.fbx\"\n // Invented by us\n };\n }\n if (this.check([76, 80], { offset: 34 }) && (this.check([0, 0, 1], { offset: 8 }) || this.check([1, 0, 2], { offset: 8 }) || this.check([2, 0, 2], { offset: 8 }))) {\n return {\n ext: \"eot\",\n mime: \"application/vnd.ms-fontobject\"\n };\n }\n if (this.check([6, 6, 237, 245, 216, 29, 70, 229, 189, 49, 239, 231, 254, 116, 183, 29])) {\n return {\n ext: \"indd\",\n mime: \"application/x-indesign\"\n };\n }\n await tokenizer.peekBuffer(this.buffer, { length: Math.min(512, tokenizer.fileInfo.size), mayBeLess: true });\n if (this.checkString(\"ustar\", { offset: 257 }) && (this.checkString(\"\\0\", { offset: 262 }) || this.checkString(\" \", { offset: 262 })) || this.check([0, 0, 0, 0, 0, 0], { offset: 257 }) && tarHeaderChecksumMatches(this.buffer)) {\n return {\n ext: \"tar\",\n mime: \"application/x-tar\"\n };\n }\n if (this.check([255, 254])) {\n if (this.check([60, 0, 63, 0, 120, 0, 109, 0, 108, 0], { offset: 2 })) {\n return {\n ext: \"xml\",\n mime: \"application/xml\"\n };\n }\n if (this.check([255, 14, 83, 0, 107, 0, 101, 0, 116, 0, 99, 0, 104, 0, 85, 0, 112, 0, 32, 0, 77, 0, 111, 0, 100, 0, 101, 0, 108, 0], { offset: 2 })) {\n return {\n ext: \"skp\",\n mime: \"application/vnd.sketchup.skp\"\n };\n }\n return void 0;\n }\n if (this.checkString(\"-----BEGIN PGP MESSAGE-----\")) {\n return {\n ext: \"pgp\",\n mime: \"application/pgp-encrypted\"\n };\n }\n });\n // Detections with limited supporting data, resulting in a higher likelihood of false positives\n __publicField(this, \"detectImprecise\", async (tokenizer) => {\n this.buffer = new Uint8Array(reasonableDetectionSizeInBytes);\n await tokenizer.peekBuffer(this.buffer, { length: Math.min(8, tokenizer.fileInfo.size), mayBeLess: true });\n if (this.check([0, 0, 1, 186]) || this.check([0, 0, 1, 179])) {\n return {\n ext: \"mpg\",\n mime: \"video/mpeg\"\n };\n }\n if (this.check([0, 1, 0, 0, 0])) {\n return {\n ext: \"ttf\",\n mime: \"font/ttf\"\n };\n }\n if (this.check([0, 0, 1, 0])) {\n return {\n ext: \"ico\",\n mime: \"image/x-icon\"\n };\n }\n if (this.check([0, 0, 2, 0])) {\n return {\n ext: \"cur\",\n mime: \"image/x-icon\"\n };\n }\n await tokenizer.peekBuffer(this.buffer, { length: Math.min(2 + this.options.mpegOffsetTolerance, tokenizer.fileInfo.size), mayBeLess: true });\n if (this.buffer.length >= 2 + this.options.mpegOffsetTolerance) {\n for (let depth = 0; depth <= this.options.mpegOffsetTolerance; ++depth) {\n const type = this.scanMpeg(depth);\n if (type) {\n return type;\n }\n }\n }\n });\n this.options = {\n mpegOffsetTolerance: 0,\n ...options\n };\n this.detectors = [\n ...(options == null ? void 0 : options.customDetectors) ?? [],\n { id: \"core\", detect: this.detectConfident },\n { id: \"core.imprecise\", detect: this.detectImprecise }\n ];\n this.tokenizerOptions = {\n abortSignal: options == null ? void 0 : options.signal\n };\n }\n async fromTokenizer(tokenizer) {\n const initialPosition = tokenizer.position;\n for (const detector of this.detectors) {\n const fileType = await detector.detect(tokenizer);\n if (fileType) {\n return fileType;\n }\n if (initialPosition !== tokenizer.position) {\n return void 0;\n }\n }\n }\n async fromBuffer(input) {\n if (!(input instanceof Uint8Array || input instanceof ArrayBuffer)) {\n throw new TypeError(`Expected the \\`input\\` argument to be of type \\`Uint8Array\\` or \\`ArrayBuffer\\`, got \\`${typeof input}\\``);\n }\n const buffer2 = input instanceof Uint8Array ? input : new Uint8Array(input);\n if (!((buffer2 == null ? void 0 : buffer2.length) > 1)) {\n return;\n }\n return this.fromTokenizer(fromBuffer(buffer2, this.tokenizerOptions));\n }\n async fromBlob(blob) {\n return this.fromStream(blob.stream());\n }\n async fromStream(stream) {\n const tokenizer = await fromWebStream(stream, this.tokenizerOptions);\n try {\n return await this.fromTokenizer(tokenizer);\n } finally {\n await tokenizer.close();\n }\n }\n async toDetectionStream(stream, options) {\n const { sampleSize = reasonableDetectionSizeInBytes } = options;\n let detectedFileType;\n let firstChunk;\n const reader = stream.getReader({ mode: \"byob\" });\n try {\n const { value: chunk, done } = await reader.read(new Uint8Array(sampleSize));\n firstChunk = chunk;\n if (!done && chunk) {\n try {\n detectedFileType = await this.fromBuffer(chunk.subarray(0, sampleSize));\n } catch (error) {\n if (!(error instanceof EndOfStreamError)) {\n throw error;\n }\n detectedFileType = void 0;\n }\n }\n firstChunk = chunk;\n } finally {\n reader.releaseLock();\n }\n const transformStream = new TransformStream({\n async start(controller) {\n controller.enqueue(firstChunk);\n },\n transform(chunk, controller) {\n controller.enqueue(chunk);\n }\n });\n const newStream = stream.pipeThrough(transformStream);\n newStream.fileType = detectedFileType;\n return newStream;\n }\n check(header, options) {\n return _check(this.buffer, header, options);\n }\n checkString(header, options) {\n return this.check(stringToBytes(header), options);\n }\n async readTiffTag(bigEndian) {\n const tagId = await this.tokenizer.readToken(bigEndian ? UINT16_BE : UINT16_LE);\n this.tokenizer.ignore(10);\n switch (tagId) {\n case 50341:\n return {\n ext: \"arw\",\n mime: \"image/x-sony-arw\"\n };\n case 50706:\n return {\n ext: \"dng\",\n mime: \"image/x-adobe-dng\"\n };\n }\n }\n async readTiffIFD(bigEndian) {\n const numberOfTags = await this.tokenizer.readToken(bigEndian ? UINT16_BE : UINT16_LE);\n for (let n = 0; n < numberOfTags; ++n) {\n const fileType = await this.readTiffTag(bigEndian);\n if (fileType) {\n return fileType;\n }\n }\n }\n async readTiffHeader(bigEndian) {\n const version = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 2);\n const ifdOffset = (bigEndian ? UINT32_BE : UINT32_LE).get(this.buffer, 4);\n if (version === 42) {\n if (ifdOffset >= 6) {\n if (this.checkString(\"CR\", { offset: 8 })) {\n return {\n ext: \"cr2\",\n mime: \"image/x-canon-cr2\"\n };\n }\n if (ifdOffset >= 8) {\n const someId1 = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 8);\n const someId2 = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 10);\n if (someId1 === 28 && someId2 === 254 || someId1 === 31 && someId2 === 11) {\n return {\n ext: \"nef\",\n mime: \"image/x-nikon-nef\"\n };\n }\n }\n }\n await this.tokenizer.ignore(ifdOffset);\n const fileType = await this.readTiffIFD(bigEndian);\n return fileType ?? {\n ext: \"tif\",\n mime: \"image/tiff\"\n };\n }\n if (version === 43) {\n return {\n ext: \"tif\",\n mime: \"image/tiff\"\n };\n }\n }\n /**\n \tScan check MPEG 1 or 2 Layer 3 header, or 'layer 0' for ADTS (MPEG sync-word 0xFFE).\n \n \t@param offset - Offset to scan for sync-preamble.\n \t@returns {{ext: string, mime: string}}\n \t*/\n scanMpeg(offset) {\n if (this.check([255, 224], { offset, mask: [255, 224] })) {\n if (this.check([16], { offset: offset + 1, mask: [22] })) {\n if (this.check([8], { offset: offset + 1, mask: [8] })) {\n return {\n ext: \"aac\",\n mime: \"audio/aac\"\n };\n }\n return {\n ext: \"aac\",\n mime: \"audio/aac\"\n };\n }\n if (this.check([2], { offset: offset + 1, mask: [6] })) {\n return {\n ext: \"mp3\",\n mime: \"audio/mpeg\"\n };\n }\n if (this.check([4], { offset: offset + 1, mask: [6] })) {\n return {\n ext: \"mp2\",\n mime: \"audio/mpeg\"\n };\n }\n if (this.check([6], { offset: offset + 1, mask: [6] })) {\n return {\n ext: \"mp1\",\n mime: \"audio/mpeg\"\n };\n }\n }\n }\n}\nnew Set(extensions);\nnew Set(mimeTypes);\nconst PACKET_TYPES = /* @__PURE__ */ Object.create(null);\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = /* @__PURE__ */ Object.create(null);\nObject.keys(PACKET_TYPES).forEach((key) => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nconst withNativeBlob$1 = typeof Blob === \"function\" || typeof Blob !== \"undefined\" && Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\";\nconst withNativeArrayBuffer$2 = typeof ArrayBuffer === \"function\";\nconst isView$1 = (obj) => {\n return typeof ArrayBuffer.isView === \"function\" ? ArrayBuffer.isView(obj) : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob$1 && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n } else {\n return encodeBlobAsBase64(data, callback);\n }\n } else if (withNativeArrayBuffer$2 && (data instanceof ArrayBuffer || isView$1(data))) {\n if (supportsBinary) {\n return callback(data);\n } else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function() {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n } else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n } else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nfunction encodePacketToBinary(packet, callback) {\n if (withNativeBlob$1 && packet.data instanceof Blob) {\n return packet.data.arrayBuffer().then(toArray).then(callback);\n } else if (withNativeArrayBuffer$2 && (packet.data instanceof ArrayBuffer || isView$1(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, (encoded) => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nconst chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nconst lookup$1 = typeof Uint8Array === \"undefined\" ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup$1[chars.charCodeAt(i)] = i;\n}\nconst decode$1 = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1[base64.charCodeAt(i)];\n encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return arraybuffer;\n};\nconst withNativeArrayBuffer$1 = typeof ArrayBuffer === \"function\";\nconst decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType)\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType)\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1 ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1)\n } : {\n type: PACKET_TYPES_REVERSE[type]\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer$1) {\n const decoded = decode$1(data);\n return mapBinary(decoded, binaryType);\n } else {\n return { base64: true, data };\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n return data;\n } else {\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n return data;\n } else {\n return data.buffer;\n }\n }\n};\nconst SEPARATOR = String.fromCharCode(30);\nconst encodePayload = (packets, callback) => {\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n encodePacket(packet, false, (encodedPacket) => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nfunction createPacketEncoderStream() {\n return new TransformStream({\n transform(packet, controller) {\n encodePacketToBinary(packet, (encodedPacket) => {\n const payloadLength = encodedPacket.length;\n let header;\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n } else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n } else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 128;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n }\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer2 = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer2[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer2;\n}\nfunction createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0;\n let expectedLength = -1;\n let isBinary2 = false;\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary2 = (header[0] & 128) === 128;\n expectedLength = header[0] & 127;\n if (expectedLength < 126) {\n state = 3;\n } else if (expectedLength === 126) {\n state = 1;\n } else {\n state = 2;\n }\n } else if (state === 1) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3;\n } else if (state === 2) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3;\n } else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue(decodePacket(isBinary2 ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n }\n }\n });\n}\nconst protocol$1 = 4;\nfunction Emitter(obj) {\n if (obj) return mixin(obj);\n}\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\nEmitter.prototype.on = Emitter.prototype.addEventListener = function(event, fn) {\n this._callbacks = this._callbacks || {};\n (this._callbacks[\"$\" + event] = this._callbacks[\"$\" + event] || []).push(fn);\n return this;\n};\nEmitter.prototype.once = function(event, fn) {\n function on2() {\n this.off(event, on2);\n fn.apply(this, arguments);\n }\n on2.fn = fn;\n this.on(event, on2);\n return this;\n};\nEmitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function(event, fn) {\n this._callbacks = this._callbacks || {};\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n var callbacks = this._callbacks[\"$\" + event];\n if (!callbacks) return this;\n if (1 == arguments.length) {\n delete this._callbacks[\"$\" + event];\n return this;\n }\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n if (callbacks.length === 0) {\n delete this._callbacks[\"$\" + event];\n }\n return this;\n};\nEmitter.prototype.emit = function(event) {\n this._callbacks = this._callbacks || {};\n var args = new Array(arguments.length - 1), callbacks = this._callbacks[\"$\" + event];\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n return this;\n};\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\nEmitter.prototype.listeners = function(event) {\n this._callbacks = this._callbacks || {};\n return this._callbacks[\"$\" + event] || [];\n};\nEmitter.prototype.hasListeners = function(event) {\n return !!this.listeners(event).length;\n};\nconst nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n } else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nconst globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n } else if (typeof window !== \"undefined\") {\n return window;\n } else {\n return Function(\"return this\")();\n }\n})();\nconst defaultBinaryType = \"arraybuffer\";\nfunction createCookieJar() {\n}\nfunction pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\nconst NATIVE_SET_TIMEOUT = globalThisShim.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThisShim.clearTimeout;\nfunction installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThisShim);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThisShim);\n } else {\n obj.setTimeoutFn = globalThisShim.setTimeout.bind(globalThisShim);\n obj.clearTimeoutFn = globalThisShim.clearTimeout.bind(globalThisShim);\n }\n}\nconst BASE64_OVERHEAD = 1.33;\nfunction byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 128) {\n length += 1;\n } else if (c < 2048) {\n length += 2;\n } else if (c < 55296 || c >= 57344) {\n length += 3;\n } else {\n i++;\n length += 4;\n }\n }\n return length;\n}\nfunction randomString() {\n return Date.now().toString(36).substring(3) + Math.random().toString(36).substring(2, 5);\n}\nfunction encode(obj) {\n let str = \"\";\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += \"&\";\n str += encodeURIComponent(i) + \"=\" + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\nfunction decode(qs) {\n let qry = {};\n let pairs = qs.split(\"&\");\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split(\"=\");\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\nclass TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nclass Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n this.supportsBinary = !opts.forceBase64;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) {\n }\n createUri(schema, query = {}) {\n return schema + \"://\" + this._hostname() + this._port() + this.opts.path + this._query(query);\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port && (this.opts.secure && Number(this.opts.port !== 443) || !this.opts.secure && Number(this.opts.port) !== 80)) {\n return \":\" + this.opts.port;\n } else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\nclass Polling extends Transport {\n constructor() {\n super(...arguments);\n this._polling = false;\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this._poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this._polling || !this.writable) {\n let total = 0;\n if (this._polling) {\n total++;\n this.once(\"pollComplete\", function() {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function() {\n --total || pause();\n });\n }\n } else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n _poll() {\n this._polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n this.onPacket(packet);\n };\n decodePayload(data, this.socket.binaryType).forEach(callback);\n if (\"closed\" !== this.readyState) {\n this._polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this._poll();\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n } else {\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== \"undefined\" && \"withCredentials\" in new XMLHttpRequest();\n} catch (err2) {\n}\nconst hasCORS = value;\nfunction empty() {\n}\nclass BaseXHR extends Polling {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd = typeof location !== \"undefined\" && opts.hostname !== location.hostname || port !== opts.port;\n }\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nlet Request$1 = class Request2 extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(createRequest, uri, opts) {\n super();\n this.createRequest = createRequest;\n installTimerFunctions(this, opts);\n this._opts = opts;\n this._method = opts.method || \"GET\";\n this._uri = uri;\n this._data = void 0 !== opts.data ? opts.data : null;\n this._create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n _create() {\n var _a2;\n const opts = pick(this._opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this._opts.xd;\n const xhr = this._xhr = this.createRequest(opts);\n try {\n xhr.open(this._method, this._uri, true);\n try {\n if (this._opts.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this._opts.extraHeaders) {\n if (this._opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this._opts.extraHeaders[i]);\n }\n }\n }\n } catch (e) {\n }\n if (\"POST\" === this._method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n } catch (e) {\n }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n } catch (e) {\n }\n (_a2 = this._opts.cookieJar) === null || _a2 === void 0 ? void 0 : _a2.addCookies(xhr);\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this._opts.withCredentials;\n }\n if (this._opts.requestTimeout) {\n xhr.timeout = this._opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a3;\n if (xhr.readyState === 3) {\n (_a3 = this._opts.cookieJar) === null || _a3 === void 0 ? void 0 : _a3.parseCookies(\n // @ts-ignore\n xhr.getResponseHeader(\"set-cookie\")\n );\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this._onLoad();\n } else {\n this.setTimeoutFn(() => {\n this._onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this._data);\n } catch (e) {\n this.setTimeoutFn(() => {\n this._onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this._index = Request2.requestsCount++;\n Request2.requests[this._index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n _onError(err2) {\n this.emitReserved(\"error\", err2, this._xhr);\n this._cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n _cleanup(fromError) {\n if (\"undefined\" === typeof this._xhr || null === this._xhr) {\n return;\n }\n this._xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this._xhr.abort();\n } catch (e) {\n }\n }\n if (typeof document !== \"undefined\") {\n delete Request2.requests[this._index];\n }\n this._xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n _onLoad() {\n const data = this._xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this._cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this._cleanup();\n }\n};\nRequest$1.requestsCount = 0;\nRequest$1.requests = {};\nif (typeof document !== \"undefined\") {\n if (typeof attachEvent === \"function\") {\n attachEvent(\"onunload\", unloadHandler);\n } else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThisShim ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request$1.requests) {\n if (Request$1.requests.hasOwnProperty(i)) {\n Request$1.requests[i].abort();\n }\n }\n}\nconst hasXHR2 = function() {\n const xhr = newRequest({\n xdomain: false\n });\n return xhr && xhr.responseType !== null;\n}();\nclass XHR extends BaseXHR {\n constructor(opts) {\n super(opts);\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n }\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd }, this.opts);\n return new Request$1(newRequest, this.uri(), opts);\n }\n}\nfunction newRequest(opts) {\n const xdomain = opts.xdomain;\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n } catch (e) {\n }\n if (!xdomain) {\n try {\n return new globalThisShim[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n } catch (e) {\n }\n }\n}\nconst isReactNative = typeof navigator !== \"undefined\" && typeof navigator.product === \"string\" && navigator.product.toLowerCase() === \"reactnative\";\nclass BaseWS extends Transport {\n get name() {\n return \"websocket\";\n }\n doOpen() {\n const uri = this.uri();\n const protocols = this.opts.protocols;\n const opts = isReactNative ? {} : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws = this.createSocket(uri, protocols, opts);\n } catch (err2) {\n return this.emitReserved(\"error\", err2);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n try {\n this.doWrite(packet, data);\n } catch (e) {\n }\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.onerror = () => {\n };\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\nconst WebSocketCtor = globalThisShim.WebSocket || globalThisShim.MozWebSocket;\nclass WS extends BaseWS {\n createSocket(uri, protocols, opts) {\n return !isReactNative ? protocols ? new WebSocketCtor(uri, protocols) : new WebSocketCtor(uri) : new WebSocketCtor(uri, protocols, opts);\n }\n doWrite(_packet, data) {\n this.ws.send(data);\n }\n}\nclass WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n try {\n this._transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n } catch (err2) {\n return this.emitReserved(\"error\", err2);\n }\n this._transport.closed.then(() => {\n this.onClose();\n }).catch((err2) => {\n this.onError(\"webtransport error\", err2);\n });\n this._transport.ready.then(() => {\n this._transport.createBidirectionalStream().then((stream) => {\n const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = createPacketEncoderStream();\n encoderStream.readable.pipeTo(stream.writable);\n this._writer = encoderStream.writable.getWriter();\n const read = () => {\n reader.read().then(({ done, value: value2 }) => {\n if (done) {\n return;\n }\n this.onPacket(value2);\n read();\n }).catch((err2) => {\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this._writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this._writer.write(packet).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a2;\n (_a2 = this._transport) === null || _a2 === void 0 ? void 0 : _a2.close();\n }\n}\nconst transports = {\n websocket: WS,\n webtransport: WT,\n polling: XHR\n};\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n \"source\",\n \"protocol\",\n \"authority\",\n \"userInfo\",\n \"user\",\n \"password\",\n \"host\",\n \"port\",\n \"relative\",\n \"path\",\n \"directory\",\n \"file\",\n \"query\",\n \"anchor\"\n];\nfunction parse(str) {\n if (str.length > 8e3) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf(\"[\"), e = str.indexOf(\"]\");\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, \";\") + str.substring(e, str.length);\n }\n let m = re.exec(str || \"\"), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || \"\";\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, \":\");\n uri.authority = uri.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\");\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri[\"path\"]);\n uri.queryKey = queryKey(uri, uri[\"query\"]);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == \"/\" || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == \"/\") {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\nconst withEventListeners = typeof addEventListener === \"function\" && typeof removeEventListener === \"function\";\nconst OFFLINE_EVENT_LISTENERS = [];\nif (withEventListeners) {\n addEventListener(\"offline\", () => {\n OFFLINE_EVENT_LISTENERS.forEach((listener) => listener());\n }, false);\n}\nclass SocketWithoutUpgrade extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts) {\n super();\n this.binaryType = defaultBinaryType;\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n this._pingInterval = -1;\n this._pingTimeout = -1;\n this._maxPayload = -1;\n this._pingTimeoutTime = Infinity;\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n const parsedUri = parse(uri);\n opts.hostname = parsedUri.host;\n opts.secure = parsedUri.protocol === \"https\" || parsedUri.protocol === \"wss\";\n opts.port = parsedUri.port;\n if (parsedUri.query)\n opts.query = parsedUri.query;\n } else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure = null != opts.secure ? opts.secure : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname = opts.hostname || (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port = opts.port || (typeof location !== \"undefined\" && location.port ? location.port : this.secure ? \"443\" : \"80\");\n this.transports = [];\n this._transportsByName = {};\n opts.transports.forEach((t) => {\n const transportName = t.prototype.name;\n this.transports.push(transportName);\n this._transportsByName[transportName] = t;\n });\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024\n },\n transportOptions: {},\n closeOnBeforeunload: false\n }, opts);\n this.opts.path = this.opts.path.replace(/\\/$/, \"\") + (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n if (withEventListeners) {\n if (this.opts.closeOnBeforeunload) {\n this._beforeunloadEventListener = () => {\n if (this.transport) {\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this._offlineEventListener = () => {\n this._onClose(\"transport close\", {\n description: \"network connection lost\"\n });\n };\n OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener);\n }\n }\n if (this.opts.withCredentials) {\n this._cookieJar = createCookieJar();\n }\n this._open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n query.EIO = protocol$1;\n query.transport = name;\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port\n }, this.opts.transportOptions[name]);\n return new this._transportsByName[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n _open() {\n if (this.transports.length === 0) {\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n const transportName = this.opts.rememberUpgrade && SocketWithoutUpgrade.priorWebsocketSuccess && this.transports.indexOf(\"websocket\") !== -1 ? \"websocket\" : this.transports[0];\n this.readyState = \"opening\";\n const transport = this.createTransport(transportName);\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n this.transport = transport;\n transport.on(\"drain\", this._onDrain.bind(this)).on(\"packet\", this._onPacket.bind(this)).on(\"error\", this._onError.bind(this)).on(\"close\", (reason) => this._onClose(\"transport close\", reason));\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n SocketWithoutUpgrade.priorWebsocketSuccess = \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n _onPacket(packet) {\n if (\"opening\" === this.readyState || \"open\" === this.readyState || \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n this.emitReserved(\"heartbeat\");\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this._sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n this._resetPingTimeout();\n break;\n case \"error\":\n const err2 = new Error(\"server error\");\n err2.code = packet.data;\n this._onError(err2);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this._pingInterval = data.pingInterval;\n this._pingTimeout = data.pingTimeout;\n this._maxPayload = data.maxPayload;\n this.onOpen();\n if (\"closed\" === this.readyState)\n return;\n this._resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n _resetPingTimeout() {\n this.clearTimeoutFn(this._pingTimeoutTimer);\n const delay = this._pingInterval + this._pingTimeout;\n this._pingTimeoutTime = Date.now() + delay;\n this._pingTimeoutTimer = this.setTimeoutFn(() => {\n this._onClose(\"ping timeout\");\n }, delay);\n if (this.opts.autoUnref) {\n this._pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n _onDrain() {\n this.writeBuffer.splice(0, this._prevBufferLen);\n this._prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n } else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length) {\n const packets = this._getWritablePackets();\n this.transport.send(packets);\n this._prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n _getWritablePackets() {\n const shouldCheckPayloadSize = this._maxPayload && this.transport.name === \"polling\" && this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1;\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this._maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2;\n }\n return this.writeBuffer;\n }\n /**\n * Checks whether the heartbeat timer has expired but the socket has not yet been notified.\n *\n * Note: this method is private for now because it does not really fit the WebSocket API, but if we put it in the\n * `write()` method then the message would not be buffered by the Socket.IO client.\n *\n * @return {boolean}\n * @private\n */\n /* private */\n _hasPingExpired() {\n if (!this._pingTimeoutTime)\n return true;\n const hasExpired = Date.now() > this._pingTimeoutTime;\n if (hasExpired) {\n this._pingTimeoutTime = 0;\n nextTick(() => {\n this._onClose(\"ping timeout\");\n }, this.setTimeoutFn);\n }\n return hasExpired;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a message. Alias of {@link Socket#write}.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n send(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n _sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = void 0;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type,\n data,\n options\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this._onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n } else {\n close();\n }\n });\n } else if (this.upgrading) {\n waitForUpgrade();\n } else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n _onError(err2) {\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n if (this.opts.tryAllTransports && this.transports.length > 1 && this.readyState === \"opening\") {\n this.transports.shift();\n return this._open();\n }\n this.emitReserved(\"error\", err2);\n this._onClose(\"transport error\", err2);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n _onClose(reason, description) {\n if (\"opening\" === this.readyState || \"open\" === this.readyState || \"closing\" === this.readyState) {\n this.clearTimeoutFn(this._pingTimeoutTimer);\n this.transport.removeAllListeners(\"close\");\n this.transport.close();\n this.transport.removeAllListeners();\n if (withEventListeners) {\n if (this._beforeunloadEventListener) {\n removeEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this._offlineEventListener) {\n const i = OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);\n if (i !== -1) {\n OFFLINE_EVENT_LISTENERS.splice(i, 1);\n }\n }\n }\n this.readyState = \"closed\";\n this.id = null;\n this.emitReserved(\"close\", reason, description);\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n }\n }\n}\nSocketWithoutUpgrade.protocol = protocol$1;\nclass SocketWithUpgrade extends SocketWithoutUpgrade {\n constructor() {\n super(...arguments);\n this._upgrades = [];\n }\n onOpen() {\n super.onOpen();\n if (\"open\" === this.readyState && this.opts.upgrade) {\n for (let i = 0; i < this._upgrades.length; i++) {\n this._probe(this._upgrades[i]);\n }\n }\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n _probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n SocketWithoutUpgrade.priorWebsocketSuccess = \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n } else {\n const err2 = new Error(\"probe error\");\n err2.transport = transport.name;\n this.emitReserved(\"upgradeError\", err2);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n const onerror = (err2) => {\n const error = new Error(\"probe error: \" + err2);\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n function onclose() {\n onerror(\"socket closed\");\n }\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this._upgrades.indexOf(\"webtransport\") !== -1 && name !== \"webtransport\") {\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n } else {\n transport.open();\n }\n }\n onHandshake(data) {\n this._upgrades = this._filterUpgrades(data.upgrades);\n super.onHandshake(data);\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n _filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n for (let i = 0; i < upgrades.length; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\nlet Socket$1 = class Socket extends SocketWithUpgrade {\n constructor(uri, opts = {}) {\n const o = typeof uri === \"object\" ? uri : opts;\n if (!o.transports || o.transports && typeof o.transports[0] === \"string\") {\n o.transports = (o.transports || [\"polling\", \"websocket\", \"webtransport\"]).map((transportName) => transports[transportName]).filter((t) => !!t);\n }\n super(uri, o);\n }\n};\nfunction url(uri, path = \"\", loc) {\n let obj = uri;\n loc = loc || typeof location !== \"undefined\" && location;\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n } else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n } else {\n uri = \"https://\" + uri;\n }\n }\n obj = parse(uri);\n }\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n } else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n obj.href = obj.protocol + \"://\" + host + (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\" ? ArrayBuffer.isView(obj) : obj.buffer instanceof ArrayBuffer;\n};\nconst toString2 = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" || typeof Blob !== \"undefined\" && toString2.call(Blob) === \"[object BlobConstructor]\";\nconst withNativeFile = typeof File === \"function\" || typeof File !== \"undefined\" && toString2.call(File) === \"[object FileConstructor]\";\nfunction isBinary(obj) {\n return withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj)) || withNativeBlob && obj instanceof Blob || withNativeFile && obj instanceof File;\n}\nfunction hasBinary(obj, toJSON2) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON && typeof obj.toJSON === \"function\" && arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\nfunction deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length;\n return { packet: pack, buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n } else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n } else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\nfunction reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments;\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" && data.num >= 0 && data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num];\n } else {\n throw new Error(\"illegal attachments\");\n }\n } else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n } else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\nconst RESERVED_EVENTS$1 = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\"\n // used by the Node.js EventEmitter\n];\nconst protocol = 5;\nvar PacketType;\n(function(PacketType2) {\n PacketType2[PacketType2[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType2[PacketType2[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType2[PacketType2[\"EVENT\"] = 2] = \"EVENT\";\n PacketType2[PacketType2[\"ACK\"] = 3] = \"ACK\";\n PacketType2[PacketType2[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType2[PacketType2[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType2[PacketType2[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\nclass Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT ? PacketType.BINARY_EVENT : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n let str = \"\" + obj.type;\n if (obj.type === PacketType.BINARY_EVENT || obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n if (null != obj.id) {\n str += obj.id;\n }\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack);\n return buffers;\n }\n}\nfunction isObject(value2) {\n return Object.prototype.toString.call(value2) === \"[object Object]\";\n}\nclass Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n this.reconstructor = new BinaryReconstructor(packet);\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n } else {\n super.emitReserved(\"decoded\", packet);\n }\n } else if (isBinary(obj) || obj.base64) {\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n } else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n } else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n const p = {\n type: Number(str.charAt(0))\n };\n if (PacketType[p.type] === void 0) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n if (p.type === PacketType.BINARY_EVENT || p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) {\n }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n } else {\n p.nsp = \"/\";\n }\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n } else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n } catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === void 0;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return Array.isArray(payload) && (typeof payload[0] === \"number\" || typeof payload[0] === \"string\" && RESERVED_EVENTS$1.indexOf(payload[0]) === -1);\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\nconst parser = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Decoder,\n Encoder,\n get PacketType() {\n return PacketType;\n },\n protocol\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1\n});\nclass Socket2 extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n this.connected = false;\n this.recovered = false;\n this.receiveBuffer = [];\n this.sendBuffer = [];\n this._queue = [];\n this._queueSeq = 0;\n this.ids = 0;\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this))\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open();\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n var _a2, _b2, _c;\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = (_b2 = (_a2 = this.io.engine) === null || _a2 === void 0 ? void 0 : _a2.transport) === null || _b2 === void 0 ? void 0 : _b2.writable;\n const isConnected = this.connected && !((_c = this.io.engine) === null || _c === void 0 ? void 0 : _c._hasPingExpired());\n const discardPacket = this.flags.volatile && !isTransportWritable;\n if (discardPacket) ;\n else if (isConnected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n } else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a2;\n const timeout = (_a2 = this.flags.timeout) !== null && _a2 !== void 0 ? _a2 : this._opts.ackTimeout;\n if (timeout === void 0) {\n this.acks[id] = ack;\n return;\n }\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n const fn = (...args) => {\n this.io.clearTimeoutFn(timer);\n ack.apply(this, args);\n };\n fn.withError = true;\n this.acks[id] = fn;\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n return new Promise((resolve, reject) => {\n const fn = (arg1, arg2) => {\n return arg1 ? reject(arg1) : resolve(arg2);\n };\n fn.withError = true;\n args.push(fn);\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags)\n };\n args.push((err2, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n return;\n }\n const hasError = err2 !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err2);\n }\n }\n } else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n } else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data) : data\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err2) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err2);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n this._clearAcks();\n }\n /**\n * Clears the acknowledgement handlers upon disconnection, since the client will never receive an acknowledgement from\n * the server.\n *\n * @private\n */\n _clearAcks() {\n Object.keys(this.acks).forEach((id) => {\n const isBuffered = this.sendBuffer.some((packet) => String(packet.id) === id);\n if (!isBuffered) {\n const ack = this.acks[id];\n delete this.acks[id];\n if (ack.withError) {\n ack.call(this, new Error(\"socket has been disconnected\"));\n }\n }\n });\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n } else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err2 = new Error(packet.data.message);\n err2.data = packet.data.data;\n this.emitReserved(\"connect_error\", err2);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n } else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self2 = this;\n let sent = false;\n return function(...args) {\n if (sent)\n return;\n sent = true;\n self2.packet({\n type: PacketType.ACK,\n id,\n data: args\n });\n };\n }\n /**\n * Called upon a server acknowledgement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (typeof ack !== \"function\") {\n return;\n }\n delete this.acks[packet.id];\n if (ack.withError) {\n packet.data.unshift(null);\n }\n ack.apply(this, packet.data);\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid;\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = void 0;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n this.destroy();\n if (this.connected) {\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n } else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n } else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\nfunction Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 1e4;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\nBackoff.prototype.duration = function() {\n var ms2 = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms2);\n ms2 = (Math.floor(rand * 10) & 1) == 0 ? ms2 - deviation : ms2 + deviation;\n }\n return Math.min(ms2, this.max) | 0;\n};\nBackoff.prototype.reset = function() {\n this.attempts = 0;\n};\nBackoff.prototype.setMin = function(min) {\n this.ms = min;\n};\nBackoff.prototype.setMax = function(max2) {\n this.max = max2;\n};\nBackoff.prototype.setJitter = function(jitter) {\n this.jitter = jitter;\n};\nclass Manager extends Emitter {\n constructor(uri, opts) {\n var _a2;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = void 0;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1e3);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5e3);\n this.randomizationFactor((_a2 = opts.randomizationFactor) !== null && _a2 !== void 0 ? _a2 : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor()\n });\n this.timeout(null == opts.timeout ? 2e4 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n if (!v) {\n this.skipReconnect = true;\n }\n return this;\n }\n reconnectionAttempts(v) {\n if (v === void 0)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a2;\n if (v === void 0)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a2 = this.backoff) === null || _a2 === void 0 ? void 0 : _a2.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a2;\n if (v === void 0)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a2 = this.backoff) === null || _a2 === void 0 ? void 0 : _a2.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a2;\n if (v === void 0)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a2 = this.backoff) === null || _a2 === void 0 ? void 0 : _a2.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n if (!this._reconnecting && this._reconnection && this.backoff.attempts === 0) {\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Socket$1(this.uri, this.opts);\n const socket = this.engine;\n const self2 = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n const openSubDestroy = on(socket, \"open\", function() {\n self2.onopen();\n fn && fn();\n });\n const onError = (err2) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err2);\n if (fn) {\n fn(err2);\n } else {\n this.maybeReconnectOnOpen();\n }\n };\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n this.cleanup();\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n const socket = this.engine;\n this.subs.push(\n on(socket, \"ping\", this.onping.bind(this)),\n on(socket, \"data\", this.ondata.bind(this)),\n on(socket, \"error\", this.onerror.bind(this)),\n on(socket, \"close\", this.onclose.bind(this)),\n // @ts-ignore\n on(this.decoder, \"decoded\", this.ondecoded.bind(this))\n );\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n } catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err2) {\n this.emitReserved(\"error\", err2);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket2(this, nsp, opts);\n this.nsps[nsp] = socket;\n } else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket2 = this.nsps[nsp];\n if (socket2.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called when:\n *\n * - the low-level engine is closed\n * - the parser encountered a badly formatted packet\n * - all sockets are disconnected\n *\n * @private\n */\n onclose(reason, description) {\n var _a2;\n this.cleanup();\n (_a2 = this.engine) === null || _a2 === void 0 ? void 0 : _a2.close();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self2 = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n } else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self2.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self2.backoff.attempts);\n if (self2.skipReconnect)\n return;\n self2.open((err2) => {\n if (err2) {\n self2._reconnecting = false;\n self2.reconnect();\n this.emitReserved(\"reconnect_error\", err2);\n } else {\n self2.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = void 0;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew || opts[\"force new connection\"] || false === opts.multiplex || sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n } else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\nObject.assign(lookup, {\n Manager,\n Socket: Socket2,\n io: lookup,\n connect: lookup\n});\nconst _InscriptionSDK = class _InscriptionSDK {\n constructor(config) {\n __publicField(this, \"client\");\n __publicField(this, \"config\");\n __publicField(this, \"logger\", Logger.getInstance());\n __publicField(this, \"socket\", null);\n __publicField(this, \"socketConnected\", false);\n __publicField(this, \"connectionMode\", \"auto\");\n __publicField(this, \"wsBaseUrl\", null);\n this.config = config;\n if (!config.apiKey) {\n throw new ValidationError(\"API key is required\");\n }\n if (!config.network) {\n throw new ValidationError(\"Network is required\");\n }\n const headers = {\n \"x-api-key\": config.apiKey,\n \"Content-Type\": \"application/json\"\n };\n this.client = axios.create({\n baseURL: \"https://v2-api.tier.bot/api\",\n headers\n });\n this.logger = Logger.getInstance();\n if (config.wsBaseUrl) {\n this.wsBaseUrl = config.wsBaseUrl;\n }\n this.connectionMode = config.connectionMode || \"websocket\";\n if (!this.wsBaseUrl && this.connectionMode !== \"http\") {\n this.fetchWebSocketServers().catch(\n (err2) => this.logger.warn(\"Failed to fetch WebSocket servers:\", err2)\n );\n }\n }\n async getFileMetadata(url2) {\n try {\n const response = await axios.get(url2);\n const mimeType = response.headers[\"content-type\"] || \"\";\n return {\n size: parseInt(response.headers[\"content-length\"] || \"0\", 10),\n mimeType\n };\n } catch (error) {\n this.logger.error(\"Error fetching file metadata:\", error);\n throw new ValidationError(\"Unable to fetch file metadata\");\n }\n }\n /**\n * Gets the MIME type for a file based on its extension.\n * @param fileName - The name of the file.\n * @returns The MIME type of the file.\n * @throws ValidationError if the file has no extension.\n */\n getMimeType(fileName) {\n const extension = fileName.toLowerCase().split(\".\").pop();\n if (!extension) {\n throw new ValidationError(\"File must have an extension\");\n }\n const mimeType = _InscriptionSDK.VALID_MIME_TYPES[extension];\n if (!mimeType) {\n throw new ValidationError(`Unsupported file type: ${extension}`);\n }\n return mimeType;\n }\n /**\n * Validates the request object.\n * @param request - The request object to validate.\n * @throws ValidationError if the request is invalid.\n */\n validateRequest(request) {\n this.logger.debug(\"Validating request:\", request);\n if (!request.holderId || request.holderId.trim() === \"\") {\n this.logger.warn(\"holderId is missing or empty\");\n throw new ValidationError(\"holderId is required\");\n }\n if (!_InscriptionSDK.VALID_MODES.includes(request.mode)) {\n throw new ValidationError(\n `Invalid mode: ${request.mode}. Must be one of: ${_InscriptionSDK.VALID_MODES.join(\", \")}`\n );\n }\n if (request.mode === \"hashinal\") {\n if (!request.jsonFileURL && !request.metadataObject) {\n throw new ValidationError(\n \"Hashinal mode requires either jsonFileURL or metadataObject\"\n );\n }\n }\n if (request.onlyJSONCollection && request.mode !== \"hashinal-collection\") {\n throw new ValidationError(\n \"onlyJSONCollection can only be used with hashinal-collection mode\"\n );\n }\n this.validateFileInput(request.file);\n }\n /**\n * Normalizes the MIME type to a standard format.\n * @param mimeType - The MIME type to normalize.\n * @returns The normalized MIME type.\n */\n normalizeMimeType(mimeType) {\n if (mimeType === \"image/vnd.microsoft.icon\") {\n this.logger.debug(\n \"Normalizing MIME type from image/vnd.microsoft.icon to image/x-icon\"\n );\n return \"image/x-icon\";\n }\n return mimeType;\n }\n validateMimeType(mimeType) {\n const validMimeTypes = Object.values(_InscriptionSDK.VALID_MIME_TYPES);\n if (validMimeTypes.includes(mimeType)) {\n return true;\n }\n if (mimeType === \"image/vnd.microsoft.icon\") {\n this.logger.debug(\n \"Accepting alternative MIME type for ICO: image/vnd.microsoft.icon\"\n );\n return true;\n }\n return false;\n }\n validateFileInput(file) {\n if (file.type === \"base64\") {\n if (!file.base64) {\n throw new ValidationError(\"Base64 data is required\");\n }\n const base64Data = file.base64.replace(/^data:.*?;base64,/, \"\");\n const size = Math.ceil(base64Data.length * 0.75);\n if (size > _InscriptionSDK.MAX_BASE64_SIZE) {\n throw new ValidationError(\n `File size exceeds maximum limit of ${_InscriptionSDK.MAX_BASE64_SIZE / 1024 / 1024}MB`\n );\n }\n const mimeType = file.mimeType || this.getMimeType(file.fileName);\n if (!this.validateMimeType(mimeType)) {\n throw new ValidationError(\n \"File must have one of the supported MIME types\"\n );\n }\n if (file.mimeType === \"image/vnd.microsoft.icon\") {\n file.mimeType = this.normalizeMimeType(file.mimeType);\n }\n } else if (file.type === \"url\") {\n if (!file.url) {\n throw new ValidationError(\"URL is required\");\n }\n }\n }\n async detectMimeTypeFromBase64(base64Data) {\n if (base64Data.startsWith(\"data:\")) {\n const matches = base64Data.match(/^data:([^;]+);base64,/);\n if (matches && matches.length > 1) {\n return matches[1];\n }\n }\n try {\n const sanitizedBase64 = base64Data.replace(/\\s/g, \"\");\n const buffer2 = Buffer2.from(sanitizedBase64, \"base64\");\n const typeResult = await fileTypeFromBuffer(buffer2);\n return (typeResult == null ? void 0 : typeResult.mime) || \"application/octet-stream\";\n } catch (err2) {\n this.logger.warn(\"Failed to detect MIME type from buffer\");\n return \"application/octet-stream\";\n }\n }\n /**\n * Starts an inscription and returns the transaction bytes.\n * @param request - The request object containing the file to inscribe and the client configuration\n * @returns The transaction bytes of the started inscription\n * @throws ValidationError if the request is invalid\n * @throws Error if the inscription fails\n */\n async startInscription(request) {\n var _a2, _b2;\n try {\n this.validateRequest(request);\n let mimeType = request.file.mimeType;\n if (request.file.type === \"url\") {\n const fileMetadata = await this.getFileMetadata(request.file.url);\n mimeType = fileMetadata.mimeType || mimeType;\n if (fileMetadata.size > _InscriptionSDK.MAX_URL_FILE_SIZE) {\n throw new ValidationError(\n `File size exceeds maximum URL file limit of ${_InscriptionSDK.MAX_URL_FILE_SIZE / 1024 / 1024}MB`\n );\n }\n } else if (request.file.type === \"base64\") {\n mimeType = await this.detectMimeTypeFromBase64(request.file.base64);\n }\n if (mimeType === \"image/vnd.microsoft.icon\") {\n mimeType = this.normalizeMimeType(mimeType);\n }\n if (request.jsonFileURL) {\n const jsonMetadata = await this.getFileMetadata(request.jsonFileURL);\n if (jsonMetadata.mimeType !== \"application/json\") {\n throw new ValidationError(\n \"JSON file must be of type application/json\"\n );\n }\n }\n const requestBody = {\n holderId: request.holderId,\n mode: request.mode,\n network: this.config.network,\n onlyJSONCollection: request.onlyJSONCollection ? 1 : 0,\n creator: request.creator,\n description: request.description,\n fileStandard: request.fileStandard,\n metadataObject: request.metadataObject,\n jsonFileURL: request.jsonFileURL\n };\n let response;\n if (request.file.type === \"url\") {\n response = await this.client.post(\"/inscriptions/start-inscription\", {\n ...requestBody,\n fileURL: request.file.url\n });\n } else {\n response = await this.client.post(\"/inscriptions/start-inscription\", {\n ...requestBody,\n fileBase64: request.file.base64,\n fileName: request.file.fileName,\n fileMimeType: mimeType || this.getMimeType(request.file.fileName)\n });\n }\n return response.data;\n } catch (error) {\n if (error instanceof ValidationError) {\n throw error;\n }\n if (axios.isAxiosError(error)) {\n throw new Error(\n ((_b2 = (_a2 = error.response) == null ? void 0 : _a2.data) == null ? void 0 : _b2.message) || \"Failed to start inscription\"\n );\n }\n throw error;\n }\n }\n /**\n * Executes a transaction with the provided transaction bytes,\n * typically called after inscribing a file through `startInscription`.\n * @param transactionBytes - The bytes of the transaction to execute.\n * @param clientConfig - The configuration for the Hedera client.\n * @returns The transaction receipt.\n * @throws ValidationError if the transaction bytes are invalid.\n * @throws Error if the execution fails.\n */\n async executeTransaction(transactionBytes, clientConfig) {\n var _a2, _b2;\n try {\n const client = clientConfig.network === \"mainnet\" ? Client.forMainnet() : Client.forTestnet();\n const mirrorNode = new HederaMirrorNode(clientConfig.network);\n const account = await mirrorNode.requestAccount(clientConfig.accountId);\n const type = (_a2 = account == null ? void 0 : account.key) == null ? void 0 : _a2._type;\n const keyIsString = typeof clientConfig.privateKey === \"string\";\n let privateKey;\n if (type && keyIsString) {\n privateKey = ((_b2 = type == null ? void 0 : type.toLowerCase()) == null ? void 0 : _b2.includes(\"ecdsa\")) ? PrivateKey.fromStringECDSA(clientConfig.privateKey) : PrivateKey.fromStringED25519(clientConfig.privateKey);\n } else if (!type && keyIsString) {\n const keyType = keyIsString ? detectKeyTypeFromString(clientConfig.privateKey) : void 0;\n privateKey = (keyType == null ? void 0 : keyType.detectedType) === \"ed25519\" ? PrivateKey.fromStringED25519(clientConfig.privateKey) : PrivateKey.fromStringECDSA(clientConfig.privateKey);\n } else {\n privateKey = clientConfig.privateKey;\n }\n client.setOperator(clientConfig.accountId, privateKey);\n const transaction = TransferTransaction.fromBytes(\n Buffer2.from(transactionBytes, \"base64\")\n );\n const signedTransaction = await transaction.sign(privateKey);\n const executeTx = await signedTransaction.execute(client);\n const receipt = await executeTx.getReceipt(client);\n const status = receipt.status.toString();\n if (status !== \"SUCCESS\") {\n throw new Error(`Transaction failed with status: ${status}`);\n }\n return executeTx.transactionId.toString();\n } catch (error) {\n throw new Error(\n `Failed to execute transaction: ${error instanceof Error ? error.message : \"Unknown error\"}`\n );\n }\n }\n /**\n * Executes a transaction with the provided transaction bytes using a Signer,\n * typically called after inscribing a file through `startInscription`.\n * @param transactionBytes - The bytes of the transaction to execute.\n * @param clientConfig - The configuration for the Hedera client.\n * @returns The transaction receipt.\n * @throws ValidationError if the transaction bytes are invalid.\n * @throws Error if the execution fails.\n */\n async executeTransactionWithSigner(transactionBytes, signer) {\n try {\n const transaction = TransferTransaction.fromBytes(\n Buffer2.from(transactionBytes, \"base64\")\n );\n const executeTx = await transaction.executeWithSigner(signer);\n const receipt = await executeTx.getReceiptWithSigner(signer);\n const status = receipt.status.toString();\n if (status !== \"SUCCESS\") {\n throw new Error(`Transaction failed with status: ${status}`);\n }\n return executeTx.transactionId.toString();\n } catch (error) {\n throw new Error(\n `Failed to execute transaction: ${error instanceof Error ? error.message : \"Unknown error\"}`\n );\n }\n }\n /**\n * Inscribes a file and executes the transaction. Note that base64 files are limited to 2MB, while URL files are limited to 100MB.\n * @param request - The request object containing the file to inscribe and the client configuration\n * @param clientConfig - The configuration for the Hedera network and account\n * @returns The transaction ID of the executed transaction\n * @throws ValidationError if the request is invalid\n * @throws Error if the transaction execution fails\n */\n async inscribeAndExecute(request, clientConfig, progressCallback, options) {\n const waitForCompletion = (options == null ? void 0 : options.waitForCompletion) ?? true;\n const maxWaitTime = (options == null ? void 0 : options.maxWaitTime) ?? 12e4;\n const checkInterval = (options == null ? void 0 : options.checkInterval) ?? 2e3;\n this.logger.debug(\"inscribeAndExecute called\", {\n hasProgressCallback: !!progressCallback,\n connectionMode: this.connectionMode,\n wsBaseUrl: this.wsBaseUrl\n });\n if (this.connectionMode !== \"http\") {\n const useWebSocket = this.connectionMode === \"websocket\" || this.connectionMode === \"auto\" && await this.detectBestConnection();\n if (useWebSocket) {\n try {\n const wsResult = await this.inscribeViaWebSocket(\n request,\n clientConfig,\n progressCallback\n );\n return wsResult;\n } catch (error) {\n this.logger.error(\n \"WebSocket inscription failed, falling back to HTTP:\",\n error\n );\n throw error;\n }\n } else {\n this.logger.info(\n `Not using WebSocket: useWebSocket=${useWebSocket}, wsBaseUrl=${this.wsBaseUrl}`\n );\n }\n } else {\n this.logger.info(\n `Not using WebSocket: hasCallback=${!!progressCallback}, connectionMode=${this.connectionMode}`\n );\n }\n const inscriptionResponse = await this.startInscription(request);\n if (!inscriptionResponse.transactionBytes) {\n this.logger.error(\n \"No transaction bytes returned from inscription request\",\n inscriptionResponse\n );\n throw new Error(\"No transaction bytes returned from inscription request\");\n }\n this.logger.info(\"executing transaction\");\n const transactionId = await this.executeTransaction(\n inscriptionResponse.transactionBytes,\n clientConfig\n );\n const result = {\n jobId: inscriptionResponse.tx_id,\n transactionId\n };\n if (waitForCompletion) {\n if (progressCallback) {\n progressCallback({\n stage: \"confirming\",\n message: \"Transaction executed, waiting for inscription to complete\",\n progressPercent: 5\n });\n }\n const maxAttempts = Math.floor(maxWaitTime / checkInterval);\n const finalResult = await this.waitForInscription(\n transactionId,\n maxAttempts,\n checkInterval,\n true,\n progressCallback\n );\n return {\n ...result,\n topicId: finalResult.topic_id,\n status: finalResult.status,\n completed: finalResult.completed\n };\n }\n return result;\n }\n async fetchWebSocketServers() {\n try {\n const response = await this.client.get(\"/inscriptions/websocket-servers\");\n const { servers, recommended } = response.data;\n if (recommended) {\n this.wsBaseUrl = recommended;\n } else if (servers && servers.length > 0) {\n const activeServers = servers.filter((s) => s.status === \"active\");\n if (activeServers.length > 0) {\n const selectedServer = activeServers[0];\n this.wsBaseUrl = selectedServer.url;\n }\n }\n } catch (error) {\n this.logger.debug(\n \"Could not fetch WebSocket servers, will use HTTP only\"\n );\n }\n }\n async detectBestConnection() {\n if (!this.wsBaseUrl) return false;\n try {\n const testSocket = lookup(this.wsBaseUrl, {\n auth: { apiKey: this.config.apiKey },\n transports: [\"websocket\"],\n timeout: 3e3\n });\n return new Promise((resolve) => {\n const timeout = setTimeout(() => {\n testSocket.disconnect();\n resolve(false);\n }, 3e3);\n testSocket.on(\"connect\", () => {\n clearTimeout(timeout);\n testSocket.disconnect();\n resolve(true);\n });\n testSocket.on(\"connect_error\", () => {\n clearTimeout(timeout);\n testSocket.disconnect();\n resolve(false);\n });\n });\n } catch (e) {\n return false;\n }\n }\n async inscribeViaWebSocket(request, clientConfig, progressCallback) {\n if (!this.wsBaseUrl) {\n const response = await this.client.get(\"/inscriptions/websocket-servers\");\n const recommended = response.data.recommended;\n if (!recommended) {\n throw new Error(\"No WebSocket servers available\");\n }\n this.wsBaseUrl = recommended;\n }\n await this.connectWebSocket();\n return new Promise((resolve, reject) => {\n if (!this.socket) {\n return reject(new Error(\"WebSocket not connected\"));\n }\n let jobId;\n let transactionId;\n let topicId;\n let timeoutHandle;\n const cleanup = () => {\n var _a2, _b2, _c;\n if (timeoutHandle) clearTimeout(timeoutHandle);\n (_a2 = this.socket) == null ? void 0 : _a2.off(\"inscription-progress\", progressHandler);\n (_b2 = this.socket) == null ? void 0 : _b2.off(\"inscription-complete\", completeHandler);\n (_c = this.socket) == null ? void 0 : _c.off(\"inscription-error\", errorHandler);\n };\n const TIMEOUT_MS = 6e4;\n timeoutHandle = setTimeout(() => {\n this.logger.error(\n `WebSocket inscription timeout after ${TIMEOUT_MS / 1e3} seconds`,\n {\n jobId,\n transactionId,\n lastTopicId: topicId\n }\n );\n cleanup();\n resolve({\n jobId,\n transactionId,\n topicId,\n topic_id: topicId,\n status: \"timeout\",\n completed: false\n });\n }, TIMEOUT_MS);\n const completeHandler = (data) => {\n cleanup();\n resolve({\n jobId,\n transactionId,\n topicId: data.topicId || data.topic_id,\n topic_id: data.topicId || data.topic_id,\n status: \"completed\",\n completed: true\n });\n };\n const errorHandler = (data) => {\n cleanup();\n reject(new Error(data.error || \"Inscription failed\"));\n };\n const progressHandler = (data) => {\n this.logger.debug(\"Progress event received:\", {\n jobId: data.jobId,\n status: data.status,\n progress: data.progress,\n topicId: data.topicId || data.topic_id,\n topic_id: data.topicId || data.topic_id\n });\n if (data.topicId || data.topic_id) {\n topicId = data.topicId || data.topic_id;\n }\n if (progressCallback) {\n progressCallback({\n stage: data.status === \"completed\" ? \"completed\" : \"confirming\",\n message: `Processing inscription: ${data.status}`,\n progressPercent: data.progress || 0,\n details: data\n });\n }\n if (data.status === \"completed\" || data.progress === 100) {\n this.logger.info(\"Inscription completed via progress handler\", {\n status: data.status,\n progress: data.progress,\n topicId: data.topicId || data.topic_id || topicId,\n topic_id: data.topicId || data.topic_id || topicId\n });\n cleanup();\n resolve({\n jobId,\n transactionId,\n topicId: data.topicId || data.topic_id || topicId,\n topic_id: data.topicId || data.topic_id || topicId,\n status: \"completed\",\n completed: true\n });\n }\n };\n this.socket.on(\"inscription-progress\", progressHandler);\n this.socket.on(\"inscription-complete\", completeHandler);\n this.socket.on(\"inscription-error\", errorHandler);\n this.socket.emit(\n \"start-inscription\",\n {\n ...request,\n network: this.config.network\n },\n async (response) => {\n if (!response.success) {\n cleanup();\n return reject(new Error(response.error || \"Inscription failed\"));\n }\n try {\n if (!response.transactionBytes) {\n throw new Error(\n \"No transaction bytes returned from WebSocket inscription\"\n );\n }\n transactionId = await this.executeTransaction(\n response.transactionBytes,\n clientConfig\n );\n jobId = response.jobId || response.tx_id;\n if (!jobId) {\n throw new Error(\"No job ID returned from WebSocket inscription\");\n }\n if (progressCallback) {\n progressCallback({\n stage: \"confirming\",\n message: \"Transaction executed, inscribing to HCS...\",\n progressPercent: 5\n });\n }\n this.logger.info(\n \"Transaction executed, waiting for inscription completion...\",\n {\n jobId,\n transactionId\n }\n );\n } catch (error) {\n cleanup();\n reject(error);\n }\n }\n );\n });\n }\n async connectWebSocket() {\n if (this.socketConnected && this.socket) return;\n if (!this.wsBaseUrl) {\n throw new Error(\"WebSocket URL not configured\");\n }\n return new Promise((resolve, reject) => {\n this.socket = lookup(this.wsBaseUrl, {\n auth: { apiKey: this.config.apiKey },\n transports: [\"websocket\", \"polling\"]\n });\n const timeout = setTimeout(() => {\n reject(new Error(\"WebSocket connection timeout\"));\n }, 1e4);\n this.socket.on(\"connect\", () => {\n clearTimeout(timeout);\n this.socketConnected = true;\n this.logger.info(\"WebSocket connected\");\n resolve();\n });\n this.socket.on(\"connect_error\", (error) => {\n clearTimeout(timeout);\n this.socketConnected = false;\n reject(new Error(`WebSocket connection failed: ${error.message}`));\n });\n this.socket.on(\"disconnect\", () => {\n this.socketConnected = false;\n this.logger.info(\"WebSocket disconnected\");\n });\n });\n }\n /**\n * Disconnects the WebSocket connection if active\n */\n disconnect() {\n if (this.socket) {\n this.socket.disconnect();\n this.socket = null;\n this.socketConnected = false;\n }\n }\n /**\n * Inscribes a file and executes the transaction. Note that base64 files are limited to 2MB, while URL files are limited to 100MB.\n * @param request - The request object containing the file to inscribe and the client configuration\n * @param clientConfig - The configuration for the Hedera network and account\n * @returns The transaction ID of the executed transaction\n * @throws ValidationError if the request is invalid\n * @throws Error if the transaction execution fails\n */\n async inscribe(request, signer) {\n const inscriptionResponse = await this.startInscription(request);\n if (!inscriptionResponse.transactionBytes) {\n this.logger.error(\n \"No transaction bytes returned from inscription request\",\n inscriptionResponse\n );\n throw new Error(\"No transaction bytes returned from inscription request\");\n }\n this.logger.info(\"executing transaction\");\n const transactionId = await this.executeTransactionWithSigner(\n inscriptionResponse.transactionBytes,\n signer\n );\n return {\n jobId: inscriptionResponse.tx_id,\n transactionId\n };\n }\n async retryWithBackoff(operation, maxRetries = 3, baseDelay = 1e3) {\n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n return await operation();\n } catch (error) {\n if (attempt === maxRetries - 1) {\n throw error;\n }\n const delay = baseDelay * Math.pow(2, attempt);\n await new Promise((resolve) => setTimeout(resolve, delay));\n this.logger.debug(\n `Retry attempt ${attempt + 1}/${maxRetries} after ${delay}ms delay`\n );\n }\n }\n throw new Error(\"Retry operation failed\");\n }\n /**\n * Retrieves an inscription by its transaction id. Call this function on an interval\n * so you can retrieve the status. Store the transaction id in your database if you\n * need to reference it later on\n * @param txId - The ID of the inscription to retrieve\n * @returns The retrieved inscription\n * @throws ValidationError if the ID is invalid\n * @throws Error if the retrieval fails\n */\n async retrieveInscription(txId) {\n if (!txId) {\n throw new ValidationError(\"Transaction ID is required\");\n }\n try {\n return await this.retryWithBackoff(async () => {\n const response = await this.client.get(\n `/inscriptions/retrieve-inscription?id=${txId}`\n );\n const result = response.data;\n return { ...result, jobId: result.id };\n });\n } catch (error) {\n this.logger.error(\"Failed to retrieve inscription:\", error);\n throw error;\n }\n }\n /**\n * Fetch inscription numbers with optional filtering and sorting\n * @param params Query parameters for filtering and sorting inscriptions\n * @returns Array of inscription details\n */\n async getInscriptionNumbers(params = {}) {\n try {\n const response = await this.client.get(\"/inscriptions/numbers\", {\n params\n });\n return response.data;\n } catch (error) {\n this.logger.error(\"Failed to fetch inscription numbers:\", error);\n throw error;\n }\n }\n /**\n * Authenticates the SDK with the provided configuration\n * @param config - The configuration for authentication\n * @returns The authentication result\n */\n static async authenticate(config) {\n const auth = new Auth(config);\n return auth.authenticate();\n }\n /**\n * Creates an instance of the InscriptionSDK with authentication.\n * Useful for cases where you don't have an API key but need to authenticate from server-side\n * with a private key.\n * @param config - The configuration for authentication\n * @returns An instance of the InscriptionSDK\n */\n static async createWithAuth(config) {\n const auth = config.type === \"client\" ? new ClientAuth({\n ...config,\n logger: Logger.getInstance()\n }) : new Auth(config);\n const { apiKey } = await auth.authenticate();\n return new _InscriptionSDK({\n apiKey,\n network: config.network || \"mainnet\",\n wsBaseUrl: config.wsBaseUrl,\n connectionMode: config.connectionMode || \"websocket\"\n });\n }\n async waitForInscription(txId, maxAttempts = 30, intervalMs = 4e3, checkCompletion = false, progressCallback) {\n var _a2;\n let attempts = 0;\n let highestPercentSoFar = 0;\n const reportProgress = (stage, message, percent, details) => {\n if (progressCallback) {\n try {\n highestPercentSoFar = Math.max(highestPercentSoFar, percent);\n progressCallback({\n stage,\n message,\n progressPercent: highestPercentSoFar,\n details: {\n ...details,\n txId,\n currentAttempt: attempts,\n maxAttempts\n }\n });\n } catch (err2) {\n this.logger.warn(`Error in progress callback: ${err2}`);\n }\n }\n };\n reportProgress(\"confirming\", \"Starting inscription verification\", 0);\n while (attempts < maxAttempts) {\n reportProgress(\n \"confirming\",\n `Verifying inscription status (attempt ${attempts + 1}/${maxAttempts})`,\n 5,\n { attempt: attempts + 1 }\n );\n const result = await this.retrieveInscription(txId);\n if (result.error) {\n reportProgress(\"verifying\", `Error: ${result.error}`, 100, {\n error: result.error\n });\n throw new Error(result.error);\n }\n let progressPercent = 5;\n if (result.messages !== void 0 && result.maxMessages !== void 0 && result.maxMessages > 0) {\n progressPercent = Math.min(\n 95,\n 5 + result.messages / result.maxMessages * 90\n );\n if (result.completed) {\n progressPercent = 100;\n }\n } else if (result.status === \"processing\") {\n progressPercent = 10;\n } else if (result.completed) {\n progressPercent = 100;\n }\n reportProgress(\n result.completed ? \"completed\" : \"confirming\",\n result.completed ? \"Inscription completed successfully\" : `Processing inscription (${result.status})`,\n progressPercent,\n {\n status: result.status,\n messagesProcessed: result.messages,\n maxMessages: result.maxMessages,\n messageCount: result.messages,\n completed: result.completed,\n confirmedMessages: result.confirmedMessages,\n result\n }\n );\n const isHashinal = result.mode === \"hashinal\";\n const isDynamic = ((_a2 = result.fileStandard) == null ? void 0 : _a2.toString()) === \"6\";\n if (isHashinal && result.topic_id && result.jsonTopicId) {\n if (!checkCompletion || result.completed) {\n reportProgress(\n \"completed\",\n \"Inscription verification complete\",\n 100,\n { result }\n );\n return result;\n }\n }\n if (!isHashinal && !isDynamic && result.topic_id) {\n if (!checkCompletion || result.completed) {\n reportProgress(\n \"completed\",\n \"Inscription verification complete\",\n 100,\n { result }\n );\n return result;\n }\n }\n if (isDynamic && result.topic_id && result.jsonTopicId && result.registryTopicId) {\n if (!checkCompletion || result.completed) {\n reportProgress(\n \"completed\",\n \"Inscription verification complete\",\n 100,\n { result }\n );\n return result;\n }\n }\n await new Promise((resolve) => setTimeout(resolve, intervalMs));\n attempts++;\n }\n reportProgress(\n \"verifying\",\n `Inscription ${txId} did not complete within ${maxAttempts} attempts`,\n 100,\n { timedOut: true }\n );\n throw new Error(\n `Inscription ${txId} did not complete within ${maxAttempts} attempts`\n );\n }\n /**\n * Fetch inscriptions owned by a specific holder\n * @param params Query parameters for retrieving holder's inscriptions\n * @returns Array of inscription details owned by the holder\n */\n async getHolderInscriptions(params) {\n var _a2, _b2;\n if (!params.holderId) {\n throw new ValidationError(\"Holder ID is required\");\n }\n try {\n const queryParams = {\n holderId: params.holderId\n };\n if (params.includeCollections) {\n queryParams.includeCollections = \"1\";\n }\n const response = await this.client.get(\n \"/inscriptions/holder-inscriptions\",\n {\n params: queryParams\n }\n );\n return response.data;\n } catch (error) {\n this.logger.error(\"Failed to fetch holder inscriptions:\", error);\n if (axios.isAxiosError(error)) {\n throw new Error(\n ((_b2 = (_a2 = error.response) == null ? void 0 : _a2.data) == null ? void 0 : _b2.message) || \"Failed to fetch holder inscriptions\"\n );\n }\n throw error;\n }\n }\n};\n__publicField(_InscriptionSDK, \"VALID_MODES\", [\n \"file\",\n \"upload\",\n \"hashinal\",\n \"hashinal-collection\"\n]);\n__publicField(_InscriptionSDK, \"MAX_BASE64_SIZE\", 2 * 1024 * 1024);\n__publicField(_InscriptionSDK, \"MAX_URL_FILE_SIZE\", 100 * 1024 * 1024);\n__publicField(_InscriptionSDK, \"VALID_MIME_TYPES\", {\n jpg: \"image/jpeg\",\n jpeg: \"image/jpeg\",\n png: \"image/png\",\n gif: \"image/gif\",\n ico: \"image/x-icon\",\n heic: \"image/heic\",\n heif: \"image/heif\",\n bmp: \"image/bmp\",\n webp: \"image/webp\",\n tiff: \"image/tiff\",\n tif: \"image/tiff\",\n svg: \"image/svg+xml\",\n mp4: \"video/mp4\",\n webm: \"video/webm\",\n mp3: \"audio/mpeg\",\n pdf: \"application/pdf\",\n doc: \"application/msword\",\n docx: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n xls: \"application/vnd.ms-excel\",\n xlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n ppt: \"application/vnd.ms-powerpoint\",\n pptx: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n html: \"text/html\",\n htm: \"text/html\",\n css: \"text/css\",\n php: \"application/x-httpd-php\",\n java: \"text/x-java-source\",\n js: \"application/javascript\",\n mjs: \"application/javascript\",\n csv: \"text/csv\",\n json: \"application/json\",\n txt: \"text/plain\",\n glb: \"model/gltf-binary\",\n wav: \"audio/wav\",\n ogg: \"audio/ogg\",\n oga: \"audio/ogg\",\n flac: \"audio/flac\",\n aac: \"audio/aac\",\n m4a: \"audio/mp4\",\n avi: \"video/x-msvideo\",\n mov: \"video/quicktime\",\n mkv: \"video/x-matroska\",\n m4v: \"video/mp4\",\n mpg: \"video/mpeg\",\n mpeg: \"video/mpeg\",\n ts: \"application/typescript\",\n zip: \"application/zip\",\n rar: \"application/vnd.rar\",\n tar: \"application/x-tar\",\n gz: \"application/gzip\",\n \"7z\": \"application/x-7z-compressed\",\n xml: \"application/xml\",\n yaml: \"application/yaml\",\n yml: \"application/yaml\",\n md: \"text/markdown\",\n markdown: \"text/markdown\",\n rtf: \"application/rtf\",\n gltf: \"model/gltf+json\",\n usdz: \"model/vnd.usdz+zip\",\n obj: \"model/obj\",\n stl: \"model/stl\",\n fbx: \"application/octet-stream\",\n ttf: \"font/ttf\",\n otf: \"font/otf\",\n woff: \"font/woff\",\n woff2: \"font/woff2\",\n eot: \"application/vnd.ms-fontobject\",\n psd: \"application/vnd.adobe.photoshop\",\n ai: \"application/postscript\",\n eps: \"application/postscript\",\n ps: \"application/postscript\",\n sqlite: \"application/x-sqlite3\",\n db: \"application/x-sqlite3\",\n apk: \"application/vnd.android.package-archive\",\n ics: \"text/calendar\",\n vcf: \"text/vcard\",\n py: \"text/x-python\",\n rb: \"text/x-ruby\",\n go: \"text/x-go\",\n rs: \"text/x-rust\",\n typescript: \"application/typescript\",\n jsx: \"text/jsx\",\n tsx: \"text/tsx\",\n sql: \"application/sql\",\n toml: \"application/toml\",\n avif: \"image/avif\",\n jxl: \"image/jxl\",\n weba: \"audio/webm\",\n wasm: \"application/wasm\"\n});\nlet InscriptionSDK = _InscriptionSDK;\nexport {\n Auth,\n ClientAuth,\n InscriptionSDK,\n ValidationError\n};\n//# sourceMappingURL=inscription-sdk.es.js.map\n"],"names":["_Logger","_InscriptionSDK"],"mappings":"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EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,iCAAiC;AACvC,eAAe,mBAAmB,OAAO,SAAS;AAChD,SAAO,IAAI,eAAe,OAAO,EAAE,WAAW,KAAK;AACrD;AACA,SAAS,wBAAwB,UAAU;AACzC,aAAW,SAAS,YAAW;AAC/B,UAAQ,UAAQ;AAAA,IACd,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,EACA;AACA;AACA,SAAS,OAAO,SAAS,SAAS,SAAS;AACzC,YAAU;AAAA,IACR,QAAQ;AAAA,IACR,GAAG;AAAA,EACP;AACE,aAAW,CAAC,OAAO,MAAM,KAAK,QAAQ,QAAO,GAAI;AAC/C,QAAI,QAAQ,MAAM;AAChB,UAAI,YAAY,QAAQ,KAAK,KAAK,IAAI,QAAQ,QAAQ,QAAQ,MAAM,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,IACF,WAAW,WAAW,QAAQ,QAAQ,QAAQ,MAAM,GAAG;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AACA,MAAM,eAAe;AAAA,EACnB,YAAY,SAAS;AAEnB,kBAAc,MAAM,mBAAmB,OAAO,cAAc;AAC1D,WAAK,SAAS,IAAI,WAAW,8BAA8B;AAC3D,UAAI,UAAU,SAAS,SAAS,QAAQ;AACtC,kBAAU,SAAS,OAAO,OAAO;AAAA,MACnC;AACA,WAAK,YAAY;AACjB,YAAM,UAAU,WAAW,KAAK,QAAQ,EAAE,QAAQ,IAAI,WAAW,MAAM;AACvE,UAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG;AACxB,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG;AACzB,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG;AACxB,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG;AACxB,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG;AACxB,cAAM,UAAU,WAAW,KAAK,QAAQ,EAAE,QAAQ,IAAI,WAAW,MAAM;AACvE,YAAI,KAAK,YAAY,aAAa,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,UAAU,EAAE,QAAQ,GAAE,CAAE,GAAG;AAC9F,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG;AAClD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG;AAC1B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG;AACzB,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG;AAC/B,aAAK,UAAU,OAAO,CAAC;AACvB,eAAO,KAAK,gBAAgB,SAAS;AAAA,MACvC;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG;AAC7B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG;AAC7B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,KAAK,GAAG;AAC3B,cAAM,UAAU,OAAO,CAAC;AACxB,cAAM,kBAAkB,MAAM,UAAU,UAAU,mBAAmB;AACrE,YAAI,UAAU,WAAW,kBAAkB,UAAU,SAAS,MAAM;AAClE,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,cAAM,UAAU,OAAO,eAAe;AACtC,eAAO,KAAK,cAAc,SAAS;AAAA,MACrC;AACA,UAAI,KAAK,YAAY,KAAK,GAAG;AAC3B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,WAAK,KAAK,OAAO,CAAC,MAAM,MAAM,KAAK,OAAO,CAAC,MAAM,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AAC3F,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG;AAC/B,YAAI,KAAK,MAAM,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AACpC,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG;AAChC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,QAAQ,EAAE,QAAQ,EAAC,CAAE,GAAG;AAC3C,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG;AAC9B,YAAI;AACJ,cAAM,IAAI,WAAW,SAAS,EAAE,MAAM,CAAC,cAAc;AACnD,kBAAQ,UAAU,UAAQ;AAAA,YACxB,KAAK;AACH,yBAAW;AAAA,gBACT,KAAK;AAAA,gBACL,MAAM;AAAA,cACtB;AACc,qBAAO;AAAA,gBACL,MAAM;AAAA,cACtB;AAAA,YACY,KAAK;AACH,yBAAW;AAAA,gBACT,KAAK;AAAA,gBACL,MAAM;AAAA,cACtB;AACc,qBAAO;AAAA,gBACL,MAAM;AAAA,cACtB;AAAA,YACY,KAAK;AACH,qBAAO;AAAA,gBACL,MAAM,QAAQ,UAAU;AACtB,wBAAM,WAAW,IAAI,YAAY,OAAO,EAAE,OAAO,QAAQ,EAAE,KAAI;AAC/D,6BAAW,wBAAwB,QAAQ;AAAA,gBAC7C;AAAA,gBACA,MAAM;AAAA,cACtB;AAAA,YACY,KAAK;AACH,qBAAO;AAAA,gBACL,MAAM,QAAQ,UAAU;AACtB,sBAAI,aAAa,IAAI,YAAY,OAAO,EAAE,OAAO,QAAQ;AACzD,wBAAM,SAAS,WAAW,QAAQ,YAAY;AAC9C,sBAAI,WAAW,IAAI;AACjB,0BAAM,WAAW;AACjB,wBAAI,WAAW,SAAS,gBAAgB,QAAQ,GAAG,GAAG;AACpD,iCAAW,wBAAwB,QAAQ;AAAA,oBAC7C;AAAA,kBACF,OAAO;AACL,iCAAa,WAAW,MAAM,GAAG,KAAK,IAAI,GAAG,MAAM,CAAC;AACpD,0BAAM,WAAW,WAAW,YAAY,GAAG;AAC3C,0BAAM,WAAW,WAAW,MAAM,KAAK,IAAI,GAAG,WAAW,CAAC,CAAC;AAC3D,+BAAW,wBAAwB,QAAQ;AAAA,kBAC7C;AAAA,gBACF;AAAA,gBACA,MAAM;AAAA,cACtB;AAAA,YACY;AACE,kBAAI,kBAAkB,KAAK,UAAU,QAAQ,GAAG;AAC9C,2BAAW;AAAA,kBACT,KAAK;AAAA,kBACL,MAAM;AAAA,gBACxB;AACgB,uBAAO,EAAE,MAAM,KAAI;AAAA,cACrB;AACA,qBAAO,CAAA;AAAA,UACrB;AAAA,QACQ,CAAC;AACD,eAAO,YAAY;AAAA,UACjB,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,cAAM,UAAU,OAAO,EAAE;AACzB,cAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,cAAM,UAAU,WAAW,IAAI;AAC/B,YAAI,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG;AACvD,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,OAAO,MAAM,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC,GAAG;AACpD,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,OAAO,MAAM,CAAC,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG;AACjD,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,OAAO,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AACvC,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,GAAG;AAClD,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,OAAO,MAAM,CAAC,GAAG,KAAK,KAAK,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG;AAClD,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,KAAK,KAAK,OAAO,CAAC,MAAM,KAAK,KAAK,OAAO,CAAC,MAAM,OAAO,KAAK,OAAO,CAAC,MAAM,KAAK,KAAK,OAAO,CAAC,MAAM,KAAK,KAAK,OAAO,CAAC,MAAM,IAAI;AAC5K,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,MAAM,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,KAAK,YAAY,QAAQ,EAAE,QAAQ,EAAC,CAAE,IAAI;AACpH,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,MAAM,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,KAAK,YAAY,QAAQ,EAAE,QAAQ,EAAC,CAAE,IAAI;AACpH,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG;AACxE,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA;AAAA,QAEhB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG;AACjC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG;AACjC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG;AACxB,cAAM,WAAW,MAAM,KAAK,eAAe,KAAK;AAChD,YAAI,UAAU;AACZ,iBAAO;AAAA,QACT;AAAA,MACF;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG;AACxB,cAAM,WAAW,MAAM,KAAK,eAAe,IAAI;AAC/C,YAAI,UAAU;AACZ,iBAAO;AAAA,QACT;AAAA,MACF;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG;AAClC,uBAAe,YAAY;AACzB,gBAAM,MAAM,MAAM,UAAU,WAAW,KAAK;AAC5C,cAAI,OAAO;AACX,cAAI,KAAK;AACT,kBAAQ,MAAM,UAAU,KAAK,SAAS,GAAG;AACvC,cAAE;AACF,qBAAS;AAAA,UACX;AACA,gBAAM,KAAK,IAAI,WAAW,KAAK,CAAC;AAChC,gBAAM,UAAU,WAAW,EAAE;AAC7B,iBAAO;AAAA,QACT;AACA,uBAAe,cAAc;AAC3B,gBAAM,UAAU,MAAM,UAAS;AAC/B,gBAAM,cAAc,MAAM,UAAS;AACnC,sBAAY,CAAC,KAAK,OAAO,YAAY,SAAS;AAC9C,gBAAM,WAAW,KAAK,IAAI,GAAG,YAAY,MAAM;AAC/C,gBAAM,SAAS,IAAI,SAAS,QAAQ,MAAM;AAC1C,gBAAM,aAAa,IAAI,SAAS,YAAY,QAAQ,YAAY,SAAS,UAAU,QAAQ;AAC3F,iBAAO;AAAA,YACL,IAAI,UAAU,MAAM;AAAA,YACpB,KAAK,UAAU,UAAU;AAAA,UACrC;AAAA,QACQ;AACA,uBAAe,aAAa,UAAU;AACpC,iBAAO,WAAW,GAAG;AACnB,kBAAM,UAAU,MAAM,YAAW;AACjC,gBAAI,QAAQ,OAAO,OAAO;AACxB,oBAAM,WAAW,MAAM,UAAU,UAAU,IAAI,WAAW,QAAQ,GAAG,CAAC;AACtE,qBAAO,SAAS,WAAW,WAAW,EAAE;AAAA,YAC1C;AACA,kBAAM,UAAU,OAAO,QAAQ,GAAG;AAClC,cAAE;AAAA,UACJ;AAAA,QACF;AACA,cAAM,MAAM,MAAM,YAAW;AAC7B,cAAM,eAAe,MAAM,aAAa,IAAI,GAAG;AAC/C,gBAAQ,cAAY;AAAA,UAClB,KAAK;AACH,mBAAO;AAAA,cACL,KAAK;AAAA,cACL,MAAM;AAAA,YACpB;AAAA,UACU,KAAK;AACH,mBAAO;AAAA,cACL,KAAK;AAAA,cACL,MAAM;AAAA,YACpB;AAAA,UACU;AACE;AAAA,QACZ;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AAChC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,KAAK,KAAK,YAAY,MAAM,GAAG;AACxD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG;AACpC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG;AACpC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG;AAClC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,GAAG;AACjC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AAChC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,KAAK,KAAK,YAAY,MAAM,GAAG;AACxD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG;AACpC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,GAAG;AAC/B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA;AAAA,QAEhB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG;AACnC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,OAAO,GAAG;AAC7B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,QAAQ,GAAG;AAC9B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG;AAC/B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,GAAG,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,GAAG,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,GAAG;AAChhB,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG;AAC9B,YAAI,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAC,CAAE,GAAG;AAChD,iBAAO;AAAA,YACL,KAAK;AAAA;AAAA,YAEL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAC,CAAE,GAAG;AAChD,iBAAO;AAAA,YACL,KAAK;AAAA;AAAA,YAEL,MAAM;AAAA,UAClB;AAAA,QACQ;AAAA,MACF;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG;AACpC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,MAAM,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,OAAO,GAAG;AAC7B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA;AAAA,QAEhB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG;AACzC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,QAAQ,GAAG;AAC9B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,GAAG;AAC3C,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,KAAK,KAAK,OAAO,CAAC,MAAM,IAAI;AAC1F,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,QAAQ,GAAG;AAC9B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,IAAI,GAAG;AAC1B,cAAM,UAAU,IAAI,WAAW,GAAG,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC;AAC9D,YAAI,QAAQ,MAAM,KAAK,KAAK,WAAW,OAAO,WAAW,MAAM;AAC7D,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AAAA,MACF;AACA,UAAI,KAAK,YAAY,QAAQ,GAAG;AAC9B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,SAAS,GAAG;AAC/B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,SAAS,GAAG;AAC/B,cAAM,UAAU,OAAO,CAAC;AACxB,cAAM,SAAS,MAAM,UAAU,UAAU,IAAI,WAAW,IAAI,OAAO,CAAC;AACpE,YAAI,WAAW,iBAAiB;AAC9B,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,QAAQ;AAAA,MAC7B,CAAC,MAAM,MAAM,KAAK,KAAK,IAAI,EAAE,KAAK,CAAC,UAAU,KAAK,YAAY,OAAO,EAAE,QAAQ,EAAC,CAAE,CAAC,GAAG;AACpF,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AACjD,cAAM,UAAU,OAAO,CAAC;AACxB,uBAAe,kBAAkB;AAC/B,iBAAO;AAAA,YACL,QAAQ,MAAM,UAAU,UAAU,QAAQ;AAAA,YAC1C,MAAM,MAAM,UAAU,UAAU,IAAI,WAAW,GAAG,QAAQ,CAAC;AAAA,UACvE;AAAA,QACQ;AACA,WAAG;AACD,gBAAM,QAAQ,MAAM,gBAAe;AACnC,cAAI,MAAM,SAAS,GAAG;AACpB;AAAA,UACF;AACA,kBAAQ,MAAM,MAAI;AAAA,YAChB,KAAK;AACH,qBAAO;AAAA,gBACL,KAAK;AAAA,gBACL,MAAM;AAAA,cACtB;AAAA,YACY,KAAK;AACH,qBAAO;AAAA,gBACL,KAAK;AAAA,gBACL,MAAM;AAAA,cACtB;AAAA,YACY;AACE,oBAAM,UAAU,OAAO,MAAM,SAAS,CAAC;AAAA,UACrD;AAAA,QACQ,SAAS,UAAU,WAAW,IAAI,UAAU,SAAS;AACrD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG;AAC9C,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG;AAC9C,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,MAAM,CAAC,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AAC3M,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG;AAChD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,WAAW,GAAG;AACjC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,QAAQ,EAAE,QAAQ,EAAC,CAAE,MAAM,KAAK,OAAO,CAAC,IAAI,QAAQ,GAAG;AAC1E,cAAM,aAAa,IAAI,WAAW,GAAG,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,EAAE,QAAQ,MAAM,GAAG,EAAE,KAAI;AAC1F,gBAAQ,YAAU;AAAA,UAChB,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,EAAE,KAAK,QAAQ,MAAM,aAAY;AAAA,UAC1C,KAAK;AACH,mBAAO,EAAE,KAAK,QAAQ,MAAM,aAAY;AAAA,UAC1C,KAAK;AACH,mBAAO,EAAE,KAAK,QAAQ,MAAM,sBAAqB;AAAA,UACnD,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,EAAE,KAAK,QAAQ,MAAM,aAAY;AAAA,UAC1C,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,EAAE,KAAK,QAAQ,MAAM,sBAAqB;AAAA,UACnD,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,kBAAiB;AAAA,UAC9C,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,cAAa;AAAA,UAC1C,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,YAAW;AAAA,UACxC,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,YAAW;AAAA,UACxC,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,cAAa;AAAA,UAC1C,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,YAAW;AAAA,UACxC,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,YAAW;AAAA,UACxC,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,YAAW;AAAA,UACxC,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,YAAW;AAAA,UACxC,KAAK;AACH,mBAAO,EAAE,KAAK,OAAO,MAAM,oBAAmB;AAAA,UAChD;AACE,gBAAI,WAAW,WAAW,IAAI,GAAG;AAC/B,kBAAI,WAAW,WAAW,KAAK,GAAG;AAChC,uBAAO,EAAE,KAAK,OAAO,MAAM,cAAa;AAAA,cAC1C;AACA,qBAAO,EAAE,KAAK,OAAO,MAAM,aAAY;AAAA,YACzC;AACA,mBAAO,EAAE,KAAK,OAAO,MAAM,YAAW;AAAA,QAClD;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AAChC,YAAI,KAAK,YAAY,QAAQ,EAAE,QAAQ,EAAC,CAAE,GAAG;AAC3C,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AAC3C,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AAC/C,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AAC/C,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AAAA,MACF;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG;AAChE,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG;AAC/D,uBAAe,aAAa;AAC1B,gBAAM,OAAO,IAAI,WAAW,EAAE;AAC9B,gBAAM,UAAU,WAAW,IAAI;AAC/B,iBAAO;AAAA,YACL,IAAI;AAAA,YACJ,MAAM,OAAO,MAAM,UAAU,UAAU,SAAS,CAAC;AAAA,UAC7D;AAAA,QACQ;AACA,cAAM,UAAU,OAAO,EAAE;AACzB,eAAO,UAAU,WAAW,KAAK,UAAU,SAAS,MAAM;AACxD,gBAAM,SAAS,MAAM,WAAU;AAC/B,cAAI,UAAU,OAAO,OAAO;AAC5B,cAAI,OAAO,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG;AAC/F,kBAAM,SAAS,IAAI,WAAW,EAAE;AAChC,uBAAW,MAAM,UAAU,WAAW,MAAM;AAC5C,gBAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AAC1F,qBAAO;AAAA,gBACL,KAAK;AAAA,gBACL,MAAM;AAAA,cACtB;AAAA,YACY;AACA,gBAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AAC1F,qBAAO;AAAA,gBACL,KAAK;AAAA,gBACL,MAAM;AAAA,cACtB;AAAA,YACY;AACA;AAAA,UACF;AACA,gBAAM,UAAU,OAAO,OAAO;AAAA,QAChC;AACA,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG;AAClE,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,WAAK,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AACzG,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AACrE,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,GAAG;AAClC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,GAAG;AAC/D,cAAM,UAAU,OAAO,EAAE;AACzB,cAAM,OAAO,MAAM,UAAU,UAAU,IAAI,WAAW,GAAG,OAAO,CAAC;AACjE,gBAAQ,MAAI;AAAA,UACV,KAAK;AACH,mBAAO;AAAA,cACL,KAAK;AAAA,cACL,MAAM;AAAA,YACpB;AAAA,UACU,KAAK;AACH,mBAAO;AAAA,cACL,KAAK;AAAA,cACL,MAAM;AAAA,YACpB;AAAA,UACU,KAAK;AACH,mBAAO;AAAA,cACL,KAAK;AAAA,cACL,MAAM;AAAA,YACpB;AAAA,UACU,KAAK;AACH,mBAAO;AAAA,cACL,KAAK;AAAA,cACL,MAAM;AAAA,YACpB;AAAA,UACU;AACE;AAAA,QACZ;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,GAAG;AACvF,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG;AAC1B,YAAI,KAAK,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AACrE,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,eAAO;AAAA,MACT;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG;AACtD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,YAAM,UAAU,WAAW,KAAK,QAAQ,EAAE,QAAQ,KAAK,IAAI,KAAK,UAAU,SAAS,IAAI,GAAG,WAAW,MAAM;AAC3G,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,GAAG,GAAG,EAAE,QAAQ,GAAE,CAAE,GAAG;AAClD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,YAAY,MAAM,EAAE,QAAQ,GAAE,CAAE,GAAG;AACtF,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,QAAQ,GAAG;AAC9B,YAAI,KAAK,YAAY,SAAS,EAAE,QAAQ,EAAC,CAAE,GAAG;AAC5C,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,KAAK,YAAY,aAAa,EAAE,QAAQ,EAAC,CAAE,GAAG;AAChD,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AAAA,MACF;AACA,UAAI,KAAK,YAAY,iBAAiB,GAAG;AACvC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,kBAAkB,GAAG;AACxC,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,qBAAqB,GAAG;AAC3C,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO,UAAU,IAAI;AACxD,cAAM,WAAW,IAAI,SAAS,KAAK,OAAO,MAAM,EAAE,UAAU,IAAI,IAAI;AACpE,YAAI,WAAW,MAAM,KAAK,OAAO,UAAU,WAAW,IAAI;AACxD,cAAI;AACF,kBAAM,SAAS,IAAI,YAAW,EAAG,OAAO,KAAK,OAAO,SAAS,IAAI,WAAW,EAAE,CAAC;AAC/E,kBAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,gBAAI,KAAK,OAAO;AACd,qBAAO;AAAA,gBACL,KAAK;AAAA,gBACL,MAAM;AAAA,cACtB;AAAA,YACY;AAAA,UACF,QAAQ;AAAA,UACR;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG;AAC9D,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,QAAQ,EAAE,QAAQ,GAAE,CAAE,GAAG;AAC5C,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,IAAG,CAAE,GAAG;AACzD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,IAAG,CAAE,GAAG;AACxE,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,GAAE,CAAE,GAAG;AAChE,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,IAAG,CAAE,GAAG;AACjD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG;AACjF,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA;AAAA,QAEhB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,KAAK,IAAI,KAAK,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG;AAC9E,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA;AAAA,QAEhB;AAAA,MACM;AACA,UAAI,KAAK,YAAY,wBAAwB,GAAG;AAC9C,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA;AAAA,QAEhB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,GAAE,CAAE,MAAM,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAC,CAAE,KAAK,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAC,CAAE,IAAI;AAClK,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC,GAAG;AACxF,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,YAAM,UAAU,WAAW,KAAK,QAAQ,EAAE,QAAQ,KAAK,IAAI,KAAK,UAAU,SAAS,IAAI,GAAG,WAAW,MAAM;AAC3G,UAAI,KAAK,YAAY,SAAS,EAAE,QAAQ,IAAG,CAAE,MAAM,KAAK,YAAY,MAAM,EAAE,QAAQ,IAAG,CAAE,KAAK,KAAK,YAAY,KAAK,EAAE,QAAQ,IAAG,CAAE,MAAM,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAG,CAAE,KAAK,yBAAyB,KAAK,MAAM,GAAG;AACjO,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG;AAC1B,YAAI,KAAK,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AACrE,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,KAAK,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAC,CAAE,GAAG;AACnJ,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,eAAO;AAAA,MACT;AACA,UAAI,KAAK,YAAY,6BAA6B,GAAG;AACnD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AAAA,IACF,CAAC;AAED,kBAAc,MAAM,mBAAmB,OAAO,cAAc;AAC1D,WAAK,SAAS,IAAI,WAAW,8BAA8B;AAC3D,YAAM,UAAU,WAAW,KAAK,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,UAAU,SAAS,IAAI,GAAG,WAAW,MAAM;AACzG,UAAI,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG;AAC5D,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG;AAC/B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG;AAC5B,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,YAAM,UAAU,WAAW,KAAK,QAAQ,EAAE,QAAQ,KAAK,IAAI,IAAI,KAAK,QAAQ,qBAAqB,UAAU,SAAS,IAAI,GAAG,WAAW,MAAM;AAC5I,UAAI,KAAK,OAAO,UAAU,IAAI,KAAK,QAAQ,qBAAqB;AAC9D,iBAAS,QAAQ,GAAG,SAAS,KAAK,QAAQ,qBAAqB,EAAE,OAAO;AACtE,gBAAM,OAAO,KAAK,SAAS,KAAK;AAChC,cAAI,MAAM;AACR,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,SAAK,UAAU;AAAA,MACb,qBAAqB;AAAA,MACrB,GAAG;AAAA,IACT;AACI,SAAK,YAAY;AAAA,MACf,IAAI,WAAW,OAAO,SAAS,QAAQ,oBAAoB,CAAA;AAAA,MAC3D,EAAE,IAAI,QAAQ,QAAQ,KAAK,gBAAe;AAAA,MAC1C,EAAE,IAAI,kBAAkB,QAAQ,KAAK,gBAAe;AAAA,IAC1D;AACI,SAAK,mBAAmB;AAAA,MACtB,aAAa,WAAW,OAAO,SAAS,QAAQ;AAAA,IACtD;AAAA,EACE;AAAA,EACA,MAAM,cAAc,WAAW;AAC7B,UAAM,kBAAkB,UAAU;AAClC,eAAW,YAAY,KAAK,WAAW;AACrC,YAAM,WAAW,MAAM,SAAS,OAAO,SAAS;AAChD,UAAI,UAAU;AACZ,eAAO;AAAA,MACT;AACA,UAAI,oBAAoB,UAAU,UAAU;AAC1C,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,WAAW,OAAO;AACtB,QAAI,EAAE,iBAAiB,cAAc,iBAAiB,cAAc;AAClE,YAAM,IAAI,UAAU,0FAA0F,OAAO,KAAK,IAAI;AAAA,IAChI;AACA,UAAM,UAAU,iBAAiB,aAAa,QAAQ,IAAI,WAAW,KAAK;AAC1E,QAAI,GAAG,WAAW,OAAO,SAAS,QAAQ,UAAU,IAAI;AACtD;AAAA,IACF;AACA,WAAO,KAAK,cAAc,WAAW,SAAS,KAAK,gBAAgB,CAAC;AAAA,EACtE;AAAA,EACA,MAAM,SAAS,MAAM;AACnB,WAAO,KAAK,WAAW,KAAK,OAAM,CAAE;AAAA,EACtC;AAAA,EACA,MAAM,WAAW,QAAQ;AACvB,UAAM,YAAY,MAAM,cAAc,QAAQ,KAAK,gBAAgB;AACnE,QAAI;AACF,aAAO,MAAM,KAAK,cAAc,SAAS;AAAA,IAC3C,UAAC;AACC,YAAM,UAAU,MAAK;AAAA,IACvB;AAAA,EACF;AAAA,EACA,MAAM,kBAAkB,QAAQ,SAAS;AACvC,UAAM,EAAE,aAAa,+BAA8B,IAAK;AACxD,QAAI;AACJ,QAAI;AACJ,UAAM,SAAS,OAAO,UAAU,EAAE,MAAM,OAAM,CAAE;AAChD,QAAI;AACF,YAAM,EAAE,OAAO,OAAO,KAAI,IAAK,MAAM,OAAO,KAAK,IAAI,WAAW,UAAU,CAAC;AAC3E,mBAAa;AACb,UAAI,CAAC,QAAQ,OAAO;AAClB,YAAI;AACF,6BAAmB,MAAM,KAAK,WAAW,MAAM,SAAS,GAAG,UAAU,CAAC;AAAA,QACxE,SAAS,OAAO;AACd,cAAI,EAAE,iBAAiB,mBAAmB;AACxC,kBAAM;AAAA,UACR;AACA,6BAAmB;AAAA,QACrB;AAAA,MACF;AACA,mBAAa;AAAA,IACf,UAAC;AACC,aAAO,YAAW;AAAA,IACpB;AACA,UAAM,kBAAkB,IAAI,gBAAgB;AAAA,MAC1C,MAAM,MAAM,YAAY;AACtB,mBAAW,QAAQ,UAAU;AAAA,MAC/B;AAAA,MACA,UAAU,OAAO,YAAY;AAC3B,mBAAW,QAAQ,KAAK;AAAA,MAC1B;AAAA,IACN,CAAK;AACD,UAAM,YAAY,OAAO,YAAY,eAAe;AACpD,cAAU,WAAW;AACrB,WAAO;AAAA,EACT;AAAA,EACA,MAAM,QAAQ,SAAS;AACrB,WAAO,OAAO,KAAK,QAAQ,QAAQ,OAAO;AAAA,EAC5C;AAAA,EACA,YAAY,QAAQ,SAAS;AAC3B,WAAO,KAAK,MAAM,cAAc,MAAM,GAAG,OAAO;AAAA,EAClD;AAAA,EACA,MAAM,YAAY,WAAW;AAC3B,UAAM,QAAQ,MAAM,KAAK,UAAU,UAAU,YAAY,YAAY,SAAS;AAC9E,SAAK,UAAU,OAAO,EAAE;AACxB,YAAQ,OAAK;AAAA,MACX,KAAK;AACH,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM,KAAK;AACH,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,IACA;AAAA,EACE;AAAA,EACA,MAAM,YAAY,WAAW;AAC3B,UAAM,eAAe,MAAM,KAAK,UAAU,UAAU,YAAY,YAAY,SAAS;AACrF,aAAS,IAAI,GAAG,IAAI,cAAc,EAAE,GAAG;AACrC,YAAM,WAAW,MAAM,KAAK,YAAY,SAAS;AACjD,UAAI,UAAU;AACZ,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,eAAe,WAAW;AAC9B,UAAM,WAAW,YAAY,YAAY,WAAW,IAAI,KAAK,QAAQ,CAAC;AACtE,UAAM,aAAa,YAAY,YAAY,WAAW,IAAI,KAAK,QAAQ,CAAC;AACxE,QAAI,YAAY,IAAI;AAClB,UAAI,aAAa,GAAG;AAClB,YAAI,KAAK,YAAY,MAAM,EAAE,QAAQ,EAAC,CAAE,GAAG;AACzC,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,YAAI,aAAa,GAAG;AAClB,gBAAM,WAAW,YAAY,YAAY,WAAW,IAAI,KAAK,QAAQ,CAAC;AACtE,gBAAM,WAAW,YAAY,YAAY,WAAW,IAAI,KAAK,QAAQ,EAAE;AACvE,cAAI,YAAY,MAAM,YAAY,OAAO,YAAY,MAAM,YAAY,IAAI;AACzE,mBAAO;AAAA,cACL,KAAK;AAAA,cACL,MAAM;AAAA,YACpB;AAAA,UACU;AAAA,QACF;AAAA,MACF;AACA,YAAM,KAAK,UAAU,OAAO,SAAS;AACrC,YAAM,WAAW,MAAM,KAAK,YAAY,SAAS;AACjD,aAAO,YAAY;AAAA,QACjB,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI;AACA,QAAI,YAAY,IAAI;AAClB,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACd;AAAA,IACI;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,QAAQ;AACf,QAAI,KAAK,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,QAAQ,MAAM,CAAC,KAAK,GAAG,EAAC,CAAE,GAAG;AACxD,UAAI,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,SAAS,GAAG,MAAM,CAAC,EAAE,EAAC,CAAE,GAAG;AACxD,YAAI,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,SAAS,GAAG,MAAM,CAAC,CAAC,EAAC,CAAE,GAAG;AACtD,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACQ;AACA,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,SAAS,GAAG,MAAM,CAAC,CAAC,EAAC,CAAE,GAAG;AACtD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,SAAS,GAAG,MAAM,CAAC,CAAC,EAAC,CAAE,GAAG;AACtD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AACA,UAAI,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,SAAS,GAAG,MAAM,CAAC,CAAC,EAAC,CAAE,GAAG;AACtD,eAAO;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,QAChB;AAAA,MACM;AAAA,IACF;AAAA,EACF;AACF;AACA,IAAI,IAAI,UAAU;AAClB,IAAI,IAAI,SAAS;AACjB,MAAM,eAA+B,uBAAO,OAAO,IAAI;AACvD,aAAa,MAAM,IAAI;AACvB,aAAa,OAAO,IAAI;AACxB,aAAa,MAAM,IAAI;AACvB,aAAa,MAAM,IAAI;AACvB,aAAa,SAAS,IAAI;AAC1B,aAAa,SAAS,IAAI;AAC1B,aAAa,MAAM,IAAI;AACvB,MAAM,uBAAuC,uBAAO,OAAO,IAAI;AAC/D,OAAO,KAAK,YAAY,EAAE,QAAQ,CAAC,QAAQ;AACzC,uBAAqB,aAAa,GAAG,CAAC,IAAI;AAC5C,CAAC;AACD,MAAM,eAAe,EAAE,MAAM,SAAS,MAAM,eAAc;AAC1D,MAAM,mBAAmB,OAAO,SAAS,cAAc,OAAO,SAAS,eAAe,OAAO,UAAU,SAAS,KAAK,IAAI,MAAM;AAC/H,MAAM,0BAA0B,OAAO,gBAAgB;AACvD,MAAM,WAAW,CAAC,QAAQ;AACxB,SAAO,OAAO,YAAY,WAAW,aAAa,YAAY,OAAO,GAAG,IAAI,OAAO,IAAI,kBAAkB;AAC3G;AACA,MAAM,eAAe,CAAC,EAAE,MAAM,KAAI,GAAI,gBAAgB,aAAa;AACjE,MAAI,oBAAoB,gBAAgB,MAAM;AAC5C,QAAI,gBAAgB;AAClB,aAAO,SAAS,IAAI;AAAA,IACtB,OAAO;AACL,aAAO,mBAAmB,MAAM,QAAQ;AAAA,IAC1C;AAAA,EACF,WAAW,4BAA4B,gBAAgB,eAAe,SAAS,IAAI,IAAI;AACrF,QAAI,gBAAgB;AAClB,aAAO,SAAS,IAAI;AAAA,IACtB,OAAO;AACL,aAAO,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ;AAAA,IACtD;AAAA,EACF;AACA,SAAO,SAAS,aAAa,IAAI,KAAK,QAAQ,GAAG;AACnD;AACA,MAAM,qBAAqB,CAAC,MAAM,aAAa;AAC7C,QAAM,aAAa,IAAI,WAAU;AACjC,aAAW,SAAS,WAAW;AAC7B,UAAM,UAAU,WAAW,OAAO,MAAM,GAAG,EAAE,CAAC;AAC9C,aAAS,OAAO,WAAW,GAAG;AAAA,EAChC;AACA,SAAO,WAAW,cAAc,IAAI;AACtC;AACA,SAAS,QAAQ,MAAM;AACrB,MAAI,gBAAgB,YAAY;AAC9B,WAAO;AAAA,EACT,WAAW,gBAAgB,aAAa;AACtC,WAAO,IAAI,WAAW,IAAI;AAAA,EAC5B,OAAO;AACL,WAAO,IAAI,WAAW,KAAK,QAAQ,KAAK,YAAY,KAAK,UAAU;AAAA,EACrE;AACF;AACA,IAAI;AACJ,SAAS,qBAAqB,QAAQ,UAAU;AAC9C,MAAI,oBAAoB,OAAO,gBAAgB,MAAM;AACnD,WAAO,OAAO,KAAK,YAAW,EAAG,KAAK,OAAO,EAAE,KAAK,QAAQ;AAAA,EAC9D,WAAW,4BAA4B,OAAO,gBAAgB,eAAe,SAAS,OAAO,IAAI,IAAI;AACnG,WAAO,SAAS,QAAQ,OAAO,IAAI,CAAC;AAAA,EACtC;AACA,eAAa,QAAQ,OAAO,CAAC,YAAY;AACvC,QAAI,CAAC,cAAc;AACjB,qBAAe,IAAI,YAAW;AAAA,IAChC;AACA,aAAS,aAAa,OAAO,OAAO,CAAC;AAAA,EACvC,CAAC;AACH;AACA,MAAM,QAAQ;AACd,MAAM,WAAW,OAAO,eAAe,cAAc,CAAA,IAAK,IAAI,WAAW,GAAG;AAC5E,SAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,WAAS,MAAM,WAAW,CAAC,CAAC,IAAI;AAClC;AACA,MAAM,WAAW,CAAC,WAAW;AAC3B,MAAI,eAAe,OAAO,SAAS,MAAM,MAAM,OAAO,QAAQ,GAAG,IAAI,GAAG,UAAU,UAAU,UAAU;AACtG,MAAI,OAAO,OAAO,SAAS,CAAC,MAAM,KAAK;AACrC;AACA,QAAI,OAAO,OAAO,SAAS,CAAC,MAAM,KAAK;AACrC;AAAA,IACF;AAAA,EACF;AACA,QAAM,cAAc,IAAI,YAAY,YAAY,GAAG,QAAQ,IAAI,WAAW,WAAW;AACrF,OAAK,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC3B,eAAW,SAAS,OAAO,WAAW,CAAC,CAAC;AACxC,eAAW,SAAS,OAAO,WAAW,IAAI,CAAC,CAAC;AAC5C,eAAW,SAAS,OAAO,WAAW,IAAI,CAAC,CAAC;AAC5C,eAAW,SAAS,OAAO,WAAW,IAAI,CAAC,CAAC;AAC5C,UAAM,GAAG,IAAI,YAAY,IAAI,YAAY;AACzC,UAAM,GAAG,KAAK,WAAW,OAAO,IAAI,YAAY;AAChD,UAAM,GAAG,KAAK,WAAW,MAAM,IAAI,WAAW;AAAA,EAChD;AACA,SAAO;AACT;AACA,MAAM,0BAA0B,OAAO,gBAAgB;AACvD,MAAM,eAAe,CAAC,eAAe,eAAe;AAClD,MAAI,OAAO,kBAAkB,UAAU;AACrC,WAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM,UAAU,eAAe,UAAU;AAAA,IAC/C;AAAA,EACE;AACA,QAAM,OAAO,cAAc,OAAO,CAAC;AACnC,MAAI,SAAS,KAAK;AAChB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM,mBAAmB,cAAc,UAAU,CAAC,GAAG,UAAU;AAAA,IACrE;AAAA,EACE;AACA,QAAM,aAAa,qBAAqB,IAAI;AAC5C,MAAI,CAAC,YAAY;AACf,WAAO;AAAA,EACT;AACA,SAAO,cAAc,SAAS,IAAI;AAAA,IAChC,MAAM,qBAAqB,IAAI;AAAA,IAC/B,MAAM,cAAc,UAAU,CAAC;AAAA,EACnC,IAAM;AAAA,IACF,MAAM,qBAAqB,IAAI;AAAA,EACnC;AACA;AACA,MAAM,qBAAqB,CAAC,MAAM,eAAe;AAC/C,MAAI,yBAAyB;AAC3B,UAAM,UAAU,SAAS,IAAI;AAC7B,WAAO,UAAU,SAAS,UAAU;AAAA,EACtC,OAAO;AACL,WAAO,EAAE,QAAQ,MAAM,KAAI;AAAA,EAC7B;AACF;AACA,MAAM,YAAY,CAAC,MAAM,eAAe;AACtC,UAAQ,YAAU;AAAA,IAChB,KAAK;AACH,UAAI,gBAAgB,MAAM;AACxB,eAAO;AAAA,MACT,OAAO;AACL,eAAO,IAAI,KAAK,CAAC,IAAI,CAAC;AAAA,MACxB;AAAA,IACF,KAAK;AAAA,IACL;AACE,UAAI,gBAAgB,aAAa;AAC/B,eAAO;AAAA,MACT,OAAO;AACL,eAAO,KAAK;AAAA,MACd;AAAA,EACN;AACA;AACA,MAAM,YAAY,OAAO,aAAa,EAAE;AACxC,MAAM,gBAAgB,CAAC,SAAS,aAAa;AAC3C,QAAM,SAAS,QAAQ;AACvB,QAAM,iBAAiB,IAAI,MAAM,MAAM;AACvC,MAAI,QAAQ;AACZ,UAAQ,QAAQ,CAAC,QAAQ,MAAM;AAC7B,iBAAa,QAAQ,OAAO,CAAC,kBAAkB;AAC7C,qBAAe,CAAC,IAAI;AACpB,UAAI,EAAE,UAAU,QAAQ;AACtB,iBAAS,eAAe,KAAK,SAAS,CAAC;AAAA,MACzC;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;AACA,MAAM,gBAAgB,CAAC,gBAAgB,eAAe;AACpD,QAAM,iBAAiB,eAAe,MAAM,SAAS;AACrD,QAAM,UAAU,CAAA;AAChB,WAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAC9C,UAAM,gBAAgB,aAAa,eAAe,CAAC,GAAG,UAAU;AAChE,YAAQ,KAAK,aAAa;AAC1B,QAAI,cAAc,SAAS,SAAS;AAClC;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,4BAA4B;AACnC,SAAO,IAAI,gBAAgB;AAAA,IACzB,UAAU,QAAQ,YAAY;AAC5B,2BAAqB,QAAQ,CAAC,kBAAkB;AAC9C,cAAM,gBAAgB,cAAc;AACpC,YAAI;AACJ,YAAI,gBAAgB,KAAK;AACvB,mBAAS,IAAI,WAAW,CAAC;AACzB,cAAI,SAAS,OAAO,MAAM,EAAE,SAAS,GAAG,aAAa;AAAA,QACvD,WAAW,gBAAgB,OAAO;AAChC,mBAAS,IAAI,WAAW,CAAC;AACzB,gBAAM,OAAO,IAAI,SAAS,OAAO,MAAM;AACvC,eAAK,SAAS,GAAG,GAAG;AACpB,eAAK,UAAU,GAAG,aAAa;AAAA,QACjC,OAAO;AACL,mBAAS,IAAI,WAAW,CAAC;AACzB,gBAAM,OAAO,IAAI,SAAS,OAAO,MAAM;AACvC,eAAK,SAAS,GAAG,GAAG;AACpB,eAAK,aAAa,GAAG,OAAO,aAAa,CAAC;AAAA,QAC5C;AACA,YAAI,OAAO,QAAQ,OAAO,OAAO,SAAS,UAAU;AAClD,iBAAO,CAAC,KAAK;AAAA,QACf;AACA,mBAAW,QAAQ,MAAM;AACzB,mBAAW,QAAQ,aAAa;AAAA,MAClC,CAAC;AAAA,IACH;AAAA,EACJ,CAAG;AACH;AACA,IAAI;AACJ,SAAS,YAAY,QAAQ;AAC3B,SAAO,OAAO,OAAO,CAAC,KAAK,UAAU,MAAM,MAAM,QAAQ,CAAC;AAC5D;AACA,SAAS,aAAa,QAAQ,MAAM;AAClC,MAAI,OAAO,CAAC,EAAE,WAAW,MAAM;AAC7B,WAAO,OAAO,MAAK;AAAA,EACrB;AACA,QAAM,UAAU,IAAI,WAAW,IAAI;AACnC,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,YAAQ,CAAC,IAAI,OAAO,CAAC,EAAE,GAAG;AAC1B,QAAI,MAAM,OAAO,CAAC,EAAE,QAAQ;AAC1B,aAAO,MAAK;AACZ,UAAI;AAAA,IACN;AAAA,EACF;AACA,MAAI,OAAO,UAAU,IAAI,OAAO,CAAC,EAAE,QAAQ;AACzC,WAAO,CAAC,IAAI,OAAO,CAAC,EAAE,MAAM,CAAC;AAAA,EAC/B;AACA,SAAO;AACT;AACA,SAAS,0BAA0B,YAAY,YAAY;AACzD,MAAI,CAAC,cAAc;AACjB,mBAAe,IAAI,YAAW;AAAA,EAChC;AACA,QAAM,SAAS,CAAA;AACf,MAAI,QAAQ;AACZ,MAAI,iBAAiB;AACrB,MAAI,YAAY;AAChB,SAAO,IAAI,gBAAgB;AAAA,IACzB,UAAU,OAAO,YAAY;AAC3B,aAAO,KAAK,KAAK;AACjB,aAAO,MAAM;AACX,YAAI,UAAU,GAAG;AACf,cAAI,YAAY,MAAM,IAAI,GAAG;AAC3B;AAAA,UACF;AACA,gBAAM,SAAS,aAAa,QAAQ,CAAC;AACrC,uBAAa,OAAO,CAAC,IAAI,SAAS;AAClC,2BAAiB,OAAO,CAAC,IAAI;AAC7B,cAAI,iBAAiB,KAAK;AACxB,oBAAQ;AAAA,UACV,WAAW,mBAAmB,KAAK;AACjC,oBAAQ;AAAA,UACV,OAAO;AACL,oBAAQ;AAAA,UACV;AAAA,QACF,WAAW,UAAU,GAAG;AACtB,cAAI,YAAY,MAAM,IAAI,GAAG;AAC3B;AAAA,UACF;AACA,gBAAM,cAAc,aAAa,QAAQ,CAAC;AAC1C,2BAAiB,IAAI,SAAS,YAAY,QAAQ,YAAY,YAAY,YAAY,MAAM,EAAE,UAAU,CAAC;AACzG,kBAAQ;AAAA,QACV,WAAW,UAAU,GAAG;AACtB,cAAI,YAAY,MAAM,IAAI,GAAG;AAC3B;AAAA,UACF;AACA,gBAAM,cAAc,aAAa,QAAQ,CAAC;AAC1C,gBAAM,OAAO,IAAI,SAAS,YAAY,QAAQ,YAAY,YAAY,YAAY,MAAM;AACxF,gBAAM,IAAI,KAAK,UAAU,CAAC;AAC1B,cAAI,IAAI,KAAK,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG;AAChC,uBAAW,QAAQ,YAAY;AAC/B;AAAA,UACF;AACA,2BAAiB,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,KAAK,UAAU,CAAC;AACvD,kBAAQ;AAAA,QACV,OAAO;AACL,cAAI,YAAY,MAAM,IAAI,gBAAgB;AACxC;AAAA,UACF;AACA,gBAAM,OAAO,aAAa,QAAQ,cAAc;AAChD,qBAAW,QAAQ,aAAa,YAAY,OAAO,aAAa,OAAO,IAAI,GAAG,UAAU,CAAC;AACzF,kBAAQ;AAAA,QACV;AACA,YAAI,mBAAmB,KAAK,iBAAiB,YAAY;AACvD,qBAAW,QAAQ,YAAY;AAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACJ,CAAG;AACH;AACA,MAAM,aAAa;AACnB,SAAS,QAAQ,KAAK;AACpB,MAAI,IAAK,QAAO,MAAM,GAAG;AAC3B;AACA,SAAS,MAAM,KAAK;AAClB,WAAS,OAAO,QAAQ,WAAW;AACjC,QAAI,GAAG,IAAI,QAAQ,UAAU,GAAG;AAAA,EAClC;AACA,SAAO;AACT;AACA,QAAQ,UAAU,KAAK,QAAQ,UAAU,mBAAmB,SAAS,OAAO,IAAI;AAC9E,OAAK,aAAa,KAAK,cAAc,CAAA;AACrC,GAAC,KAAK,WAAW,MAAM,KAAK,IAAI,KAAK,WAAW,MAAM,KAAK,KAAK,IAAI,KAAK,EAAE;AAC3E,SAAO;AACT;AACA,QAAQ,UAAU,OAAO,SAAS,OAAO,IAAI;AAC3C,WAAS,MAAM;AACb,SAAK,IAAI,OAAO,GAAG;AACnB,OAAG,MAAM,MAAM,SAAS;AAAA,EAC1B;AACA,MAAI,KAAK;AACT,OAAK,GAAG,OAAO,GAAG;AAClB,SAAO;AACT;AACA,QAAQ,UAAU,MAAM,QAAQ,UAAU,iBAAiB,QAAQ,UAAU,qBAAqB,QAAQ,UAAU,sBAAsB,SAAS,OAAO,IAAI;AAC5J,OAAK,aAAa,KAAK,cAAc,CAAA;AACrC,MAAI,KAAK,UAAU,QAAQ;AACzB,SAAK,aAAa,CAAA;AAClB,WAAO;AAAA,EACT;AACA,MAAI,YAAY,KAAK,WAAW,MAAM,KAAK;AAC3C,MAAI,CAAC,UAAW,QAAO;AACvB,MAAI,KAAK,UAAU,QAAQ;AACzB,WAAO,KAAK,WAAW,MAAM,KAAK;AAClC,WAAO;AAAA,EACT;AACA,MAAI;AACJ,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,SAAK,UAAU,CAAC;AAChB,QAAI,OAAO,MAAM,GAAG,OAAO,IAAI;AAC7B,gBAAU,OAAO,GAAG,CAAC;AACrB;AAAA,IACF;AAAA,EACF;AACA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO,KAAK,WAAW,MAAM,KAAK;AAAA,EACpC;AACA,SAAO;AACT;AACA,QAAQ,UAAU,OAAO,SAAS,OAAO;AACvC,OAAK,aAAa,KAAK,cAAc,CAAA;AACrC,MAAI,OAAO,IAAI,MAAM,UAAU,SAAS,CAAC,GAAG,YAAY,KAAK,WAAW,MAAM,KAAK;AACnF,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,SAAK,IAAI,CAAC,IAAI,UAAU,CAAC;AAAA,EAC3B;AACA,MAAI,WAAW;AACb,gBAAY,UAAU,MAAM,CAAC;AAC7B,aAAS,IAAI,GAAG,MAAM,UAAU,QAAQ,IAAI,KAAK,EAAE,GAAG;AACpD,gBAAU,CAAC,EAAE,MAAM,MAAM,IAAI;AAAA,IAC/B;AAAA,EACF;AACA,SAAO;AACT;AACA,QAAQ,UAAU,eAAe,QAAQ,UAAU;AACnD,QAAQ,UAAU,YAAY,SAAS,OAAO;AAC5C,OAAK,aAAa,KAAK,cAAc,CAAA;AACrC,SAAO,KAAK,WAAW,MAAM,KAAK,KAAK,CAAA;AACzC;AACA,QAAQ,UAAU,eAAe,SAAS,OAAO;AAC/C,SAAO,CAAC,CAAC,KAAK,UAAU,KAAK,EAAE;AACjC;AACA,MAAM,YAAY,MAAM;AACtB,QAAM,qBAAqB,OAAO,YAAY,cAAc,OAAO,QAAQ,YAAY;AACvF,MAAI,oBAAoB;AACtB,WAAO,CAAC,OAAO,QAAQ,QAAO,EAAG,KAAK,EAAE;AAAA,EAC1C,OAAO;AACL,WAAO,CAAC,IAAI,iBAAiB,aAAa,IAAI,CAAC;AAAA,EACjD;AACF,GAAC;AACD,MAAM,kBAAkB,MAAM;AAC5B,MAAI,OAAO,SAAS,aAAa;AAC/B,WAAO;AAAA,EACT,WAAW,OAAO,WAAW,aAAa;AACxC,WAAO;AAAA,EACT,OAAO;AACL,WAAO,SAAS,aAAa,EAAC;AAAA,EAChC;AACF,GAAC;AACD,MAAM,oBAAoB;AAC1B,SAAS,kBAAkB;AAC3B;AACA,SAAS,KAAK,QAAQ,MAAM;AAC1B,SAAO,KAAK,OAAO,CAAC,KAAK,MAAM;AAC7B,QAAI,IAAI,eAAe,CAAC,GAAG;AACzB,UAAI,CAAC,IAAI,IAAI,CAAC;AAAA,IAChB;AACA,WAAO;AAAA,EACT,GAAG,CAAA,CAAE;AACP;AACA,MAAM,qBAAqB,eAAe;AAC1C,MAAM,uBAAuB,eAAe;AAC5C,SAAS,sBAAsB,KAAK,MAAM;AACxC,MAAI,KAAK,iBAAiB;AACxB,QAAI,eAAe,mBAAmB,KAAK,cAAc;AACzD,QAAI,iBAAiB,qBAAqB,KAAK,cAAc;AAAA,EAC/D,OAAO;AACL,QAAI,eAAe,eAAe,WAAW,KAAK,cAAc;AAChE,QAAI,iBAAiB,eAAe,aAAa,KAAK,cAAc;AAAA,EACtE;AACF;AACA,MAAM,kBAAkB;AACxB,SAAS,WAAW,KAAK;AACvB,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,WAAW,GAAG;AAAA,EACvB;AACA,SAAO,KAAK,MAAM,IAAI,cAAc,IAAI,QAAQ,eAAe;AACjE;AACA,SAAS,WAAW,KAAK;AACvB,MAAI,IAAI,GAAG,SAAS;AACpB,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,IAAI,GAAG,KAAK;AAC1C,QAAI,IAAI,WAAW,CAAC;AACpB,QAAI,IAAI,KAAK;AACX,gBAAU;AAAA,IACZ,WAAW,IAAI,MAAM;AACnB,gBAAU;AAAA,IACZ,WAAW,IAAI,SAAS,KAAK,OAAO;AAClC,gBAAU;AAAA,IACZ,OAAO;AACL;AACA,gBAAU;AAAA,IACZ;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,eAAe;AACtB,SAAO,KAAK,IAAG,EAAG,SAAS,EAAE,EAAE,UAAU,CAAC,IAAI,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC;AACzF;AACA,SAAS,OAAO,KAAK;AACnB,MAAI,MAAM;AACV,WAAS,KAAK,KAAK;AACjB,QAAI,IAAI,eAAe,CAAC,GAAG;AACzB,UAAI,IAAI;AACN,eAAO;AACT,aAAO,mBAAmB,CAAC,IAAI,MAAM,mBAAmB,IAAI,CAAC,CAAC;AAAA,IAChE;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,OAAO,IAAI;AAClB,MAAI,MAAM,CAAA;AACV,MAAI,QAAQ,GAAG,MAAM,GAAG;AACxB,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,IAAI,GAAG,KAAK;AAC5C,QAAI,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG;AAC7B,QAAI,mBAAmB,KAAK,CAAC,CAAC,CAAC,IAAI,mBAAmB,KAAK,CAAC,CAAC;AAAA,EAC/D;AACA,SAAO;AACT;AACA,MAAM,uBAAuB,MAAM;AAAA,EACjC,YAAY,QAAQ,aAAa,SAAS;AACxC,UAAM,MAAM;AACZ,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,OAAO;AAAA,EACd;AACF;AACA,MAAM,kBAAkB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9B,YAAY,MAAM;AAChB,UAAK;AACL,SAAK,WAAW;AAChB,0BAAsB,MAAM,IAAI;AAChC,SAAK,OAAO;AACZ,SAAK,QAAQ,KAAK;AAClB,SAAK,SAAS,KAAK;AACnB,SAAK,iBAAiB,CAAC,KAAK;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAQ,QAAQ,aAAa,SAAS;AACpC,UAAM,aAAa,SAAS,IAAI,eAAe,QAAQ,aAAa,OAAO,CAAC;AAC5E,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO;AACL,SAAK,aAAa;AAClB,SAAK,OAAM;AACX,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,QAAQ;AACN,QAAI,KAAK,eAAe,aAAa,KAAK,eAAe,QAAQ;AAC/D,WAAK,QAAO;AACZ,WAAK,QAAO;AAAA,IACd;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,KAAK,SAAS;AACZ,QAAI,KAAK,eAAe,QAAQ;AAC9B,WAAK,MAAM,OAAO;AAAA,IACpB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,SAAK,aAAa;AAClB,SAAK,WAAW;AAChB,UAAM,aAAa,MAAM;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,MAAM;AACX,UAAM,SAAS,aAAa,MAAM,KAAK,OAAO,UAAU;AACxD,SAAK,SAAS,MAAM;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,QAAQ;AACf,UAAM,aAAa,UAAU,MAAM;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ,SAAS;AACf,SAAK,aAAa;AAClB,UAAM,aAAa,SAAS,OAAO;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,SAAS;AAAA,EACf;AAAA,EACA,UAAU,QAAQ,QAAQ,IAAI;AAC5B,WAAO,SAAS,QAAQ,KAAK,UAAS,IAAK,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK,OAAO,KAAK;AAAA,EAC9F;AAAA,EACA,YAAY;AACV,UAAM,WAAW,KAAK,KAAK;AAC3B,WAAO,SAAS,QAAQ,GAAG,MAAM,KAAK,WAAW,MAAM,WAAW;AAAA,EACpE;AAAA,EACA,QAAQ;AACN,QAAI,KAAK,KAAK,SAAS,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,IAAI,MAAM,KAAK;AAChI,aAAO,MAAM,KAAK,KAAK;AAAA,IACzB,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,OAAO,OAAO;AACZ,UAAM,eAAe,OAAO,KAAK;AACjC,WAAO,aAAa,SAAS,MAAM,eAAe;AAAA,EACpD;AACF;AACA,MAAM,gBAAgB,UAAU;AAAA,EAC9B,cAAc;AACZ,UAAM,GAAG,SAAS;AAClB,SAAK,WAAW;AAAA,EAClB;AAAA,EACA,IAAI,OAAO;AACT,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS;AACP,SAAK,MAAK;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,SAAS;AACb,SAAK,aAAa;AAClB,UAAM,QAAQ,MAAM;AAClB,WAAK,aAAa;AAClB,cAAO;AAAA,IACT;AACA,QAAI,KAAK,YAAY,CAAC,KAAK,UAAU;AACnC,UAAI,QAAQ;AACZ,UAAI,KAAK,UAAU;AACjB;AACA,aAAK,KAAK,gBAAgB,WAAW;AACnC,YAAE,SAAS,MAAK;AAAA,QAClB,CAAC;AAAA,MACH;AACA,UAAI,CAAC,KAAK,UAAU;AAClB;AACA,aAAK,KAAK,SAAS,WAAW;AAC5B,YAAE,SAAS,MAAK;AAAA,QAClB,CAAC;AAAA,MACH;AAAA,IACF,OAAO;AACL,YAAK;AAAA,IACP;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACN,SAAK,WAAW;AAChB,SAAK,OAAM;AACX,SAAK,aAAa,MAAM;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,MAAM;AACX,UAAM,WAAW,CAAC,WAAW;AAC3B,UAAI,cAAc,KAAK,cAAc,OAAO,SAAS,QAAQ;AAC3D,aAAK,OAAM;AAAA,MACb;AACA,UAAI,YAAY,OAAO,MAAM;AAC3B,aAAK,QAAQ,EAAE,aAAa,iCAAgC,CAAE;AAC9D,eAAO;AAAA,MACT;AACA,WAAK,SAAS,MAAM;AAAA,IACtB;AACA,kBAAc,MAAM,KAAK,OAAO,UAAU,EAAE,QAAQ,QAAQ;AAC5D,QAAI,aAAa,KAAK,YAAY;AAChC,WAAK,WAAW;AAChB,WAAK,aAAa,cAAc;AAChC,UAAI,WAAW,KAAK,YAAY;AAC9B,aAAK,MAAK;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACR,UAAM,QAAQ,MAAM;AAClB,WAAK,MAAM,CAAC,EAAE,MAAM,QAAO,CAAE,CAAC;AAAA,IAChC;AACA,QAAI,WAAW,KAAK,YAAY;AAC9B,YAAK;AAAA,IACP,OAAO;AACL,WAAK,KAAK,QAAQ,KAAK;AAAA,IACzB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,SAAS;AACb,SAAK,WAAW;AAChB,kBAAc,SAAS,CAAC,SAAS;AAC/B,WAAK,QAAQ,MAAM,MAAM;AACvB,aAAK,WAAW;AAChB,aAAK,aAAa,OAAO;AAAA,MAC3B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM;AACJ,UAAM,SAAS,KAAK,KAAK,SAAS,UAAU;AAC5C,UAAM,QAAQ,KAAK,SAAS,CAAA;AAC5B,QAAI,UAAU,KAAK,KAAK,mBAAmB;AACzC,YAAM,KAAK,KAAK,cAAc,IAAI,aAAY;AAAA,IAChD;AACA,QAAI,CAAC,KAAK,kBAAkB,CAAC,MAAM,KAAK;AACtC,YAAM,MAAM;AAAA,IACd;AACA,WAAO,KAAK,UAAU,QAAQ,KAAK;AAAA,EACrC;AACF;AACA,IAAI,QAAQ;AACZ,IAAI;AACF,UAAQ,OAAO,mBAAmB,eAAe,qBAAqB,IAAI,eAAc;AAC1F,SAAS,MAAM;AACf;AACA,MAAM,UAAU;AAChB,SAAS,QAAQ;AACjB;AACA,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,YAAY,MAAM;AAChB,UAAM,IAAI;AACV,QAAI,OAAO,aAAa,aAAa;AACnC,YAAM,QAAQ,aAAa,SAAS;AACpC,UAAI,OAAO,SAAS;AACpB,UAAI,CAAC,MAAM;AACT,eAAO,QAAQ,QAAQ;AAAA,MACzB;AACA,WAAK,KAAK,OAAO,aAAa,eAAe,KAAK,aAAa,SAAS,YAAY,SAAS,KAAK;AAAA,IACpG;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,QAAQ,MAAM,IAAI;AAChB,UAAM,MAAM,KAAK,QAAQ;AAAA,MACvB,QAAQ;AAAA,MACR;AAAA,IACN,CAAK;AACD,QAAI,GAAG,WAAW,EAAE;AACpB,QAAI,GAAG,SAAS,CAAC,WAAW,YAAY;AACtC,WAAK,QAAQ,kBAAkB,WAAW,OAAO;AAAA,IACnD,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,UAAM,MAAM,KAAK,QAAO;AACxB,QAAI,GAAG,QAAQ,KAAK,OAAO,KAAK,IAAI,CAAC;AACrC,QAAI,GAAG,SAAS,CAAC,WAAW,YAAY;AACtC,WAAK,QAAQ,kBAAkB,WAAW,OAAO;AAAA,IACnD,CAAC;AACD,SAAK,UAAU;AAAA,EACjB;AACF;AACA,IAAI,YAAY,MAAM,iBAAiB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7C,YAAY,eAAe,KAAK,MAAM;AACpC,UAAK;AACL,SAAK,gBAAgB;AACrB,0BAAsB,MAAM,IAAI;AAChC,SAAK,QAAQ;AACb,SAAK,UAAU,KAAK,UAAU;AAC9B,SAAK,OAAO;AACZ,SAAK,QAAQ,WAAW,KAAK,OAAO,KAAK,OAAO;AAChD,SAAK,QAAO;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACR,QAAI;AACJ,UAAM,OAAO,KAAK,KAAK,OAAO,SAAS,OAAO,OAAO,cAAc,QAAQ,MAAM,WAAW,sBAAsB,WAAW;AAC7H,SAAK,UAAU,CAAC,CAAC,KAAK,MAAM;AAC5B,UAAM,MAAM,KAAK,OAAO,KAAK,cAAc,IAAI;AAC/C,QAAI;AACF,UAAI,KAAK,KAAK,SAAS,KAAK,MAAM,IAAI;AACtC,UAAI;AACF,YAAI,KAAK,MAAM,cAAc;AAC3B,cAAI,yBAAyB,IAAI,sBAAsB,IAAI;AAC3D,mBAAS,KAAK,KAAK,MAAM,cAAc;AACrC,gBAAI,KAAK,MAAM,aAAa,eAAe,CAAC,GAAG;AAC7C,kBAAI,iBAAiB,GAAG,KAAK,MAAM,aAAa,CAAC,CAAC;AAAA,YACpD;AAAA,UACF;AAAA,QACF;AAAA,MACF,SAAS,GAAG;AAAA,MACZ;AACA,UAAI,WAAW,KAAK,SAAS;AAC3B,YAAI;AACF,cAAI,iBAAiB,gBAAgB,0BAA0B;AAAA,QACjE,SAAS,GAAG;AAAA,QACZ;AAAA,MACF;AACA,UAAI;AACF,YAAI,iBAAiB,UAAU,KAAK;AAAA,MACtC,SAAS,GAAG;AAAA,MACZ;AACA,OAAC,MAAM,KAAK,MAAM,eAAe,QAAQ,QAAQ,SAAS,SAAS,IAAI,WAAW,GAAG;AACrF,UAAI,qBAAqB,KAAK;AAC5B,YAAI,kBAAkB,KAAK,MAAM;AAAA,MACnC;AACA,UAAI,KAAK,MAAM,gBAAgB;AAC7B,YAAI,UAAU,KAAK,MAAM;AAAA,MAC3B;AACA,UAAI,qBAAqB,MAAM;AAC7B,YAAI;AACJ,YAAI,IAAI,eAAe,GAAG;AACxB,WAAC,MAAM,KAAK,MAAM,eAAe,QAAQ,QAAQ,SAAS,SAAS,IAAI;AAAA;AAAA,YAErE,IAAI,kBAAkB,YAAY;AAAA,UAC9C;AAAA,QACQ;AACA,YAAI,MAAM,IAAI;AACZ;AACF,YAAI,QAAQ,IAAI,UAAU,SAAS,IAAI,QAAQ;AAC7C,eAAK,QAAO;AAAA,QACd,OAAO;AACL,eAAK,aAAa,MAAM;AACtB,iBAAK,SAAS,OAAO,IAAI,WAAW,WAAW,IAAI,SAAS,CAAC;AAAA,UAC/D,GAAG,CAAC;AAAA,QACN;AAAA,MACF;AACA,UAAI,KAAK,KAAK,KAAK;AAAA,IACrB,SAAS,GAAG;AACV,WAAK,aAAa,MAAM;AACtB,aAAK,SAAS,CAAC;AAAA,MACjB,GAAG,CAAC;AACJ;AAAA,IACF;AACA,QAAI,OAAO,aAAa,aAAa;AACnC,WAAK,SAAS,SAAS;AACvB,eAAS,SAAS,KAAK,MAAM,IAAI;AAAA,IACnC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,MAAM;AACb,SAAK,aAAa,SAAS,MAAM,KAAK,IAAI;AAC1C,SAAK,SAAS,IAAI;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,WAAW;AAClB,QAAI,gBAAgB,OAAO,KAAK,QAAQ,SAAS,KAAK,MAAM;AAC1D;AAAA,IACF;AACA,SAAK,KAAK,qBAAqB;AAC/B,QAAI,WAAW;AACb,UAAI;AACF,aAAK,KAAK,MAAK;AAAA,MACjB,SAAS,GAAG;AAAA,MACZ;AAAA,IACF;AACA,QAAI,OAAO,aAAa,aAAa;AACnC,aAAO,SAAS,SAAS,KAAK,MAAM;AAAA,IACtC;AACA,SAAK,OAAO;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACR,UAAM,OAAO,KAAK,KAAK;AACvB,QAAI,SAAS,MAAM;AACjB,WAAK,aAAa,QAAQ,IAAI;AAC9B,WAAK,aAAa,SAAS;AAC3B,WAAK,SAAQ;AAAA,IACf;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACN,SAAK,SAAQ;AAAA,EACf;AACF;AACA,UAAU,gBAAgB;AAC1B,UAAU,WAAW,CAAA;AACrB,IAAI,OAAO,aAAa,aAAa;AACnC,MAAI,OAAO,gBAAgB,YAAY;AACrC,gBAAY,YAAY,aAAa;AAAA,EACvC,WAAW,OAAO,qBAAqB,YAAY;AACjD,UAAM,mBAAmB,gBAAgB,iBAAiB,aAAa;AACvE,qBAAiB,kBAAkB,eAAe,KAAK;AAAA,EACzD;AACF;AACA,SAAS,gBAAgB;AACvB,WAAS,KAAK,UAAU,UAAU;AAChC,QAAI,UAAU,SAAS,eAAe,CAAC,GAAG;AACxC,gBAAU,SAAS,CAAC,EAAE,MAAK;AAAA,IAC7B;AAAA,EACF;AACF;AACA,MAAM,WAAU,WAAW;AACzB,QAAM,MAAM,WAAW;AAAA,IACrB,SAAS;AAAA,EACb,CAAG;AACD,SAAO,OAAO,IAAI,iBAAiB;AACrC,GAAC;AACD,MAAM,YAAY,QAAQ;AAAA,EACxB,YAAY,MAAM;AAChB,UAAM,IAAI;AACV,UAAM,cAAc,QAAQ,KAAK;AACjC,SAAK,iBAAiB,WAAW,CAAC;AAAA,EACpC;AAAA,EACA,QAAQ,OAAO,IAAI;AACjB,WAAO,OAAO,MAAM,EAAE,IAAI,KAAK,GAAE,GAAI,KAAK,IAAI;AAC9C,WAAO,IAAI,UAAU,YAAY,KAAK,IAAG,GAAI,IAAI;AAAA,EACnD;AACF;AACA,SAAS,WAAW,MAAM;AACxB,QAAM,UAAU,KAAK;AACrB,MAAI;AACF,QAAI,gBAAgB,OAAO,mBAAmB,CAAC,WAAW,UAAU;AAClE,aAAO,IAAI,eAAc;AAAA,IAC3B;AAAA,EACF,SAAS,GAAG;AAAA,EACZ;AACA,MAAI,CAAC,SAAS;AACZ,QAAI;AACF,aAAO,IAAI,eAAe,CAAC,QAAQ,EAAE,OAAO,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,mBAAmB;AAAA,IACtF,SAAS,GAAG;AAAA,IACZ;AAAA,EACF;AACF;AACA,MAAM,gBAAgB,OAAO,cAAc,eAAe,OAAO,UAAU,YAAY,YAAY,UAAU,QAAQ,YAAW,MAAO;AACvI,MAAM,eAAe,UAAU;AAAA,EAC7B,IAAI,OAAO;AACT,WAAO;AAAA,EACT;AAAA,EACA,SAAS;AACP,UAAM,MAAM,KAAK,IAAG;AACpB,UAAM,YAAY,KAAK,KAAK;AAC5B,UAAM,OAAO,gBAAgB,CAAA,IAAK,KAAK,KAAK,MAAM,SAAS,qBAAqB,OAAO,OAAO,cAAc,QAAQ,MAAM,WAAW,sBAAsB,gBAAgB,mBAAmB,UAAU,cAAc,UAAU,qBAAqB;AACrP,QAAI,KAAK,KAAK,cAAc;AAC1B,WAAK,UAAU,KAAK,KAAK;AAAA,IAC3B;AACA,QAAI;AACF,WAAK,KAAK,KAAK,aAAa,KAAK,WAAW,IAAI;AAAA,IAClD,SAAS,MAAM;AACb,aAAO,KAAK,aAAa,SAAS,IAAI;AAAA,IACxC;AACA,SAAK,GAAG,aAAa,KAAK,OAAO;AACjC,SAAK,kBAAiB;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,oBAAoB;AAClB,SAAK,GAAG,SAAS,MAAM;AACrB,UAAI,KAAK,KAAK,WAAW;AACvB,aAAK,GAAG,QAAQ,MAAK;AAAA,MACvB;AACA,WAAK,OAAM;AAAA,IACb;AACA,SAAK,GAAG,UAAU,CAAC,eAAe,KAAK,QAAQ;AAAA,MAC7C,aAAa;AAAA,MACb,SAAS;AAAA,IACf,CAAK;AACD,SAAK,GAAG,YAAY,CAAC,OAAO,KAAK,OAAO,GAAG,IAAI;AAC/C,SAAK,GAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,mBAAmB,CAAC;AAAA,EAC5D;AAAA,EACA,MAAM,SAAS;AACb,SAAK,WAAW;AAChB,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,YAAM,SAAS,QAAQ,CAAC;AACxB,YAAM,aAAa,MAAM,QAAQ,SAAS;AAC1C,mBAAa,QAAQ,KAAK,gBAAgB,CAAC,SAAS;AAClD,YAAI;AACF,eAAK,QAAQ,QAAQ,IAAI;AAAA,QAC3B,SAAS,GAAG;AAAA,QACZ;AACA,YAAI,YAAY;AACd,mBAAS,MAAM;AACb,iBAAK,WAAW;AAChB,iBAAK,aAAa,OAAO;AAAA,UAC3B,GAAG,KAAK,YAAY;AAAA,QACtB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,UAAU;AACR,QAAI,OAAO,KAAK,OAAO,aAAa;AAClC,WAAK,GAAG,UAAU,MAAM;AAAA,MACxB;AACA,WAAK,GAAG,MAAK;AACb,WAAK,KAAK;AAAA,IACZ;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM;AACJ,UAAM,SAAS,KAAK,KAAK,SAAS,QAAQ;AAC1C,UAAM,QAAQ,KAAK,SAAS,CAAA;AAC5B,QAAI,KAAK,KAAK,mBAAmB;AAC/B,YAAM,KAAK,KAAK,cAAc,IAAI,aAAY;AAAA,IAChD;AACA,QAAI,CAAC,KAAK,gBAAgB;AACxB,YAAM,MAAM;AAAA,IACd;AACA,WAAO,KAAK,UAAU,QAAQ,KAAK;AAAA,EACrC;AACF;AACA,MAAM,gBAAgB,eAAe,aAAa,eAAe;AACjE,MAAM,WAAW,OAAO;AAAA,EACtB,aAAa,KAAK,WAAW,MAAM;AACjC,WAAO,CAAC,gBAAgB,YAAY,IAAI,cAAc,KAAK,SAAS,IAAI,IAAI,cAAc,GAAG,IAAI,IAAI,cAAc,KAAK,WAAW,IAAI;AAAA,EACzI;AAAA,EACA,QAAQ,SAAS,MAAM;AACrB,SAAK,GAAG,KAAK,IAAI;AAAA,EACnB;AACF;AACA,MAAM,WAAW,UAAU;AAAA,EACzB,IAAI,OAAO;AACT,WAAO;AAAA,EACT;AAAA,EACA,SAAS;AACP,QAAI;AACF,WAAK,aAAa,IAAI,aAAa,KAAK,UAAU,OAAO,GAAG,KAAK,KAAK,iBAAiB,KAAK,IAAI,CAAC;AAAA,IACnG,SAAS,MAAM;AACb,aAAO,KAAK,aAAa,SAAS,IAAI;AAAA,IACxC;AACA,SAAK,WAAW,OAAO,KAAK,MAAM;AAChC,WAAK,QAAO;AAAA,IACd,CAAC,EAAE,MAAM,CAAC,SAAS;AACjB,WAAK,QAAQ,sBAAsB,IAAI;AAAA,IACzC,CAAC;AACD,SAAK,WAAW,MAAM,KAAK,MAAM;AAC/B,WAAK,WAAW,0BAAyB,EAAG,KAAK,CAAC,WAAW;AAC3D,cAAM,gBAAgB,0BAA0B,OAAO,kBAAkB,KAAK,OAAO,UAAU;AAC/F,cAAM,SAAS,OAAO,SAAS,YAAY,aAAa,EAAE,UAAS;AACnE,cAAM,gBAAgB,0BAAyB;AAC/C,sBAAc,SAAS,OAAO,OAAO,QAAQ;AAC7C,aAAK,UAAU,cAAc,SAAS,UAAS;AAC/C,cAAM,OAAO,MAAM;AACjB,iBAAO,KAAI,EAAG,KAAK,CAAC,EAAE,MAAM,OAAO,aAAa;AAC9C,gBAAI,MAAM;AACR;AAAA,YACF;AACA,iBAAK,SAAS,MAAM;AACpB,iBAAI;AAAA,UACN,CAAC,EAAE,MAAM,CAAC,SAAS;AAAA,UACnB,CAAC;AAAA,QACH;AACA,aAAI;AACJ,cAAM,SAAS,EAAE,MAAM,OAAM;AAC7B,YAAI,KAAK,MAAM,KAAK;AAClB,iBAAO,OAAO,WAAW,KAAK,MAAM,GAAG;AAAA,QACzC;AACA,aAAK,QAAQ,MAAM,MAAM,EAAE,KAAK,MAAM,KAAK,QAAQ;AAAA,MACrD,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EACA,MAAM,SAAS;AACb,SAAK,WAAW;AAChB,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,YAAM,SAAS,QAAQ,CAAC;AACxB,YAAM,aAAa,MAAM,QAAQ,SAAS;AAC1C,WAAK,QAAQ,MAAM,MAAM,EAAE,KAAK,MAAM;AACpC,YAAI,YAAY;AACd,mBAAS,MAAM;AACb,iBAAK,WAAW;AAChB,iBAAK,aAAa,OAAO;AAAA,UAC3B,GAAG,KAAK,YAAY;AAAA,QACtB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,UAAU;AACR,QAAI;AACJ,KAAC,MAAM,KAAK,gBAAgB,QAAQ,QAAQ,SAAS,SAAS,IAAI,MAAK;AAAA,EACzE;AACF;AACA,MAAM,aAAa;AAAA,EACjB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,SAAS;AACX;AACA,MAAM,KAAK;AACX,MAAM,QAAQ;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,SAAS,MAAM,KAAK;AAClB,MAAI,IAAI,SAAS,KAAK;AACpB,UAAM;AAAA,EACR;AACA,QAAM,MAAM,KAAK,IAAI,IAAI,QAAQ,GAAG,GAAG,IAAI,IAAI,QAAQ,GAAG;AAC1D,MAAI,KAAK,MAAM,KAAK,IAAI;AACtB,UAAM,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,UAAU,GAAG,CAAC,EAAE,QAAQ,MAAM,GAAG,IAAI,IAAI,UAAU,GAAG,IAAI,MAAM;AAAA,EAClG;AACA,MAAI,IAAI,GAAG,KAAK,OAAO,EAAE,GAAG,MAAM,IAAI,IAAI;AAC1C,SAAO,KAAK;AACV,QAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK;AAAA,EAC1B;AACA,MAAI,KAAK,MAAM,KAAK,IAAI;AACtB,QAAI,SAAS;AACb,QAAI,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ,MAAM,GAAG;AACvE,QAAI,YAAY,IAAI,UAAU,QAAQ,KAAK,EAAE,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,MAAM,GAAG;AACjF,QAAI,UAAU;AAAA,EAChB;AACA,MAAI,YAAY,UAAU,KAAK,IAAI,MAAM,CAAC;AAC1C,MAAI,WAAW,SAAS,KAAK,IAAI,OAAO,CAAC;AACzC,SAAO;AACT;AACA,SAAS,UAAU,KAAK,MAAM;AAC5B,QAAM,OAAO,YAAY,QAAQ,KAAK,QAAQ,MAAM,GAAG,EAAE,MAAM,GAAG;AAClE,MAAI,KAAK,MAAM,GAAG,CAAC,KAAK,OAAO,KAAK,WAAW,GAAG;AAChD,UAAM,OAAO,GAAG,CAAC;AAAA,EACnB;AACA,MAAI,KAAK,MAAM,EAAE,KAAK,KAAK;AACzB,UAAM,OAAO,MAAM,SAAS,GAAG,CAAC;AAAA,EAClC;AACA,SAAO;AACT;AACA,SAAS,SAAS,KAAK,OAAO;AAC5B,QAAM,OAAO,CAAA;AACb,QAAM,QAAQ,6BAA6B,SAAS,IAAI,IAAI,IAAI;AAC9D,QAAI,IAAI;AACN,WAAK,EAAE,IAAI;AAAA,IACb;AAAA,EACF,CAAC;AACD,SAAO;AACT;AACA,MAAM,qBAAqB,OAAO,qBAAqB,cAAc,OAAO,wBAAwB;AACpG,MAAM,0BAA0B,CAAA;AAChC,IAAI,oBAAoB;AACtB,mBAAiB,WAAW,MAAM;AAChC,4BAAwB,QAAQ,CAAC,aAAa,SAAQ,CAAE;AAAA,EAC1D,GAAG,KAAK;AACV;AACA,MAAM,6BAA6B,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOzC,YAAY,KAAK,MAAM;AACrB,UAAK;AACL,SAAK,aAAa;AAClB,SAAK,cAAc,CAAA;AACnB,SAAK,iBAAiB;AACtB,SAAK,gBAAgB;AACrB,SAAK,eAAe;AACpB,SAAK,cAAc;AACnB,SAAK,mBAAmB;AACxB,QAAI,OAAO,aAAa,OAAO,KAAK;AAClC,aAAO;AACP,YAAM;AAAA,IACR;AACA,QAAI,KAAK;AACP,YAAM,YAAY,MAAM,GAAG;AAC3B,WAAK,WAAW,UAAU;AAC1B,WAAK,SAAS,UAAU,aAAa,WAAW,UAAU,aAAa;AACvE,WAAK,OAAO,UAAU;AACtB,UAAI,UAAU;AACZ,aAAK,QAAQ,UAAU;AAAA,IAC3B,WAAW,KAAK,MAAM;AACpB,WAAK,WAAW,MAAM,KAAK,IAAI,EAAE;AAAA,IACnC;AACA,0BAAsB,MAAM,IAAI;AAChC,SAAK,SAAS,QAAQ,KAAK,SAAS,KAAK,SAAS,OAAO,aAAa,eAAe,aAAa,SAAS;AAC3G,QAAI,KAAK,YAAY,CAAC,KAAK,MAAM;AAC/B,WAAK,OAAO,KAAK,SAAS,QAAQ;AAAA,IACpC;AACA,SAAK,WAAW,KAAK,aAAa,OAAO,aAAa,cAAc,SAAS,WAAW;AACxF,SAAK,OAAO,KAAK,SAAS,OAAO,aAAa,eAAe,SAAS,OAAO,SAAS,OAAO,KAAK,SAAS,QAAQ;AACnH,SAAK,aAAa,CAAA;AAClB,SAAK,oBAAoB,CAAA;AACzB,SAAK,WAAW,QAAQ,CAAC,MAAM;AAC7B,YAAM,gBAAgB,EAAE,UAAU;AAClC,WAAK,WAAW,KAAK,aAAa;AAClC,WAAK,kBAAkB,aAAa,IAAI;AAAA,IAC1C,CAAC;AACD,SAAK,OAAO,OAAO,OAAO;AAAA,MACxB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,QACjB,WAAW;AAAA,MACnB;AAAA,MACM,kBAAkB,CAAA;AAAA,MAClB,qBAAqB;AAAA,IAC3B,GAAO,IAAI;AACP,SAAK,KAAK,OAAO,KAAK,KAAK,KAAK,QAAQ,OAAO,EAAE,KAAK,KAAK,KAAK,mBAAmB,MAAM;AACzF,QAAI,OAAO,KAAK,KAAK,UAAU,UAAU;AACvC,WAAK,KAAK,QAAQ,OAAO,KAAK,KAAK,KAAK;AAAA,IAC1C;AACA,QAAI,oBAAoB;AACtB,UAAI,KAAK,KAAK,qBAAqB;AACjC,aAAK,6BAA6B,MAAM;AACtC,cAAI,KAAK,WAAW;AAClB,iBAAK,UAAU,mBAAkB;AACjC,iBAAK,UAAU,MAAK;AAAA,UACtB;AAAA,QACF;AACA,yBAAiB,gBAAgB,KAAK,4BAA4B,KAAK;AAAA,MACzE;AACA,UAAI,KAAK,aAAa,aAAa;AACjC,aAAK,wBAAwB,MAAM;AACjC,eAAK,SAAS,mBAAmB;AAAA,YAC/B,aAAa;AAAA,UACzB,CAAW;AAAA,QACH;AACA,gCAAwB,KAAK,KAAK,qBAAqB;AAAA,MACzD;AAAA,IACF;AACA,QAAI,KAAK,KAAK,iBAAiB;AAC7B,WAAK,aAAa,gBAAe;AAAA,IACnC;AACA,SAAK,MAAK;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,gBAAgB,MAAM;AACpB,UAAM,QAAQ,OAAO,OAAO,CAAA,GAAI,KAAK,KAAK,KAAK;AAC/C,UAAM,MAAM;AACZ,UAAM,YAAY;AAClB,QAAI,KAAK;AACP,YAAM,MAAM,KAAK;AACnB,UAAM,OAAO,OAAO,OAAO,CAAA,GAAI,KAAK,MAAM;AAAA,MACxC;AAAA,MACA,QAAQ;AAAA,MACR,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,IACjB,GAAO,KAAK,KAAK,iBAAiB,IAAI,CAAC;AACnC,WAAO,IAAI,KAAK,kBAAkB,IAAI,EAAE,IAAI;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACN,QAAI,KAAK,WAAW,WAAW,GAAG;AAChC,WAAK,aAAa,MAAM;AACtB,aAAK,aAAa,SAAS,yBAAyB;AAAA,MACtD,GAAG,CAAC;AACJ;AAAA,IACF;AACA,UAAM,gBAAgB,KAAK,KAAK,mBAAmB,qBAAqB,yBAAyB,KAAK,WAAW,QAAQ,WAAW,MAAM,KAAK,cAAc,KAAK,WAAW,CAAC;AAC9K,SAAK,aAAa;AAClB,UAAM,YAAY,KAAK,gBAAgB,aAAa;AACpD,cAAU,KAAI;AACd,SAAK,aAAa,SAAS;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,WAAW;AACtB,QAAI,KAAK,WAAW;AAClB,WAAK,UAAU,mBAAkB;AAAA,IACnC;AACA,SAAK,YAAY;AACjB,cAAU,GAAG,SAAS,KAAK,SAAS,KAAK,IAAI,CAAC,EAAE,GAAG,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC,EAAE,GAAG,SAAS,KAAK,SAAS,KAAK,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,WAAW,KAAK,SAAS,mBAAmB,MAAM,CAAC;AAAA,EAChM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,SAAK,aAAa;AAClB,yBAAqB,wBAAwB,gBAAgB,KAAK,UAAU;AAC5E,SAAK,aAAa,MAAM;AACxB,SAAK,MAAK;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU,QAAQ;AAChB,QAAI,cAAc,KAAK,cAAc,WAAW,KAAK,cAAc,cAAc,KAAK,YAAY;AAChG,WAAK,aAAa,UAAU,MAAM;AAClC,WAAK,aAAa,WAAW;AAC7B,cAAQ,OAAO,MAAI;AAAA,QACjB,KAAK;AACH,eAAK,YAAY,KAAK,MAAM,OAAO,IAAI,CAAC;AACxC;AAAA,QACF,KAAK;AACH,eAAK,YAAY,MAAM;AACvB,eAAK,aAAa,MAAM;AACxB,eAAK,aAAa,MAAM;AACxB,eAAK,kBAAiB;AACtB;AAAA,QACF,KAAK;AACH,gBAAM,OAAO,IAAI,MAAM,cAAc;AACrC,eAAK,OAAO,OAAO;AACnB,eAAK,SAAS,IAAI;AAClB;AAAA,QACF,KAAK;AACH,eAAK,aAAa,QAAQ,OAAO,IAAI;AACrC,eAAK,aAAa,WAAW,OAAO,IAAI;AACxC;AAAA,MACV;AAAA,IACI;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,MAAM;AAChB,SAAK,aAAa,aAAa,IAAI;AACnC,SAAK,KAAK,KAAK;AACf,SAAK,UAAU,MAAM,MAAM,KAAK;AAChC,SAAK,gBAAgB,KAAK;AAC1B,SAAK,eAAe,KAAK;AACzB,SAAK,cAAc,KAAK;AACxB,SAAK,OAAM;AACX,QAAI,aAAa,KAAK;AACpB;AACF,SAAK,kBAAiB;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,oBAAoB;AAClB,SAAK,eAAe,KAAK,iBAAiB;AAC1C,UAAM,QAAQ,KAAK,gBAAgB,KAAK;AACxC,SAAK,mBAAmB,KAAK,IAAG,IAAK;AACrC,SAAK,oBAAoB,KAAK,aAAa,MAAM;AAC/C,WAAK,SAAS,cAAc;AAAA,IAC9B,GAAG,KAAK;AACR,QAAI,KAAK,KAAK,WAAW;AACvB,WAAK,kBAAkB,MAAK;AAAA,IAC9B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAW;AACT,SAAK,YAAY,OAAO,GAAG,KAAK,cAAc;AAC9C,SAAK,iBAAiB;AACtB,QAAI,MAAM,KAAK,YAAY,QAAQ;AACjC,WAAK,aAAa,OAAO;AAAA,IAC3B,OAAO;AACL,WAAK,MAAK;AAAA,IACZ;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACN,QAAI,aAAa,KAAK,cAAc,KAAK,UAAU,YAAY,CAAC,KAAK,aAAa,KAAK,YAAY,QAAQ;AACzG,YAAM,UAAU,KAAK,oBAAmB;AACxC,WAAK,UAAU,KAAK,OAAO;AAC3B,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,aAAa,OAAO;AAAA,IAC3B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,sBAAsB;AACpB,UAAM,yBAAyB,KAAK,eAAe,KAAK,UAAU,SAAS,aAAa,KAAK,YAAY,SAAS;AAClH,QAAI,CAAC,wBAAwB;AAC3B,aAAO,KAAK;AAAA,IACd;AACA,QAAI,cAAc;AAClB,aAAS,IAAI,GAAG,IAAI,KAAK,YAAY,QAAQ,KAAK;AAChD,YAAM,OAAO,KAAK,YAAY,CAAC,EAAE;AACjC,UAAI,MAAM;AACR,uBAAe,WAAW,IAAI;AAAA,MAChC;AACA,UAAI,IAAI,KAAK,cAAc,KAAK,aAAa;AAC3C,eAAO,KAAK,YAAY,MAAM,GAAG,CAAC;AAAA,MACpC;AACA,qBAAe;AAAA,IACjB;AACA,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,kBAAkB;AAChB,QAAI,CAAC,KAAK;AACR,aAAO;AACT,UAAM,aAAa,KAAK,IAAG,IAAK,KAAK;AACrC,QAAI,YAAY;AACd,WAAK,mBAAmB;AACxB,eAAS,MAAM;AACb,aAAK,SAAS,cAAc;AAAA,MAC9B,GAAG,KAAK,YAAY;AAAA,IACtB;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,KAAK,SAAS,IAAI;AACtB,SAAK,YAAY,WAAW,KAAK,SAAS,EAAE;AAC5C,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAK,KAAK,SAAS,IAAI;AACrB,SAAK,YAAY,WAAW,KAAK,SAAS,EAAE;AAC5C,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,YAAY,MAAM,MAAM,SAAS,IAAI;AACnC,QAAI,eAAe,OAAO,MAAM;AAC9B,WAAK;AACL,aAAO;AAAA,IACT;AACA,QAAI,eAAe,OAAO,SAAS;AACjC,WAAK;AACL,gBAAU;AAAA,IACZ;AACA,QAAI,cAAc,KAAK,cAAc,aAAa,KAAK,YAAY;AACjE;AAAA,IACF;AACA,cAAU,WAAW,CAAA;AACrB,YAAQ,WAAW,UAAU,QAAQ;AACrC,UAAM,SAAS;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACN;AACI,SAAK,aAAa,gBAAgB,MAAM;AACxC,SAAK,YAAY,KAAK,MAAM;AAC5B,QAAI;AACF,WAAK,KAAK,SAAS,EAAE;AACvB,SAAK,MAAK;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA,EAIA,QAAQ;AACN,UAAM,QAAQ,MAAM;AAClB,WAAK,SAAS,cAAc;AAC5B,WAAK,UAAU,MAAK;AAAA,IACtB;AACA,UAAM,kBAAkB,MAAM;AAC5B,WAAK,IAAI,WAAW,eAAe;AACnC,WAAK,IAAI,gBAAgB,eAAe;AACxC,YAAK;AAAA,IACP;AACA,UAAM,iBAAiB,MAAM;AAC3B,WAAK,KAAK,WAAW,eAAe;AACpC,WAAK,KAAK,gBAAgB,eAAe;AAAA,IAC3C;AACA,QAAI,cAAc,KAAK,cAAc,WAAW,KAAK,YAAY;AAC/D,WAAK,aAAa;AAClB,UAAI,KAAK,YAAY,QAAQ;AAC3B,aAAK,KAAK,SAAS,MAAM;AACvB,cAAI,KAAK,WAAW;AAClB,2BAAc;AAAA,UAChB,OAAO;AACL,kBAAK;AAAA,UACP;AAAA,QACF,CAAC;AAAA,MACH,WAAW,KAAK,WAAW;AACzB,uBAAc;AAAA,MAChB,OAAO;AACL,cAAK;AAAA,MACP;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,MAAM;AACb,yBAAqB,wBAAwB;AAC7C,QAAI,KAAK,KAAK,oBAAoB,KAAK,WAAW,SAAS,KAAK,KAAK,eAAe,WAAW;AAC7F,WAAK,WAAW,MAAK;AACrB,aAAO,KAAK,MAAK;AAAA,IACnB;AACA,SAAK,aAAa,SAAS,IAAI;AAC/B,SAAK,SAAS,mBAAmB,IAAI;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,QAAQ,aAAa;AAC5B,QAAI,cAAc,KAAK,cAAc,WAAW,KAAK,cAAc,cAAc,KAAK,YAAY;AAChG,WAAK,eAAe,KAAK,iBAAiB;AAC1C,WAAK,UAAU,mBAAmB,OAAO;AACzC,WAAK,UAAU,MAAK;AACpB,WAAK,UAAU,mBAAkB;AACjC,UAAI,oBAAoB;AACtB,YAAI,KAAK,4BAA4B;AACnC,8BAAoB,gBAAgB,KAAK,4BAA4B,KAAK;AAAA,QAC5E;AACA,YAAI,KAAK,uBAAuB;AAC9B,gBAAM,IAAI,wBAAwB,QAAQ,KAAK,qBAAqB;AACpE,cAAI,MAAM,IAAI;AACZ,oCAAwB,OAAO,GAAG,CAAC;AAAA,UACrC;AAAA,QACF;AAAA,MACF;AACA,WAAK,aAAa;AAClB,WAAK,KAAK;AACV,WAAK,aAAa,SAAS,QAAQ,WAAW;AAC9C,WAAK,cAAc,CAAA;AACnB,WAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AACF;AACA,qBAAqB,WAAW;AAChC,MAAM,0BAA0B,qBAAqB;AAAA,EACnD,cAAc;AACZ,UAAM,GAAG,SAAS;AAClB,SAAK,YAAY,CAAA;AAAA,EACnB;AAAA,EACA,SAAS;AACP,UAAM,OAAM;AACZ,QAAI,WAAW,KAAK,cAAc,KAAK,KAAK,SAAS;AACnD,eAAS,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK;AAC9C,aAAK,OAAO,KAAK,UAAU,CAAC,CAAC;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,MAAM;AACX,QAAI,YAAY,KAAK,gBAAgB,IAAI;AACzC,QAAI,SAAS;AACb,yBAAqB,wBAAwB;AAC7C,UAAM,kBAAkB,MAAM;AAC5B,UAAI;AACF;AACF,gBAAU,KAAK,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAO,CAAE,CAAC;AAChD,gBAAU,KAAK,UAAU,CAAC,QAAQ;AAChC,YAAI;AACF;AACF,YAAI,WAAW,IAAI,QAAQ,YAAY,IAAI,MAAM;AAC/C,eAAK,YAAY;AACjB,eAAK,aAAa,aAAa,SAAS;AACxC,cAAI,CAAC;AACH;AACF,+BAAqB,wBAAwB,gBAAgB,UAAU;AACvE,eAAK,UAAU,MAAM,MAAM;AACzB,gBAAI;AACF;AACF,gBAAI,aAAa,KAAK;AACpB;AACF,oBAAO;AACP,iBAAK,aAAa,SAAS;AAC3B,sBAAU,KAAK,CAAC,EAAE,MAAM,UAAS,CAAE,CAAC;AACpC,iBAAK,aAAa,WAAW,SAAS;AACtC,wBAAY;AACZ,iBAAK,YAAY;AACjB,iBAAK,MAAK;AAAA,UACZ,CAAC;AAAA,QACH,OAAO;AACL,gBAAM,OAAO,IAAI,MAAM,aAAa;AACpC,eAAK,YAAY,UAAU;AAC3B,eAAK,aAAa,gBAAgB,IAAI;AAAA,QACxC;AAAA,MACF,CAAC;AAAA,IACH;AACA,aAAS,kBAAkB;AACzB,UAAI;AACF;AACF,eAAS;AACT,cAAO;AACP,gBAAU,MAAK;AACf,kBAAY;AAAA,IACd;AACA,UAAM,UAAU,CAAC,SAAS;AACxB,YAAM,QAAQ,IAAI,MAAM,kBAAkB,IAAI;AAC9C,YAAM,YAAY,UAAU;AAC5B,sBAAe;AACf,WAAK,aAAa,gBAAgB,KAAK;AAAA,IACzC;AACA,aAAS,mBAAmB;AAC1B,cAAQ,kBAAkB;AAAA,IAC5B;AACA,aAAS,UAAU;AACjB,cAAQ,eAAe;AAAA,IACzB;AACA,aAAS,UAAU,IAAI;AACrB,UAAI,aAAa,GAAG,SAAS,UAAU,MAAM;AAC3C,wBAAe;AAAA,MACjB;AAAA,IACF;AACA,UAAM,UAAU,MAAM;AACpB,gBAAU,eAAe,QAAQ,eAAe;AAChD,gBAAU,eAAe,SAAS,OAAO;AACzC,gBAAU,eAAe,SAAS,gBAAgB;AAClD,WAAK,IAAI,SAAS,OAAO;AACzB,WAAK,IAAI,aAAa,SAAS;AAAA,IACjC;AACA,cAAU,KAAK,QAAQ,eAAe;AACtC,cAAU,KAAK,SAAS,OAAO;AAC/B,cAAU,KAAK,SAAS,gBAAgB;AACxC,SAAK,KAAK,SAAS,OAAO;AAC1B,SAAK,KAAK,aAAa,SAAS;AAChC,QAAI,KAAK,UAAU,QAAQ,cAAc,MAAM,MAAM,SAAS,gBAAgB;AAC5E,WAAK,aAAa,MAAM;AACtB,YAAI,CAAC,QAAQ;AACX,oBAAU,KAAI;AAAA,QAChB;AAAA,MACF,GAAG,GAAG;AAAA,IACR,OAAO;AACL,gBAAU,KAAI;AAAA,IAChB;AAAA,EACF;AAAA,EACA,YAAY,MAAM;AAChB,SAAK,YAAY,KAAK,gBAAgB,KAAK,QAAQ;AACnD,UAAM,YAAY,IAAI;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,gBAAgB,UAAU;AACxB,UAAM,mBAAmB,CAAA;AACzB,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,UAAI,CAAC,KAAK,WAAW,QAAQ,SAAS,CAAC,CAAC;AACtC,yBAAiB,KAAK,SAAS,CAAC,CAAC;AAAA,IACrC;AACA,WAAO;AAAA,EACT;AACF;AACA,IAAI,WAAW,MAAM,eAAe,kBAAkB;AAAA,EACpD,YAAY,KAAK,OAAO,IAAI;AAC1B,UAAM,IAAI,OAAO,QAAQ,WAAW,MAAM;AAC1C,QAAI,CAAC,EAAE,cAAc,EAAE,cAAc,OAAO,EAAE,WAAW,CAAC,MAAM,UAAU;AACxE,QAAE,cAAc,EAAE,cAAc,CAAC,WAAW,aAAa,cAAc,GAAG,IAAI,CAAC,kBAAkB,WAAW,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAAA,IAC/I;AACA,UAAM,KAAK,CAAC;AAAA,EACd;AACF;AACA,SAAS,IAAI,KAAK,OAAO,IAAI,KAAK;AAChC,MAAI,MAAM;AACV,QAAM,OAAO,OAAO,aAAa,eAAe;AAChD,MAAI,QAAQ;AACV,UAAM,IAAI,WAAW,OAAO,IAAI;AAClC,MAAI,OAAO,QAAQ,UAAU;AAC3B,QAAI,QAAQ,IAAI,OAAO,CAAC,GAAG;AACzB,UAAI,QAAQ,IAAI,OAAO,CAAC,GAAG;AACzB,cAAM,IAAI,WAAW;AAAA,MACvB,OAAO;AACL,cAAM,IAAI,OAAO;AAAA,MACnB;AAAA,IACF;AACA,QAAI,CAAC,sBAAsB,KAAK,GAAG,GAAG;AACpC,UAAI,gBAAgB,OAAO,KAAK;AAC9B,cAAM,IAAI,WAAW,OAAO;AAAA,MAC9B,OAAO;AACL,cAAM,aAAa;AAAA,MACrB;AAAA,IACF;AACA,UAAM,MAAM,GAAG;AAAA,EACjB;AACA,MAAI,CAAC,IAAI,MAAM;AACb,QAAI,cAAc,KAAK,IAAI,QAAQ,GAAG;AACpC,UAAI,OAAO;AAAA,IACb,WAAW,eAAe,KAAK,IAAI,QAAQ,GAAG;AAC5C,UAAI,OAAO;AAAA,IACb;AAAA,EACF;AACA,MAAI,OAAO,IAAI,QAAQ;AACvB,QAAM,OAAO,IAAI,KAAK,QAAQ,GAAG,MAAM;AACvC,QAAM,OAAO,OAAO,MAAM,IAAI,OAAO,MAAM,IAAI;AAC/C,MAAI,KAAK,IAAI,WAAW,QAAQ,OAAO,MAAM,IAAI,OAAO;AACxD,MAAI,OAAO,IAAI,WAAW,QAAQ,QAAQ,OAAO,IAAI,SAAS,IAAI,OAAO,KAAK,MAAM,IAAI;AACxF,SAAO;AACT;AACA,MAAM,wBAAwB,OAAO,gBAAgB;AACrD,MAAM,SAAS,CAAC,QAAQ;AACtB,SAAO,OAAO,YAAY,WAAW,aAAa,YAAY,OAAO,GAAG,IAAI,IAAI,kBAAkB;AACpG;AACA,MAAM,YAAY,OAAO,UAAU;AACnC,MAAM,iBAAiB,OAAO,SAAS,cAAc,OAAO,SAAS,eAAe,UAAU,KAAK,IAAI,MAAM;AAC7G,MAAM,iBAAiB,OAAO,SAAS,cAAc,OAAO,SAAS,eAAe,UAAU,KAAK,IAAI,MAAM;AAC7G,SAAS,SAAS,KAAK;AACrB,SAAO,0BAA0B,eAAe,eAAe,OAAO,GAAG,MAAM,kBAAkB,eAAe,QAAQ,kBAAkB,eAAe;AAC3J;AACA,SAAS,UAAU,KAAK,SAAS;AAC/B,MAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACnC,WAAO;AAAA,EACT;AACA,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,aAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,IAAI,GAAG,KAAK;AAC1C,UAAI,UAAU,IAAI,CAAC,CAAC,GAAG;AACrB,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,MAAI,SAAS,GAAG,GAAG;AACjB,WAAO;AAAA,EACT;AACA,MAAI,IAAI,UAAU,OAAO,IAAI,WAAW,cAAc,UAAU,WAAW,GAAG;AAC5E,WAAO,UAAU,IAAI,OAAM,GAAI,IAAI;AAAA,EACrC;AACA,aAAW,OAAO,KAAK;AACrB,QAAI,OAAO,UAAU,eAAe,KAAK,KAAK,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,GAAG;AACzE,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,kBAAkB,QAAQ;AACjC,QAAM,UAAU,CAAA;AAChB,QAAM,aAAa,OAAO;AAC1B,QAAM,OAAO;AACb,OAAK,OAAO,mBAAmB,YAAY,OAAO;AAClD,OAAK,cAAc,QAAQ;AAC3B,SAAO,EAAE,QAAQ,MAAM,QAAO;AAChC;AACA,SAAS,mBAAmB,MAAM,SAAS;AACzC,MAAI,CAAC;AACH,WAAO;AACT,MAAI,SAAS,IAAI,GAAG;AAClB,UAAM,cAAc,EAAE,cAAc,MAAM,KAAK,QAAQ,OAAM;AAC7D,YAAQ,KAAK,IAAI;AACjB,WAAO;AAAA,EACT,WAAW,MAAM,QAAQ,IAAI,GAAG;AAC9B,UAAM,UAAU,IAAI,MAAM,KAAK,MAAM;AACrC,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,cAAQ,CAAC,IAAI,mBAAmB,KAAK,CAAC,GAAG,OAAO;AAAA,IAClD;AACA,WAAO;AAAA,EACT,WAAW,OAAO,SAAS,YAAY,EAAE,gBAAgB,OAAO;AAC9D,UAAM,UAAU,CAAA;AAChB,eAAW,OAAO,MAAM;AACtB,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,GAAG,GAAG;AACnD,gBAAQ,GAAG,IAAI,mBAAmB,KAAK,GAAG,GAAG,OAAO;AAAA,MACtD;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;AACA,SAAS,kBAAkB,QAAQ,SAAS;AAC1C,SAAO,OAAO,mBAAmB,OAAO,MAAM,OAAO;AACrD,SAAO,OAAO;AACd,SAAO;AACT;AACA,SAAS,mBAAmB,MAAM,SAAS;AACzC,MAAI,CAAC;AACH,WAAO;AACT,MAAI,QAAQ,KAAK,iBAAiB,MAAM;AACtC,UAAM,eAAe,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,KAAK,KAAK,MAAM,QAAQ;AACzF,QAAI,cAAc;AAChB,aAAO,QAAQ,KAAK,GAAG;AAAA,IACzB,OAAO;AACL,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AAAA,EACF,WAAW,MAAM,QAAQ,IAAI,GAAG;AAC9B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,WAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,GAAG,OAAO;AAAA,IAC/C;AAAA,EACF,WAAW,OAAO,SAAS,UAAU;AACnC,eAAW,OAAO,MAAM;AACtB,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,GAAG,GAAG;AACnD,aAAK,GAAG,IAAI,mBAAmB,KAAK,GAAG,GAAG,OAAO;AAAA,MACnD;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AACA,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAEF;AACA,MAAM,WAAW;AACjB,IAAI;AAAA,CACH,SAAS,aAAa;AACrB,cAAY,YAAY,SAAS,IAAI,CAAC,IAAI;AAC1C,cAAY,YAAY,YAAY,IAAI,CAAC,IAAI;AAC7C,cAAY,YAAY,OAAO,IAAI,CAAC,IAAI;AACxC,cAAY,YAAY,KAAK,IAAI,CAAC,IAAI;AACtC,cAAY,YAAY,eAAe,IAAI,CAAC,IAAI;AAChD,cAAY,YAAY,cAAc,IAAI,CAAC,IAAI;AAC/C,cAAY,YAAY,YAAY,IAAI,CAAC,IAAI;AAC/C,GAAG,eAAe,aAAa,CAAA,EAAG;AAClC,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMZ,YAAY,UAAU;AACpB,SAAK,WAAW;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,KAAK;AACV,QAAI,IAAI,SAAS,WAAW,SAAS,IAAI,SAAS,WAAW,KAAK;AAChE,UAAI,UAAU,GAAG,GAAG;AAClB,eAAO,KAAK,eAAe;AAAA,UACzB,MAAM,IAAI,SAAS,WAAW,QAAQ,WAAW,eAAe,WAAW;AAAA,UAC3E,KAAK,IAAI;AAAA,UACT,MAAM,IAAI;AAAA,UACV,IAAI,IAAI;AAAA,QAClB,CAAS;AAAA,MACH;AAAA,IACF;AACA,WAAO,CAAC,KAAK,eAAe,GAAG,CAAC;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAIA,eAAe,KAAK;AAClB,QAAI,MAAM,KAAK,IAAI;AACnB,QAAI,IAAI,SAAS,WAAW,gBAAgB,IAAI,SAAS,WAAW,YAAY;AAC9E,aAAO,IAAI,cAAc;AAAA,IAC3B;AACA,QAAI,IAAI,OAAO,QAAQ,IAAI,KAAK;AAC9B,aAAO,IAAI,MAAM;AAAA,IACnB;AACA,QAAI,QAAQ,IAAI,IAAI;AAClB,aAAO,IAAI;AAAA,IACb;AACA,QAAI,QAAQ,IAAI,MAAM;AACpB,aAAO,KAAK,UAAU,IAAI,MAAM,KAAK,QAAQ;AAAA,IAC/C;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe,KAAK;AAClB,UAAM,iBAAiB,kBAAkB,GAAG;AAC5C,UAAM,OAAO,KAAK,eAAe,eAAe,MAAM;AACtD,UAAM,UAAU,eAAe;AAC/B,YAAQ,QAAQ,IAAI;AACpB,WAAO;AAAA,EACT;AACF;AACA,SAAS,SAAS,QAAQ;AACxB,SAAO,OAAO,UAAU,SAAS,KAAK,MAAM,MAAM;AACpD;AACA,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5B,YAAY,SAAS;AACnB,UAAK;AACL,SAAK,UAAU;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,KAAK;AACP,QAAI;AACJ,QAAI,OAAO,QAAQ,UAAU;AAC3B,UAAI,KAAK,eAAe;AACtB,cAAM,IAAI,MAAM,iDAAiD;AAAA,MACnE;AACA,eAAS,KAAK,aAAa,GAAG;AAC9B,YAAM,gBAAgB,OAAO,SAAS,WAAW;AACjD,UAAI,iBAAiB,OAAO,SAAS,WAAW,YAAY;AAC1D,eAAO,OAAO,gBAAgB,WAAW,QAAQ,WAAW;AAC5D,aAAK,gBAAgB,IAAI,oBAAoB,MAAM;AACnD,YAAI,OAAO,gBAAgB,GAAG;AAC5B,gBAAM,aAAa,WAAW,MAAM;AAAA,QACtC;AAAA,MACF,OAAO;AACL,cAAM,aAAa,WAAW,MAAM;AAAA,MACtC;AAAA,IACF,WAAW,SAAS,GAAG,KAAK,IAAI,QAAQ;AACtC,UAAI,CAAC,KAAK,eAAe;AACvB,cAAM,IAAI,MAAM,kDAAkD;AAAA,MACpE,OAAO;AACL,iBAAS,KAAK,cAAc,eAAe,GAAG;AAC9C,YAAI,QAAQ;AACV,eAAK,gBAAgB;AACrB,gBAAM,aAAa,WAAW,MAAM;AAAA,QACtC;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,IAAI,MAAM,mBAAmB,GAAG;AAAA,IACxC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,KAAK;AAChB,QAAI,IAAI;AACR,UAAM,IAAI;AAAA,MACR,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC;AAAA,IAChC;AACI,QAAI,WAAW,EAAE,IAAI,MAAM,QAAQ;AACjC,YAAM,IAAI,MAAM,yBAAyB,EAAE,IAAI;AAAA,IACjD;AACA,QAAI,EAAE,SAAS,WAAW,gBAAgB,EAAE,SAAS,WAAW,YAAY;AAC1E,YAAM,QAAQ,IAAI;AAClB,aAAO,IAAI,OAAO,EAAE,CAAC,MAAM,OAAO,KAAK,IAAI,QAAQ;AAAA,MACnD;AACA,YAAM,MAAM,IAAI,UAAU,OAAO,CAAC;AAClC,UAAI,OAAO,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK;AAC/C,cAAM,IAAI,MAAM,qBAAqB;AAAA,MACvC;AACA,QAAE,cAAc,OAAO,GAAG;AAAA,IAC5B;AACA,QAAI,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG;AAC7B,YAAM,QAAQ,IAAI;AAClB,aAAO,EAAE,GAAG;AACV,cAAM,IAAI,IAAI,OAAO,CAAC;AACtB,YAAI,QAAQ;AACV;AACF,YAAI,MAAM,IAAI;AACZ;AAAA,MACJ;AACA,QAAE,MAAM,IAAI,UAAU,OAAO,CAAC;AAAA,IAChC,OAAO;AACL,QAAE,MAAM;AAAA,IACV;AACA,UAAM,OAAO,IAAI,OAAO,IAAI,CAAC;AAC7B,QAAI,OAAO,QAAQ,OAAO,IAAI,KAAK,MAAM;AACvC,YAAM,QAAQ,IAAI;AAClB,aAAO,EAAE,GAAG;AACV,cAAM,IAAI,IAAI,OAAO,CAAC;AACtB,YAAI,QAAQ,KAAK,OAAO,CAAC,KAAK,GAAG;AAC/B,YAAE;AACF;AAAA,QACF;AACA,YAAI,MAAM,IAAI;AACZ;AAAA,MACJ;AACA,QAAE,KAAK,OAAO,IAAI,UAAU,OAAO,IAAI,CAAC,CAAC;AAAA,IAC3C;AACA,QAAI,IAAI,OAAO,EAAE,CAAC,GAAG;AACnB,YAAM,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC;AAC3C,UAAI,QAAQ,eAAe,EAAE,MAAM,OAAO,GAAG;AAC3C,UAAE,OAAO;AAAA,MACX,OAAO;AACL,cAAM,IAAI,MAAM,iBAAiB;AAAA,MACnC;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,SAAS,KAAK;AACZ,QAAI;AACF,aAAO,KAAK,MAAM,KAAK,KAAK,OAAO;AAAA,IACrC,SAAS,GAAG;AACV,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,OAAO,eAAe,MAAM,SAAS;AACnC,YAAQ,MAAI;AAAA,MACV,KAAK,WAAW;AACd,eAAO,SAAS,OAAO;AAAA,MACzB,KAAK,WAAW;AACd,eAAO,YAAY;AAAA,MACrB,KAAK,WAAW;AACd,eAAO,OAAO,YAAY,YAAY,SAAS,OAAO;AAAA,MACxD,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AACd,eAAO,MAAM,QAAQ,OAAO,MAAM,OAAO,QAAQ,CAAC,MAAM,YAAY,OAAO,QAAQ,CAAC,MAAM,YAAY,kBAAkB,QAAQ,QAAQ,CAAC,CAAC,MAAM;AAAA,MAClJ,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AACd,eAAO,MAAM,QAAQ,OAAO;AAAA,IACpC;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,UAAU;AACR,QAAI,KAAK,eAAe;AACtB,WAAK,cAAc,uBAAsB;AACzC,WAAK,gBAAgB;AAAA,IACvB;AAAA,EACF;AACF;AACA,MAAM,oBAAoB;AAAA,EACxB,YAAY,QAAQ;AAClB,SAAK,SAAS;AACd,SAAK,UAAU,CAAA;AACf,SAAK,YAAY;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,eAAe,SAAS;AACtB,SAAK,QAAQ,KAAK,OAAO;AACzB,QAAI,KAAK,QAAQ,WAAW,KAAK,UAAU,aAAa;AACtD,YAAM,SAAS,kBAAkB,KAAK,WAAW,KAAK,OAAO;AAC7D,WAAK,uBAAsB;AAC3B,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,yBAAyB;AACvB,SAAK,YAAY;AACjB,SAAK,UAAU,CAAA;AAAA,EACjB;AACF;AACA,MAAM,SAAyB,uBAAO,OAAuB,uBAAO,eAAe;AAAA,EACjF,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,IAAI,aAAa;AACf,WAAO;AAAA,EACT;AAAA,EACA;AACF,GAAG,OAAO,aAAa,EAAE,OAAO,SAAQ,CAAE,CAAC;AAC3C,SAAS,GAAG,KAAK,IAAI,IAAI;AACvB,MAAI,GAAG,IAAI,EAAE;AACb,SAAO,SAAS,aAAa;AAC3B,QAAI,IAAI,IAAI,EAAE;AAAA,EAChB;AACF;AACA,MAAM,kBAAkB,OAAO,OAAO;AAAA,EACpC,SAAS;AAAA,EACT,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,eAAe;AAAA;AAAA,EAEf,aAAa;AAAA,EACb,gBAAgB;AAClB,CAAC;AACD,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI5B,YAAY,IAAI,KAAK,MAAM;AACzB,UAAK;AACL,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,gBAAgB,CAAA;AACrB,SAAK,aAAa,CAAA;AAClB,SAAK,SAAS,CAAA;AACd,SAAK,YAAY;AACjB,SAAK,MAAM;AACX,SAAK,OAAO,CAAA;AACZ,SAAK,QAAQ,CAAA;AACb,SAAK,KAAK;AACV,SAAK,MAAM;AACX,QAAI,QAAQ,KAAK,MAAM;AACrB,WAAK,OAAO,KAAK;AAAA,IACnB;AACA,SAAK,QAAQ,OAAO,OAAO,CAAA,GAAI,IAAI;AACnC,QAAI,KAAK,GAAG;AACV,WAAK,KAAI;AAAA,EACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,IAAI,eAAe;AACjB,WAAO,CAAC,KAAK;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY;AACV,QAAI,KAAK;AACP;AACF,UAAM,KAAK,KAAK;AAChB,SAAK,OAAO;AAAA,MACV,GAAG,IAAI,QAAQ,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,MACrC,GAAG,IAAI,UAAU,KAAK,SAAS,KAAK,IAAI,CAAC;AAAA,MACzC,GAAG,IAAI,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,MACvC,GAAG,IAAI,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,IAC7C;AAAA,EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,IAAI,SAAS;AACX,WAAO,CAAC,CAAC,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,UAAU;AACR,QAAI,KAAK;AACP,aAAO;AACT,SAAK,UAAS;AACd,QAAI,CAAC,KAAK,GAAG,eAAe;AAC1B,WAAK,GAAG,KAAI;AACd,QAAI,WAAW,KAAK,GAAG;AACrB,WAAK,OAAM;AACb,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO;AACL,WAAO,KAAK,QAAO;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,QAAQ,MAAM;AACZ,SAAK,QAAQ,SAAS;AACtB,SAAK,KAAK,MAAM,MAAM,IAAI;AAC1B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,KAAK,OAAO,MAAM;AAChB,QAAI,KAAK,KAAK;AACd,QAAI,gBAAgB,eAAe,EAAE,GAAG;AACtC,YAAM,IAAI,MAAM,MAAM,GAAG,SAAQ,IAAK,4BAA4B;AAAA,IACpE;AACA,SAAK,QAAQ,EAAE;AACf,QAAI,KAAK,MAAM,WAAW,CAAC,KAAK,MAAM,aAAa,CAAC,KAAK,MAAM,UAAU;AACvE,WAAK,YAAY,IAAI;AACrB,aAAO;AAAA,IACT;AACA,UAAM,SAAS;AAAA,MACb,MAAM,WAAW;AAAA,MACjB,MAAM;AAAA,IACZ;AACI,WAAO,UAAU,CAAA;AACjB,WAAO,QAAQ,WAAW,KAAK,MAAM,aAAa;AAClD,QAAI,eAAe,OAAO,KAAK,KAAK,SAAS,CAAC,GAAG;AAC/C,YAAM,KAAK,KAAK;AAChB,YAAM,MAAM,KAAK,IAAG;AACpB,WAAK,qBAAqB,IAAI,GAAG;AACjC,aAAO,KAAK;AAAA,IACd;AACA,UAAM,uBAAuB,OAAO,MAAM,KAAK,GAAG,YAAY,QAAQ,QAAQ,SAAS,SAAS,IAAI,eAAe,QAAQ,QAAQ,SAAS,SAAS,IAAI;AACzJ,UAAM,cAAc,KAAK,aAAa,GAAG,KAAK,KAAK,GAAG,YAAY,QAAQ,OAAO,SAAS,SAAS,GAAG;AACtG,UAAM,gBAAgB,KAAK,MAAM,YAAY,CAAC;AAC9C,QAAI,cAAe;AAAA,aACV,aAAa;AACpB,WAAK,wBAAwB,MAAM;AACnC,WAAK,OAAO,MAAM;AAAA,IACpB,OAAO;AACL,WAAK,WAAW,KAAK,MAAM;AAAA,IAC7B;AACA,SAAK,QAAQ,CAAA;AACb,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,qBAAqB,IAAI,KAAK;AAC5B,QAAI;AACJ,UAAM,WAAW,MAAM,KAAK,MAAM,aAAa,QAAQ,QAAQ,SAAS,MAAM,KAAK,MAAM;AACzF,QAAI,YAAY,QAAQ;AACtB,WAAK,KAAK,EAAE,IAAI;AAChB;AAAA,IACF;AACA,UAAM,QAAQ,KAAK,GAAG,aAAa,MAAM;AACvC,aAAO,KAAK,KAAK,EAAE;AACnB,eAAS,IAAI,GAAG,IAAI,KAAK,WAAW,QAAQ,KAAK;AAC/C,YAAI,KAAK,WAAW,CAAC,EAAE,OAAO,IAAI;AAChC,eAAK,WAAW,OAAO,GAAG,CAAC;AAAA,QAC7B;AAAA,MACF;AACA,UAAI,KAAK,MAAM,IAAI,MAAM,yBAAyB,CAAC;AAAA,IACrD,GAAG,OAAO;AACV,UAAM,KAAK,IAAI,SAAS;AACtB,WAAK,GAAG,eAAe,KAAK;AAC5B,UAAI,MAAM,MAAM,IAAI;AAAA,IACtB;AACA,OAAG,YAAY;AACf,SAAK,KAAK,EAAE,IAAI;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,YAAY,OAAO,MAAM;AACvB,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,KAAK,CAAC,MAAM,SAAS;AACzB,eAAO,OAAO,OAAO,IAAI,IAAI,QAAQ,IAAI;AAAA,MAC3C;AACA,SAAG,YAAY;AACf,WAAK,KAAK,EAAE;AACZ,WAAK,KAAK,IAAI,GAAG,IAAI;AAAA,IACvB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,MAAM;AAChB,QAAI;AACJ,QAAI,OAAO,KAAK,KAAK,SAAS,CAAC,MAAM,YAAY;AAC/C,YAAM,KAAK,IAAG;AAAA,IAChB;AACA,UAAM,SAAS;AAAA,MACb,IAAI,KAAK;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,MACT;AAAA,MACA,OAAO,OAAO,OAAO,EAAE,WAAW,KAAI,GAAI,KAAK,KAAK;AAAA,IAC1D;AACI,SAAK,KAAK,CAAC,SAAS,iBAAiB;AACnC,UAAI,WAAW,KAAK,OAAO,CAAC,GAAG;AAC7B;AAAA,MACF;AACA,YAAM,WAAW,SAAS;AAC1B,UAAI,UAAU;AACZ,YAAI,OAAO,WAAW,KAAK,MAAM,SAAS;AACxC,eAAK,OAAO,MAAK;AACjB,cAAI,KAAK;AACP,gBAAI,IAAI;AAAA,UACV;AAAA,QACF;AAAA,MACF,OAAO;AACL,aAAK,OAAO,MAAK;AACjB,YAAI,KAAK;AACP,cAAI,MAAM,GAAG,YAAY;AAAA,QAC3B;AAAA,MACF;AACA,aAAO,UAAU;AACjB,aAAO,KAAK,YAAW;AAAA,IACzB,CAAC;AACD,SAAK,OAAO,KAAK,MAAM;AACvB,SAAK,YAAW;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,QAAQ,OAAO;AACzB,QAAI,CAAC,KAAK,aAAa,KAAK,OAAO,WAAW,GAAG;AAC/C;AAAA,IACF;AACA,UAAM,SAAS,KAAK,OAAO,CAAC;AAC5B,QAAI,OAAO,WAAW,CAAC,OAAO;AAC5B;AAAA,IACF;AACA,WAAO,UAAU;AACjB,WAAO;AACP,SAAK,QAAQ,OAAO;AACpB,SAAK,KAAK,MAAM,MAAM,OAAO,IAAI;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,QAAQ;AACb,WAAO,MAAM,KAAK;AAClB,SAAK,GAAG,QAAQ,MAAM;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,QAAI,OAAO,KAAK,QAAQ,YAAY;AAClC,WAAK,KAAK,CAAC,SAAS;AAClB,aAAK,mBAAmB,IAAI;AAAA,MAC9B,CAAC;AAAA,IACH,OAAO;AACL,WAAK,mBAAmB,KAAK,IAAI;AAAA,IACnC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,mBAAmB,MAAM;AACvB,SAAK,OAAO;AAAA,MACV,MAAM,WAAW;AAAA,MACjB,MAAM,KAAK,OAAO,OAAO,OAAO,EAAE,KAAK,KAAK,MAAM,QAAQ,KAAK,YAAW,GAAI,IAAI,IAAI;AAAA,IAC5F,CAAK;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,MAAM;AACZ,QAAI,CAAC,KAAK,WAAW;AACnB,WAAK,aAAa,iBAAiB,IAAI;AAAA,IACzC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,QAAQ,QAAQ,aAAa;AAC3B,SAAK,YAAY;AACjB,WAAO,KAAK;AACZ,SAAK,aAAa,cAAc,QAAQ,WAAW;AACnD,SAAK,WAAU;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa;AACX,WAAO,KAAK,KAAK,IAAI,EAAE,QAAQ,CAAC,OAAO;AACrC,YAAM,aAAa,KAAK,WAAW,KAAK,CAAC,WAAW,OAAO,OAAO,EAAE,MAAM,EAAE;AAC5E,UAAI,CAAC,YAAY;AACf,cAAM,MAAM,KAAK,KAAK,EAAE;AACxB,eAAO,KAAK,KAAK,EAAE;AACnB,YAAI,IAAI,WAAW;AACjB,cAAI,KAAK,MAAM,IAAI,MAAM,8BAA8B,CAAC;AAAA,QAC1D;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,QAAQ;AACf,UAAM,gBAAgB,OAAO,QAAQ,KAAK;AAC1C,QAAI,CAAC;AACH;AACF,YAAQ,OAAO,MAAI;AAAA,MACjB,KAAK,WAAW;AACd,YAAI,OAAO,QAAQ,OAAO,KAAK,KAAK;AAClC,eAAK,UAAU,OAAO,KAAK,KAAK,OAAO,KAAK,GAAG;AAAA,QACjD,OAAO;AACL,eAAK,aAAa,iBAAiB,IAAI,MAAM,2LAA2L,CAAC;AAAA,QAC3O;AACA;AAAA,MACF,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AACd,aAAK,QAAQ,MAAM;AACnB;AAAA,MACF,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AACd,aAAK,MAAM,MAAM;AACjB;AAAA,MACF,KAAK,WAAW;AACd,aAAK,aAAY;AACjB;AAAA,MACF,KAAK,WAAW;AACd,aAAK,QAAO;AACZ,cAAM,OAAO,IAAI,MAAM,OAAO,KAAK,OAAO;AAC1C,aAAK,OAAO,OAAO,KAAK;AACxB,aAAK,aAAa,iBAAiB,IAAI;AACvC;AAAA,IACR;AAAA,EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,QAAQ;AACd,UAAM,OAAO,OAAO,QAAQ,CAAA;AAC5B,QAAI,QAAQ,OAAO,IAAI;AACrB,WAAK,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC;AAAA,IAC/B;AACA,QAAI,KAAK,WAAW;AAClB,WAAK,UAAU,IAAI;AAAA,IACrB,OAAO;AACL,WAAK,cAAc,KAAK,OAAO,OAAO,IAAI,CAAC;AAAA,IAC7C;AAAA,EACF;AAAA,EACA,UAAU,MAAM;AACd,QAAI,KAAK,iBAAiB,KAAK,cAAc,QAAQ;AACnD,YAAM,YAAY,KAAK,cAAc,MAAK;AAC1C,iBAAW,YAAY,WAAW;AAChC,iBAAS,MAAM,MAAM,IAAI;AAAA,MAC3B;AAAA,IACF;AACA,UAAM,KAAK,MAAM,MAAM,IAAI;AAC3B,QAAI,KAAK,QAAQ,KAAK,UAAU,OAAO,KAAK,KAAK,SAAS,CAAC,MAAM,UAAU;AACzE,WAAK,cAAc,KAAK,KAAK,SAAS,CAAC;AAAA,IACzC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,IAAI;AACN,UAAM,QAAQ;AACd,QAAI,OAAO;AACX,WAAO,YAAY,MAAM;AACvB,UAAI;AACF;AACF,aAAO;AACP,YAAM,OAAO;AAAA,QACX,MAAM,WAAW;AAAA,QACjB;AAAA,QACA,MAAM;AAAA,MACd,CAAO;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,QAAQ;AACZ,UAAM,MAAM,KAAK,KAAK,OAAO,EAAE;AAC/B,QAAI,OAAO,QAAQ,YAAY;AAC7B;AAAA,IACF;AACA,WAAO,KAAK,KAAK,OAAO,EAAE;AAC1B,QAAI,IAAI,WAAW;AACjB,aAAO,KAAK,QAAQ,IAAI;AAAA,IAC1B;AACA,QAAI,MAAM,MAAM,OAAO,IAAI;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU,IAAI,KAAK;AACjB,SAAK,KAAK;AACV,SAAK,YAAY,OAAO,KAAK,SAAS;AACtC,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,aAAY;AACjB,SAAK,aAAa,SAAS;AAC3B,SAAK,YAAY,IAAI;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe;AACb,SAAK,cAAc,QAAQ,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC;AACzD,SAAK,gBAAgB,CAAA;AACrB,SAAK,WAAW,QAAQ,CAAC,WAAW;AAClC,WAAK,wBAAwB,MAAM;AACnC,WAAK,OAAO,MAAM;AAAA,IACpB,CAAC;AACD,SAAK,aAAa,CAAA;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe;AACb,SAAK,QAAO;AACZ,SAAK,QAAQ,sBAAsB;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,UAAU;AACR,QAAI,KAAK,MAAM;AACb,WAAK,KAAK,QAAQ,CAAC,eAAe,WAAU,CAAE;AAC9C,WAAK,OAAO;AAAA,IACd;AACA,SAAK,GAAG,UAAU,EAAE,IAAI;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,aAAa;AACX,QAAI,KAAK,WAAW;AAClB,WAAK,OAAO,EAAE,MAAM,WAAW,WAAU,CAAE;AAAA,IAC7C;AACA,SAAK,QAAO;AACZ,QAAI,KAAK,WAAW;AAClB,WAAK,QAAQ,sBAAsB;AAAA,IACrC;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACN,WAAO,KAAK,WAAU;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,SAAS,UAAU;AACjB,SAAK,MAAM,WAAW;AACtB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,WAAW;AACb,SAAK,MAAM,WAAW;AACtB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,QAAQ,SAAS;AACf,SAAK,MAAM,UAAU;AACrB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,UAAU;AACd,SAAK,gBAAgB,KAAK,iBAAiB,CAAA;AAC3C,SAAK,cAAc,KAAK,QAAQ;AAChC,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,WAAW,UAAU;AACnB,SAAK,gBAAgB,KAAK,iBAAiB,CAAA;AAC3C,SAAK,cAAc,QAAQ,QAAQ;AACnC,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,OAAO,UAAU;AACf,QAAI,CAAC,KAAK,eAAe;AACvB,aAAO;AAAA,IACT;AACA,QAAI,UAAU;AACZ,YAAM,YAAY,KAAK;AACvB,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,YAAI,aAAa,UAAU,CAAC,GAAG;AAC7B,oBAAU,OAAO,GAAG,CAAC;AACrB,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,OAAO;AACL,WAAK,gBAAgB,CAAA;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,eAAe;AACb,WAAO,KAAK,iBAAiB,CAAA;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,cAAc,UAAU;AACtB,SAAK,wBAAwB,KAAK,yBAAyB,CAAA;AAC3D,SAAK,sBAAsB,KAAK,QAAQ;AACxC,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,mBAAmB,UAAU;AAC3B,SAAK,wBAAwB,KAAK,yBAAyB,CAAA;AAC3D,SAAK,sBAAsB,QAAQ,QAAQ;AAC3C,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,eAAe,UAAU;AACvB,QAAI,CAAC,KAAK,uBAAuB;AAC/B,aAAO;AAAA,IACT;AACA,QAAI,UAAU;AACZ,YAAM,YAAY,KAAK;AACvB,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,YAAI,aAAa,UAAU,CAAC,GAAG;AAC7B,oBAAU,OAAO,GAAG,CAAC;AACrB,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,OAAO;AACL,WAAK,wBAAwB,CAAA;AAAA,IAC/B;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AACrB,WAAO,KAAK,yBAAyB,CAAA;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,wBAAwB,QAAQ;AAC9B,QAAI,KAAK,yBAAyB,KAAK,sBAAsB,QAAQ;AACnE,YAAM,YAAY,KAAK,sBAAsB,MAAK;AAClD,iBAAW,YAAY,WAAW;AAChC,iBAAS,MAAM,MAAM,OAAO,IAAI;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AACF;AACA,SAAS,QAAQ,MAAM;AACrB,SAAO,QAAQ,CAAA;AACf,OAAK,KAAK,KAAK,OAAO;AACtB,OAAK,MAAM,KAAK,OAAO;AACvB,OAAK,SAAS,KAAK,UAAU;AAC7B,OAAK,SAAS,KAAK,SAAS,KAAK,KAAK,UAAU,IAAI,KAAK,SAAS;AAClE,OAAK,WAAW;AAClB;AACA,QAAQ,UAAU,WAAW,WAAW;AACtC,MAAI,MAAM,KAAK,KAAK,KAAK,IAAI,KAAK,QAAQ,KAAK,UAAU;AACzD,MAAI,KAAK,QAAQ;AACf,QAAI,OAAO,KAAK,OAAM;AACtB,QAAI,YAAY,KAAK,MAAM,OAAO,KAAK,SAAS,GAAG;AACnD,WAAO,KAAK,MAAM,OAAO,EAAE,IAAI,MAAM,IAAI,MAAM,YAAY,MAAM;AAAA,EACnE;AACA,SAAO,KAAK,IAAI,KAAK,KAAK,GAAG,IAAI;AACnC;AACA,QAAQ,UAAU,QAAQ,WAAW;AACnC,OAAK,WAAW;AAClB;AACA,QAAQ,UAAU,SAAS,SAAS,KAAK;AACvC,OAAK,KAAK;AACZ;AACA,QAAQ,UAAU,SAAS,SAAS,MAAM;AACxC,OAAK,MAAM;AACb;AACA,QAAQ,UAAU,YAAY,SAAS,QAAQ;AAC7C,OAAK,SAAS;AAChB;AACA,MAAM,gBAAgB,QAAQ;AAAA,EAC5B,YAAY,KAAK,MAAM;AACrB,QAAI;AACJ,UAAK;AACL,SAAK,OAAO,CAAA;AACZ,SAAK,OAAO,CAAA;AACZ,QAAI,OAAO,aAAa,OAAO,KAAK;AAClC,aAAO;AACP,YAAM;AAAA,IACR;AACA,WAAO,QAAQ,CAAA;AACf,SAAK,OAAO,KAAK,QAAQ;AACzB,SAAK,OAAO;AACZ,0BAAsB,MAAM,IAAI;AAChC,SAAK,aAAa,KAAK,iBAAiB,KAAK;AAC7C,SAAK,qBAAqB,KAAK,wBAAwB,QAAQ;AAC/D,SAAK,kBAAkB,KAAK,qBAAqB,GAAG;AACpD,SAAK,qBAAqB,KAAK,wBAAwB,GAAG;AAC1D,SAAK,qBAAqB,MAAM,KAAK,yBAAyB,QAAQ,QAAQ,SAAS,MAAM,GAAG;AAChG,SAAK,UAAU,IAAI,QAAQ;AAAA,MACzB,KAAK,KAAK,kBAAiB;AAAA,MAC3B,KAAK,KAAK,qBAAoB;AAAA,MAC9B,QAAQ,KAAK,oBAAmB;AAAA,IACtC,CAAK;AACD,SAAK,QAAQ,QAAQ,KAAK,UAAU,MAAM,KAAK,OAAO;AACtD,SAAK,cAAc;AACnB,SAAK,MAAM;AACX,UAAM,UAAU,KAAK,UAAU;AAC/B,SAAK,UAAU,IAAI,QAAQ,QAAO;AAClC,SAAK,UAAU,IAAI,QAAQ,QAAO;AAClC,SAAK,eAAe,KAAK,gBAAgB;AACzC,QAAI,KAAK;AACP,WAAK,KAAI;AAAA,EACb;AAAA,EACA,aAAa,GAAG;AACd,QAAI,CAAC,UAAU;AACb,aAAO,KAAK;AACd,SAAK,gBAAgB,CAAC,CAAC;AACvB,QAAI,CAAC,GAAG;AACN,WAAK,gBAAgB;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,qBAAqB,GAAG;AACtB,QAAI,MAAM;AACR,aAAO,KAAK;AACd,SAAK,wBAAwB;AAC7B,WAAO;AAAA,EACT;AAAA,EACA,kBAAkB,GAAG;AACnB,QAAI;AACJ,QAAI,MAAM;AACR,aAAO,KAAK;AACd,SAAK,qBAAqB;AAC1B,KAAC,MAAM,KAAK,aAAa,QAAQ,QAAQ,SAAS,SAAS,IAAI,OAAO,CAAC;AACvE,WAAO;AAAA,EACT;AAAA,EACA,oBAAoB,GAAG;AACrB,QAAI;AACJ,QAAI,MAAM;AACR,aAAO,KAAK;AACd,SAAK,uBAAuB;AAC5B,KAAC,MAAM,KAAK,aAAa,QAAQ,QAAQ,SAAS,SAAS,IAAI,UAAU,CAAC;AAC1E,WAAO;AAAA,EACT;AAAA,EACA,qBAAqB,GAAG;AACtB,QAAI;AACJ,QAAI,MAAM;AACR,aAAO,KAAK;AACd,SAAK,wBAAwB;AAC7B,KAAC,MAAM,KAAK,aAAa,QAAQ,QAAQ,SAAS,SAAS,IAAI,OAAO,CAAC;AACvE,WAAO;AAAA,EACT;AAAA,EACA,QAAQ,GAAG;AACT,QAAI,CAAC,UAAU;AACb,aAAO,KAAK;AACd,SAAK,WAAW;AAChB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,uBAAuB;AACrB,QAAI,CAAC,KAAK,iBAAiB,KAAK,iBAAiB,KAAK,QAAQ,aAAa,GAAG;AAC5E,WAAK,UAAS;AAAA,IAChB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,KAAK,IAAI;AACP,QAAI,CAAC,KAAK,YAAY,QAAQ,MAAM;AAClC,aAAO;AACT,SAAK,SAAS,IAAI,SAAS,KAAK,KAAK,KAAK,IAAI;AAC9C,UAAM,SAAS,KAAK;AACpB,UAAM,QAAQ;AACd,SAAK,cAAc;AACnB,SAAK,gBAAgB;AACrB,UAAM,iBAAiB,GAAG,QAAQ,QAAQ,WAAW;AACnD,YAAM,OAAM;AACZ,YAAM,GAAE;AAAA,IACV,CAAC;AACD,UAAM,UAAU,CAAC,SAAS;AACxB,WAAK,QAAO;AACZ,WAAK,cAAc;AACnB,WAAK,aAAa,SAAS,IAAI;AAC/B,UAAI,IAAI;AACN,WAAG,IAAI;AAAA,MACT,OAAO;AACL,aAAK,qBAAoB;AAAA,MAC3B;AAAA,IACF;AACA,UAAM,WAAW,GAAG,QAAQ,SAAS,OAAO;AAC5C,QAAI,UAAU,KAAK,UAAU;AAC3B,YAAM,UAAU,KAAK;AACrB,YAAM,QAAQ,KAAK,aAAa,MAAM;AACpC,uBAAc;AACd,gBAAQ,IAAI,MAAM,SAAS,CAAC;AAC5B,eAAO,MAAK;AAAA,MACd,GAAG,OAAO;AACV,UAAI,KAAK,KAAK,WAAW;AACvB,cAAM,MAAK;AAAA,MACb;AACA,WAAK,KAAK,KAAK,MAAM;AACnB,aAAK,eAAe,KAAK;AAAA,MAC3B,CAAC;AAAA,IACH;AACA,SAAK,KAAK,KAAK,cAAc;AAC7B,SAAK,KAAK,KAAK,QAAQ;AACvB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,IAAI;AACV,WAAO,KAAK,KAAK,EAAE;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,SAAK,QAAO;AACZ,SAAK,cAAc;AACnB,SAAK,aAAa,MAAM;AACxB,UAAM,SAAS,KAAK;AACpB,SAAK,KAAK;AAAA,MACR,GAAG,QAAQ,QAAQ,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,MACzC,GAAG,QAAQ,QAAQ,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,MACzC,GAAG,QAAQ,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,MAC3C,GAAG,QAAQ,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA;AAAA,MAE3C,GAAG,KAAK,SAAS,WAAW,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,IAC3D;AAAA,EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,SAAK,aAAa,MAAM;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,MAAM;AACX,QAAI;AACF,WAAK,QAAQ,IAAI,IAAI;AAAA,IACvB,SAAS,GAAG;AACV,WAAK,QAAQ,eAAe,CAAC;AAAA,IAC/B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU,QAAQ;AAChB,aAAS,MAAM;AACb,WAAK,aAAa,UAAU,MAAM;AAAA,IACpC,GAAG,KAAK,YAAY;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ,MAAM;AACZ,SAAK,aAAa,SAAS,IAAI;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,KAAK,MAAM;AAChB,QAAI,SAAS,KAAK,KAAK,GAAG;AAC1B,QAAI,CAAC,QAAQ;AACX,eAAS,IAAI,QAAQ,MAAM,KAAK,IAAI;AACpC,WAAK,KAAK,GAAG,IAAI;AAAA,IACnB,WAAW,KAAK,gBAAgB,CAAC,OAAO,QAAQ;AAC9C,aAAO,QAAO;AAAA,IAChB;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,QAAQ;AACf,UAAM,OAAO,OAAO,KAAK,KAAK,IAAI;AAClC,eAAW,OAAO,MAAM;AACtB,YAAM,UAAU,KAAK,KAAK,GAAG;AAC7B,UAAI,QAAQ,QAAQ;AAClB;AAAA,MACF;AAAA,IACF;AACA,SAAK,OAAM;AAAA,EACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,QAAQ;AACd,UAAM,iBAAiB,KAAK,QAAQ,OAAO,MAAM;AACjD,aAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAC9C,WAAK,OAAO,MAAM,eAAe,CAAC,GAAG,OAAO,OAAO;AAAA,IACrD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACR,SAAK,KAAK,QAAQ,CAAC,eAAe,WAAU,CAAE;AAC9C,SAAK,KAAK,SAAS;AACnB,SAAK,QAAQ,QAAO;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;AACrB,SAAK,QAAQ,cAAc;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa;AACX,WAAO,KAAK,OAAM;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAQ,QAAQ,aAAa;AAC3B,QAAI;AACJ,SAAK,QAAO;AACZ,KAAC,MAAM,KAAK,YAAY,QAAQ,QAAQ,SAAS,SAAS,IAAI,MAAK;AACnE,SAAK,QAAQ,MAAK;AAClB,SAAK,cAAc;AACnB,SAAK,aAAa,SAAS,QAAQ,WAAW;AAC9C,QAAI,KAAK,iBAAiB,CAAC,KAAK,eAAe;AAC7C,WAAK,UAAS;AAAA,IAChB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY;AACV,QAAI,KAAK,iBAAiB,KAAK;AAC7B,aAAO;AACT,UAAM,QAAQ;AACd,QAAI,KAAK,QAAQ,YAAY,KAAK,uBAAuB;AACvD,WAAK,QAAQ,MAAK;AAClB,WAAK,aAAa,kBAAkB;AACpC,WAAK,gBAAgB;AAAA,IACvB,OAAO;AACL,YAAM,QAAQ,KAAK,QAAQ,SAAQ;AACnC,WAAK,gBAAgB;AACrB,YAAM,QAAQ,KAAK,aAAa,MAAM;AACpC,YAAI,MAAM;AACR;AACF,aAAK,aAAa,qBAAqB,MAAM,QAAQ,QAAQ;AAC7D,YAAI,MAAM;AACR;AACF,cAAM,KAAK,CAAC,SAAS;AACnB,cAAI,MAAM;AACR,kBAAM,gBAAgB;AACtB,kBAAM,UAAS;AACf,iBAAK,aAAa,mBAAmB,IAAI;AAAA,UAC3C,OAAO;AACL,kBAAM,YAAW;AAAA,UACnB;AAAA,QACF,CAAC;AAAA,MACH,GAAG,KAAK;AACR,UAAI,KAAK,KAAK,WAAW;AACvB,cAAM,MAAK;AAAA,MACb;AACA,WAAK,KAAK,KAAK,MAAM;AACnB,aAAK,eAAe,KAAK;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAc;AACZ,UAAM,UAAU,KAAK,QAAQ;AAC7B,SAAK,gBAAgB;AACrB,SAAK,QAAQ,MAAK;AAClB,SAAK,aAAa,aAAa,OAAO;AAAA,EACxC;AACF;AACA,MAAM,QAAQ,CAAA;AACd,SAAS,OAAO,KAAK,MAAM;AACzB,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO;AACP,UAAM;AAAA,EACR;AACA,SAAO,QAAQ,CAAA;AACf,QAAM,SAAS,IAAI,KAAK,KAAK,QAAQ,YAAY;AACjD,QAAM,SAAS,OAAO;AACtB,QAAM,KAAK,OAAO;AAClB,QAAM,OAAO,OAAO;AACpB,QAAM,gBAAgB,MAAM,EAAE,KAAK,QAAQ,MAAM,EAAE,EAAE,MAAM;AAC3D,QAAM,gBAAgB,KAAK,YAAY,KAAK,sBAAsB,KAAK,UAAU,KAAK,aAAa;AACnG,MAAI;AACJ,MAAI,eAAe;AACjB,SAAK,IAAI,QAAQ,QAAQ,IAAI;AAAA,EAC/B,OAAO;AACL,QAAI,CAAC,MAAM,EAAE,GAAG;AACd,YAAM,EAAE,IAAI,IAAI,QAAQ,QAAQ,IAAI;AAAA,IACtC;AACA,SAAK,MAAM,EAAE;AAAA,EACf;AACA,MAAI,OAAO,SAAS,CAAC,KAAK,OAAO;AAC/B,SAAK,QAAQ,OAAO;AAAA,EACtB;AACA,SAAO,GAAG,OAAO,OAAO,MAAM,IAAI;AACpC;AACA,OAAO,OAAO,QAAQ;AAAA,EACpB;AAAA,EACA,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,SAAS;AACX,CAAC;AACD,MAAM,kBAAkB,MAAMC,iBAAgB;AAAA,EAC5C,YAAY,QAAQ;AAClB,kBAAc,MAAM,QAAQ;AAC5B,kBAAc,MAAM,QAAQ;AAC5B,kBAAc,MAAM,UAAU,OAAO,YAAW,CAAE;AAClD,kBAAc,MAAM,UAAU,IAAI;AAClC,kBAAc,MAAM,mBAAmB,KAAK;AAC5C,kBAAc,MAAM,kBAAkB,MAAM;AAC5C,kBAAc,MAAM,aAAa,IAAI;AACrC,SAAK,SAAS;AACd,QAAI,CAAC,OAAO,QAAQ;AAClB,YAAM,IAAI,gBAAgB,qBAAqB;AAAA,IACjD;AACA,QAAI,CAAC,OAAO,SAAS;AACnB,YAAM,IAAI,gBAAgB,qBAAqB;AAAA,IACjD;AACA,UAAM,UAAU;AAAA,MACd,aAAa,OAAO;AAAA,MACpB,gBAAgB;AAAA,IACtB;AACI,SAAK,SAAS,MAAM,OAAO;AAAA,MACzB,SAAS;AAAA,MACT;AAAA,IACN,CAAK;AACD,SAAK,SAAS,OAAO,YAAW;AAChC,QAAI,OAAO,WAAW;AACpB,WAAK,YAAY,OAAO;AAAA,IAC1B;AACA,SAAK,iBAAiB,OAAO,kBAAkB;AAC/C,QAAI,CAAC,KAAK,aAAa,KAAK,mBAAmB,QAAQ;AACrD,WAAK,sBAAqB,EAAG;AAAA,QAC3B,CAAC,SAAS,KAAK,OAAO,KAAK,sCAAsC,IAAI;AAAA,MAC7E;AAAA,IACI;AAAA,EACF;AAAA,EACA,MAAM,gBAAgB,MAAM;AAC1B,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,IAAI,IAAI;AACrC,YAAM,WAAW,SAAS,QAAQ,cAAc,KAAK;AACrD,aAAO;AAAA,QACL,MAAM,SAAS,SAAS,QAAQ,gBAAgB,KAAK,KAAK,EAAE;AAAA,QAC5D;AAAA,MACR;AAAA,IACI,SAAS,OAAO;AACd,WAAK,OAAO,MAAM,iCAAiC,KAAK;AACxD,YAAM,IAAI,gBAAgB,+BAA+B;AAAA,IAC3D;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,UAAU;AACpB,UAAM,YAAY,SAAS,YAAW,EAAG,MAAM,GAAG,EAAE,IAAG;AACvD,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,gBAAgB,6BAA6B;AAAA,IACzD;AACA,UAAM,WAAWA,iBAAgB,iBAAiB,SAAS;AAC3D,QAAI,CAAC,UAAU;AACb,YAAM,IAAI,gBAAgB,0BAA0B,SAAS,EAAE;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB,SAAS;AACvB,SAAK,OAAO,MAAM,uBAAuB,OAAO;AAChD,QAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,KAAI,MAAO,IAAI;AACvD,WAAK,OAAO,KAAK,8BAA8B;AAC/C,YAAM,IAAI,gBAAgB,sBAAsB;AAAA,IAClD;AACA,QAAI,CAACA,iBAAgB,YAAY,SAAS,QAAQ,IAAI,GAAG;AACvD,YAAM,IAAI;AAAA,QACR,iBAAiB,QAAQ,IAAI,qBAAqBA,iBAAgB,YAAY,KAAK,IAAI,CAAC;AAAA,MAChG;AAAA,IACI;AACA,QAAI,QAAQ,SAAS,YAAY;AAC/B,UAAI,CAAC,QAAQ,eAAe,CAAC,QAAQ,gBAAgB;AACnD,cAAM,IAAI;AAAA,UACR;AAAA,QACV;AAAA,MACM;AAAA,IACF;AACA,QAAI,QAAQ,sBAAsB,QAAQ,SAAS,uBAAuB;AACxE,YAAM,IAAI;AAAA,QACR;AAAA,MACR;AAAA,IACI;AACA,SAAK,kBAAkB,QAAQ,IAAI;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,kBAAkB,UAAU;AAC1B,QAAI,aAAa,4BAA4B;AAC3C,WAAK,OAAO;AAAA,QACV;AAAA,MACR;AACM,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EACA,iBAAiB,UAAU;AACzB,UAAM,iBAAiB,OAAO,OAAOA,iBAAgB,gBAAgB;AACrE,QAAI,eAAe,SAAS,QAAQ,GAAG;AACrC,aAAO;AAAA,IACT;AACA,QAAI,aAAa,4BAA4B;AAC3C,WAAK,OAAO;AAAA,QACV;AAAA,MACR;AACM,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EACA,kBAAkB,MAAM;AACtB,QAAI,KAAK,SAAS,UAAU;AAC1B,UAAI,CAAC,KAAK,QAAQ;AAChB,cAAM,IAAI,gBAAgB,yBAAyB;AAAA,MACrD;AACA,YAAM,aAAa,KAAK,OAAO,QAAQ,qBAAqB,EAAE;AAC9D,YAAM,OAAO,KAAK,KAAK,WAAW,SAAS,IAAI;AAC/C,UAAI,OAAOA,iBAAgB,iBAAiB;AAC1C,cAAM,IAAI;AAAA,UACR,sCAAsCA,iBAAgB,kBAAkB,OAAO,IAAI;AAAA,QAC7F;AAAA,MACM;AACA,YAAM,WAAW,KAAK,YAAY,KAAK,YAAY,KAAK,QAAQ;AAChE,UAAI,CAAC,KAAK,iBAAiB,QAAQ,GAAG;AACpC,cAAM,IAAI;AAAA,UACR;AAAA,QACV;AAAA,MACM;AACA,UAAI,KAAK,aAAa,4BAA4B;AAChD,aAAK,WAAW,KAAK,kBAAkB,KAAK,QAAQ;AAAA,MACtD;AAAA,IACF,WAAW,KAAK,SAAS,OAAO;AAC9B,UAAI,CAAC,KAAK,KAAK;AACb,cAAM,IAAI,gBAAgB,iBAAiB;AAAA,MAC7C;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,yBAAyB,YAAY;AACzC,QAAI,WAAW,WAAW,OAAO,GAAG;AAClC,YAAM,UAAU,WAAW,MAAM,uBAAuB;AACxD,UAAI,WAAW,QAAQ,SAAS,GAAG;AACjC,eAAO,QAAQ,CAAC;AAAA,MAClB;AAAA,IACF;AACA,QAAI;AACF,YAAM,kBAAkB,WAAW,QAAQ,OAAO,EAAE;AACpD,YAAM,UAAU,QAAQ,KAAK,iBAAiB,QAAQ;AACtD,YAAM,aAAa,MAAM,mBAAmB,OAAO;AACnD,cAAQ,cAAc,OAAO,SAAS,WAAW,SAAS;AAAA,IAC5D,SAAS,MAAM;AACb,WAAK,OAAO,KAAK,wCAAwC;AACzD,aAAO;AAAA,IACT;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,iBAAiB,SAAS;AAC9B,QAAI,KAAK;AACT,QAAI;AACF,WAAK,gBAAgB,OAAO;AAC5B,UAAI,WAAW,QAAQ,KAAK;AAC5B,UAAI,QAAQ,KAAK,SAAS,OAAO;AAC/B,cAAM,eAAe,MAAM,KAAK,gBAAgB,QAAQ,KAAK,GAAG;AAChE,mBAAW,aAAa,YAAY;AACpC,YAAI,aAAa,OAAOA,iBAAgB,mBAAmB;AACzD,gBAAM,IAAI;AAAA,YACR,+CAA+CA,iBAAgB,oBAAoB,OAAO,IAAI;AAAA,UAC1G;AAAA,QACQ;AAAA,MACF,WAAW,QAAQ,KAAK,SAAS,UAAU;AACzC,mBAAW,MAAM,KAAK,yBAAyB,QAAQ,KAAK,MAAM;AAAA,MACpE;AACA,UAAI,aAAa,4BAA4B;AAC3C,mBAAW,KAAK,kBAAkB,QAAQ;AAAA,MAC5C;AACA,UAAI,QAAQ,aAAa;AACvB,cAAM,eAAe,MAAM,KAAK,gBAAgB,QAAQ,WAAW;AACnE,YAAI,aAAa,aAAa,oBAAoB;AAChD,gBAAM,IAAI;AAAA,YACR;AAAA,UACZ;AAAA,QACQ;AAAA,MACF;AACA,YAAM,cAAc;AAAA,QAClB,UAAU,QAAQ;AAAA,QAClB,MAAM,QAAQ;AAAA,QACd,SAAS,KAAK,OAAO;AAAA,QACrB,oBAAoB,QAAQ,qBAAqB,IAAI;AAAA,QACrD,SAAS,QAAQ;AAAA,QACjB,aAAa,QAAQ;AAAA,QACrB,cAAc,QAAQ;AAAA,QACtB,gBAAgB,QAAQ;AAAA,QACxB,aAAa,QAAQ;AAAA,MAC7B;AACM,UAAI;AACJ,UAAI,QAAQ,KAAK,SAAS,OAAO;AAC/B,mBAAW,MAAM,KAAK,OAAO,KAAK,mCAAmC;AAAA,UACnE,GAAG;AAAA,UACH,SAAS,QAAQ,KAAK;AAAA,QAChC,CAAS;AAAA,MACH,OAAO;AACL,mBAAW,MAAM,KAAK,OAAO,KAAK,mCAAmC;AAAA,UACnE,GAAG;AAAA,UACH,YAAY,QAAQ,KAAK;AAAA,UACzB,UAAU,QAAQ,KAAK;AAAA,UACvB,cAAc,YAAY,KAAK,YAAY,QAAQ,KAAK,QAAQ;AAAA,QAC1E,CAAS;AAAA,MACH;AACA,aAAO,SAAS;AAAA,IAClB,SAAS,OAAO;AACd,UAAI,iBAAiB,iBAAiB;AACpC,cAAM;AAAA,MACR;AACA,UAAI,MAAM,aAAa,KAAK,GAAG;AAC7B,cAAM,IAAI;AAAA,YACN,OAAO,MAAM,MAAM,aAAa,OAAO,SAAS,IAAI,SAAS,OAAO,SAAS,IAAI,YAAY;AAAA,QACzG;AAAA,MACM;AACA,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,mBAAmB,kBAAkB,cAAc;AACvD,QAAI,KAAK;AACT,QAAI;AACF,YAAM,SAAS,aAAa,YAAY,YAAY,OAAO,WAAU,IAAK,OAAO,WAAU;AAC3F,YAAM,aAAa,IAAI,iBAAiB,aAAa,OAAO;AAC5D,YAAM,UAAU,MAAM,WAAW,eAAe,aAAa,SAAS;AACtE,YAAM,QAAQ,MAAM,WAAW,OAAO,SAAS,QAAQ,QAAQ,OAAO,SAAS,IAAI;AACnF,YAAM,cAAc,OAAO,aAAa,eAAe;AACvD,UAAI;AACJ,UAAI,QAAQ,aAAa;AACvB,uBAAe,MAAM,QAAQ,OAAO,SAAS,KAAK,kBAAkB,OAAO,SAAS,IAAI,SAAS,OAAO,KAAK,WAAW,gBAAgB,aAAa,UAAU,IAAI,WAAW,kBAAkB,aAAa,UAAU;AAAA,MACzN,WAAW,CAAC,QAAQ,aAAa;AAC/B,cAAM,UAAU,cAAc,wBAAwB,aAAa,UAAU,IAAI;AACjF,sBAAc,WAAW,OAAO,SAAS,QAAQ,kBAAkB,YAAY,WAAW,kBAAkB,aAAa,UAAU,IAAI,WAAW,gBAAgB,aAAa,UAAU;AAAA,MAC3L,OAAO;AACL,qBAAa,aAAa;AAAA,MAC5B;AACA,aAAO,YAAY,aAAa,WAAW,UAAU;AACrD,YAAM,cAAc,oBAAoB;AAAA,QACtC,QAAQ,KAAK,kBAAkB,QAAQ;AAAA,MAC/C;AACM,YAAM,oBAAoB,MAAM,YAAY,KAAK,UAAU;AAC3D,YAAM,YAAY,MAAM,kBAAkB,QAAQ,MAAM;AACxD,YAAM,UAAU,MAAM,UAAU,WAAW,MAAM;AACjD,YAAM,SAAS,QAAQ,OAAO,SAAQ;AACtC,UAAI,WAAW,WAAW;AACxB,cAAM,IAAI,MAAM,mCAAmC,MAAM,EAAE;AAAA,MAC7D;AACA,aAAO,UAAU,cAAc,SAAQ;AAAA,IACzC,SAAS,OAAO;AACd,YAAM,IAAI;AAAA,QACR,kCAAkC,iBAAiB,QAAQ,MAAM,UAAU,eAAe;AAAA,MAClG;AAAA,IACI;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,6BAA6B,kBAAkB,QAAQ;AAC3D,QAAI;AACF,YAAM,cAAc,oBAAoB;AAAA,QACtC,QAAQ,KAAK,kBAAkB,QAAQ;AAAA,MAC/C;AACM,YAAM,YAAY,MAAM,YAAY,kBAAkB,MAAM;AAC5D,YAAM,UAAU,MAAM,UAAU,qBAAqB,MAAM;AAC3D,YAAM,SAAS,QAAQ,OAAO,SAAQ;AACtC,UAAI,WAAW,WAAW;AACxB,cAAM,IAAI,MAAM,mCAAmC,MAAM,EAAE;AAAA,MAC7D;AACA,aAAO,UAAU,cAAc,SAAQ;AAAA,IACzC,SAAS,OAAO;AACd,YAAM,IAAI;AAAA,QACR,kCAAkC,iBAAiB,QAAQ,MAAM,UAAU,eAAe;AAAA,MAClG;AAAA,IACI;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,mBAAmB,SAAS,cAAc,kBAAkB,SAAS;AACzE,UAAM,qBAAqB,WAAW,OAAO,SAAS,QAAQ,sBAAsB;AACpF,UAAM,eAAe,WAAW,OAAO,SAAS,QAAQ,gBAAgB;AACxE,UAAM,iBAAiB,WAAW,OAAO,SAAS,QAAQ,kBAAkB;AAC5E,SAAK,OAAO,MAAM,6BAA6B;AAAA,MAC7C,qBAAqB,CAAC,CAAC;AAAA,MACvB,gBAAgB,KAAK;AAAA,MACrB,WAAW,KAAK;AAAA,IACtB,CAAK;AACD,QAAI,KAAK,mBAAmB,QAAQ;AAClC,YAAM,eAAe,KAAK,mBAAmB,eAAe,KAAK,mBAAmB,UAAU,MAAM,KAAK,qBAAoB;AAC7H,UAAI,cAAc;AAChB,YAAI;AACF,gBAAM,WAAW,MAAM,KAAK;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA,UACZ;AACU,iBAAO;AAAA,QACT,SAAS,OAAO;AACd,eAAK,OAAO;AAAA,YACV;AAAA,YACA;AAAA,UACZ;AACU,gBAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,aAAK,OAAO;AAAA,UACV,qCAAqC,YAAY,eAAe,KAAK,SAAS;AAAA,QACxF;AAAA,MACM;AAAA,IACF,OAAO;AACL,WAAK,OAAO;AAAA,QACV,oCAAoC,CAAC,CAAC,gBAAgB,oBAAoB,KAAK,cAAc;AAAA,MACrG;AAAA,IACI;AACA,UAAM,sBAAsB,MAAM,KAAK,iBAAiB,OAAO;AAC/D,QAAI,CAAC,oBAAoB,kBAAkB;AACzC,WAAK,OAAO;AAAA,QACV;AAAA,QACA;AAAA,MACR;AACM,YAAM,IAAI,MAAM,wDAAwD;AAAA,IAC1E;AACA,SAAK,OAAO,KAAK,uBAAuB;AACxC,UAAM,gBAAgB,MAAM,KAAK;AAAA,MAC/B,oBAAoB;AAAA,MACpB;AAAA,IACN;AACI,UAAM,SAAS;AAAA,MACb,OAAO,oBAAoB;AAAA,MAC3B;AAAA,IACN;AACI,QAAI,mBAAmB;AACrB,UAAI,kBAAkB;AACpB,yBAAiB;AAAA,UACf,OAAO;AAAA,UACP,SAAS;AAAA,UACT,iBAAiB;AAAA,QAC3B,CAAS;AAAA,MACH;AACA,YAAM,cAAc,KAAK,MAAM,cAAc,aAAa;AAC1D,YAAM,cAAc,MAAM,KAAK;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACR;AACM,aAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS,YAAY;AAAA,QACrB,QAAQ,YAAY;AAAA,QACpB,WAAW,YAAY;AAAA,MAC/B;AAAA,IACI;AACA,WAAO;AAAA,EACT;AAAA,EACA,MAAM,wBAAwB;AAC5B,QAAI;AACF,YAAM,WAAW,MAAM,KAAK,OAAO,IAAI,iCAAiC;AACxE,YAAM,EAAE,SAAS,YAAW,IAAK,SAAS;AAC1C,UAAI,aAAa;AACf,aAAK,YAAY;AAAA,MACnB,WAAW,WAAW,QAAQ,SAAS,GAAG;AACxC,cAAM,gBAAgB,QAAQ,OAAO,CAAC,MAAM,EAAE,WAAW,QAAQ;AACjE,YAAI,cAAc,SAAS,GAAG;AAC5B,gBAAM,iBAAiB,cAAc,CAAC;AACtC,eAAK,YAAY,eAAe;AAAA,QAClC;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,WAAK,OAAO;AAAA,QACV;AAAA,MACR;AAAA,IACI;AAAA,EACF;AAAA,EACA,MAAM,uBAAuB;AAC3B,QAAI,CAAC,KAAK,UAAW,QAAO;AAC5B,QAAI;AACF,YAAM,aAAa,OAAO,KAAK,WAAW;AAAA,QACxC,MAAM,EAAE,QAAQ,KAAK,OAAO,OAAM;AAAA,QAClC,YAAY,CAAC,WAAW;AAAA,QACxB,SAAS;AAAA,MACjB,CAAO;AACD,aAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,cAAM,UAAU,WAAW,MAAM;AAC/B,qBAAW,WAAU;AACrB,kBAAQ,KAAK;AAAA,QACf,GAAG,GAAG;AACN,mBAAW,GAAG,WAAW,MAAM;AAC7B,uBAAa,OAAO;AACpB,qBAAW,WAAU;AACrB,kBAAQ,IAAI;AAAA,QACd,CAAC;AACD,mBAAW,GAAG,iBAAiB,MAAM;AACnC,uBAAa,OAAO;AACpB,qBAAW,WAAU;AACrB,kBAAQ,KAAK;AAAA,QACf,CAAC;AAAA,MACH,CAAC;AAAA,IACH,SAAS,GAAG;AACV,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,MAAM,qBAAqB,SAAS,cAAc,kBAAkB;AAClE,QAAI,CAAC,KAAK,WAAW;AACnB,YAAM,WAAW,MAAM,KAAK,OAAO,IAAI,iCAAiC;AACxE,YAAM,cAAc,SAAS,KAAK;AAClC,UAAI,CAAC,aAAa;AAChB,cAAM,IAAI,MAAM,gCAAgC;AAAA,MAClD;AACA,WAAK,YAAY;AAAA,IACnB;AACA,UAAM,KAAK,iBAAgB;AAC3B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAI,CAAC,KAAK,QAAQ;AAChB,eAAO,OAAO,IAAI,MAAM,yBAAyB,CAAC;AAAA,MACpD;AACA,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,YAAM,UAAU,MAAM;AACpB,YAAI,KAAK,KAAK;AACd,YAAI,cAAe,cAAa,aAAa;AAC7C,SAAC,MAAM,KAAK,WAAW,OAAO,SAAS,IAAI,IAAI,wBAAwB,eAAe;AACtF,SAAC,MAAM,KAAK,WAAW,OAAO,SAAS,IAAI,IAAI,wBAAwB,eAAe;AACtF,SAAC,KAAK,KAAK,WAAW,OAAO,SAAS,GAAG,IAAI,qBAAqB,YAAY;AAAA,MAChF;AACA,YAAM,aAAa;AACnB,sBAAgB,WAAW,MAAM;AAC/B,aAAK,OAAO;AAAA,UACV,uCAAuC,aAAa,GAAG;AAAA,UACvD;AAAA,YACE;AAAA,YACA;AAAA,YACA,aAAa;AAAA,UACzB;AAAA,QACA;AACQ,gBAAO;AACP,gBAAQ;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,WAAW;AAAA,QACrB,CAAS;AAAA,MACH,GAAG,UAAU;AACb,YAAM,kBAAkB,CAAC,SAAS;AAChC,gBAAO;AACP,gBAAQ;AAAA,UACN;AAAA,UACA;AAAA,UACA,SAAS,KAAK,WAAW,KAAK;AAAA,UAC9B,UAAU,KAAK,WAAW,KAAK;AAAA,UAC/B,QAAQ;AAAA,UACR,WAAW;AAAA,QACrB,CAAS;AAAA,MACH;AACA,YAAM,eAAe,CAAC,SAAS;AAC7B,gBAAO;AACP,eAAO,IAAI,MAAM,KAAK,SAAS,oBAAoB,CAAC;AAAA,MACtD;AACA,YAAM,kBAAkB,CAAC,SAAS;AAChC,aAAK,OAAO,MAAM,4BAA4B;AAAA,UAC5C,OAAO,KAAK;AAAA,UACZ,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf,SAAS,KAAK,WAAW,KAAK;AAAA,UAC9B,UAAU,KAAK,WAAW,KAAK;AAAA,QACzC,CAAS;AACD,YAAI,KAAK,WAAW,KAAK,UAAU;AACjC,oBAAU,KAAK,WAAW,KAAK;AAAA,QACjC;AACA,YAAI,kBAAkB;AACpB,2BAAiB;AAAA,YACf,OAAO,KAAK,WAAW,cAAc,cAAc;AAAA,YACnD,SAAS,2BAA2B,KAAK,MAAM;AAAA,YAC/C,iBAAiB,KAAK,YAAY;AAAA,YAClC,SAAS;AAAA,UACrB,CAAW;AAAA,QACH;AACA,YAAI,KAAK,WAAW,eAAe,KAAK,aAAa,KAAK;AACxD,eAAK,OAAO,KAAK,8CAA8C;AAAA,YAC7D,QAAQ,KAAK;AAAA,YACb,UAAU,KAAK;AAAA,YACf,SAAS,KAAK,WAAW,KAAK,YAAY;AAAA,YAC1C,UAAU,KAAK,WAAW,KAAK,YAAY;AAAA,UACvD,CAAW;AACD,kBAAO;AACP,kBAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA,SAAS,KAAK,WAAW,KAAK,YAAY;AAAA,YAC1C,UAAU,KAAK,WAAW,KAAK,YAAY;AAAA,YAC3C,QAAQ;AAAA,YACR,WAAW;AAAA,UACvB,CAAW;AAAA,QACH;AAAA,MACF;AACA,WAAK,OAAO,GAAG,wBAAwB,eAAe;AACtD,WAAK,OAAO,GAAG,wBAAwB,eAAe;AACtD,WAAK,OAAO,GAAG,qBAAqB,YAAY;AAChD,WAAK,OAAO;AAAA,QACV;AAAA,QACA;AAAA,UACE,GAAG;AAAA,UACH,SAAS,KAAK,OAAO;AAAA,QAC/B;AAAA,QACQ,OAAO,aAAa;AAClB,cAAI,CAAC,SAAS,SAAS;AACrB,oBAAO;AACP,mBAAO,OAAO,IAAI,MAAM,SAAS,SAAS,oBAAoB,CAAC;AAAA,UACjE;AACA,cAAI;AACF,gBAAI,CAAC,SAAS,kBAAkB;AAC9B,oBAAM,IAAI;AAAA,gBACR;AAAA,cAChB;AAAA,YACY;AACA,4BAAgB,MAAM,KAAK;AAAA,cACzB,SAAS;AAAA,cACT;AAAA,YACd;AACY,oBAAQ,SAAS,SAAS,SAAS;AACnC,gBAAI,CAAC,OAAO;AACV,oBAAM,IAAI,MAAM,+CAA+C;AAAA,YACjE;AACA,gBAAI,kBAAkB;AACpB,+BAAiB;AAAA,gBACf,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT,iBAAiB;AAAA,cACjC,CAAe;AAAA,YACH;AACA,iBAAK,OAAO;AAAA,cACV;AAAA,cACA;AAAA,gBACE;AAAA,gBACA;AAAA,cAChB;AAAA,YACA;AAAA,UACU,SAAS,OAAO;AACd,oBAAO;AACP,mBAAO,KAAK;AAAA,UACd;AAAA,QACF;AAAA,MACR;AAAA,IACI,CAAC;AAAA,EACH;AAAA,EACA,MAAM,mBAAmB;AACvB,QAAI,KAAK,mBAAmB,KAAK,OAAQ;AACzC,QAAI,CAAC,KAAK,WAAW;AACnB,YAAM,IAAI,MAAM,8BAA8B;AAAA,IAChD;AACA,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,WAAK,SAAS,OAAO,KAAK,WAAW;AAAA,QACnC,MAAM,EAAE,QAAQ,KAAK,OAAO,OAAM;AAAA,QAClC,YAAY,CAAC,aAAa,SAAS;AAAA,MAC3C,CAAO;AACD,YAAM,UAAU,WAAW,MAAM;AAC/B,eAAO,IAAI,MAAM,8BAA8B,CAAC;AAAA,MAClD,GAAG,GAAG;AACN,WAAK,OAAO,GAAG,WAAW,MAAM;AAC9B,qBAAa,OAAO;AACpB,aAAK,kBAAkB;AACvB,aAAK,OAAO,KAAK,qBAAqB;AACtC,gBAAO;AAAA,MACT,CAAC;AACD,WAAK,OAAO,GAAG,iBAAiB,CAAC,UAAU;AACzC,qBAAa,OAAO;AACpB,aAAK,kBAAkB;AACvB,eAAO,IAAI,MAAM,gCAAgC,MAAM,OAAO,EAAE,CAAC;AAAA,MACnE,CAAC;AACD,WAAK,OAAO,GAAG,cAAc,MAAM;AACjC,aAAK,kBAAkB;AACvB,aAAK,OAAO,KAAK,wBAAwB;AAAA,MAC3C,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAIA,aAAa;AACX,QAAI,KAAK,QAAQ;AACf,WAAK,OAAO,WAAU;AACtB,WAAK,SAAS;AACd,WAAK,kBAAkB;AAAA,IACzB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,SAAS,SAAS,QAAQ;AAC9B,UAAM,sBAAsB,MAAM,KAAK,iBAAiB,OAAO;AAC/D,QAAI,CAAC,oBAAoB,kBAAkB;AACzC,WAAK,OAAO;AAAA,QACV;AAAA,QACA;AAAA,MACR;AACM,YAAM,IAAI,MAAM,wDAAwD;AAAA,IAC1E;AACA,SAAK,OAAO,KAAK,uBAAuB;AACxC,UAAM,gBAAgB,MAAM,KAAK;AAAA,MAC/B,oBAAoB;AAAA,MACpB;AAAA,IACN;AACI,WAAO;AAAA,MACL,OAAO,oBAAoB;AAAA,MAC3B;AAAA,IACN;AAAA,EACE;AAAA,EACA,MAAM,iBAAiB,WAAW,aAAa,GAAG,YAAY,KAAK;AACjE,aAAS,UAAU,GAAG,UAAU,YAAY,WAAW;AACrD,UAAI;AACF,eAAO,MAAM,UAAS;AAAA,MACxB,SAAS,OAAO;AACd,YAAI,YAAY,aAAa,GAAG;AAC9B,gBAAM;AAAA,QACR;AACA,cAAM,QAAQ,YAAY,KAAK,IAAI,GAAG,OAAO;AAC7C,cAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,KAAK,CAAC;AACzD,aAAK,OAAO;AAAA,UACV,iBAAiB,UAAU,CAAC,IAAI,UAAU,UAAU,KAAK;AAAA,QACnE;AAAA,MACM;AAAA,IACF;AACA,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,oBAAoB,MAAM;AAC9B,QAAI,CAAC,MAAM;AACT,YAAM,IAAI,gBAAgB,4BAA4B;AAAA,IACxD;AACA,QAAI;AACF,aAAO,MAAM,KAAK,iBAAiB,YAAY;AAC7C,cAAM,WAAW,MAAM,KAAK,OAAO;AAAA,UACjC,yCAAyC,IAAI;AAAA,QACvD;AACQ,cAAM,SAAS,SAAS;AACxB,eAAO,EAAE,GAAG,QAAQ,OAAO,OAAO,GAAE;AAAA,MACtC,CAAC;AAAA,IACH,SAAS,OAAO;AACd,WAAK,OAAO,MAAM,mCAAmC,KAAK;AAC1D,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,sBAAsB,SAAS,IAAI;AACvC,QAAI;AACF,YAAM,WAAW,MAAM,KAAK,OAAO,IAAI,yBAAyB;AAAA,QAC9D;AAAA,MACR,CAAO;AACD,aAAO,SAAS;AAAA,IAClB,SAAS,OAAO;AACd,WAAK,OAAO,MAAM,wCAAwC,KAAK;AAC/D,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,aAAa,QAAQ;AAChC,UAAM,OAAO,IAAI,KAAK,MAAM;AAC5B,WAAO,KAAK,aAAY;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAa,eAAe,QAAQ;AAClC,UAAM,OAAO,OAAO,SAAS,WAAW,IAAI,WAAW;AAAA,MACrD,GAAG;AAAA,MACH,QAAQ,OAAO,YAAW;AAAA,IAChC,CAAK,IAAI,IAAI,KAAK,MAAM;AACpB,UAAM,EAAE,OAAM,IAAK,MAAM,KAAK,aAAY;AAC1C,WAAO,IAAIA,iBAAgB;AAAA,MACzB;AAAA,MACA,SAAS,OAAO,WAAW;AAAA,MAC3B,WAAW,OAAO;AAAA,MAClB,gBAAgB,OAAO,kBAAkB;AAAA,IAC/C,CAAK;AAAA,EACH;AAAA,EACA,MAAM,mBAAmB,MAAM,cAAc,IAAI,aAAa,KAAK,kBAAkB,OAAO,kBAAkB;AAC5G,QAAI;AACJ,QAAI,WAAW;AACf,QAAI,sBAAsB;AAC1B,UAAM,iBAAiB,CAAC,OAAO,SAAS,SAAS,YAAY;AAC3D,UAAI,kBAAkB;AACpB,YAAI;AACF,gCAAsB,KAAK,IAAI,qBAAqB,OAAO;AAC3D,2BAAiB;AAAA,YACf;AAAA,YACA;AAAA,YACA,iBAAiB;AAAA,YACjB,SAAS;AAAA,cACP,GAAG;AAAA,cACH;AAAA,cACA,gBAAgB;AAAA,cAChB;AAAA,YACd;AAAA,UACA,CAAW;AAAA,QACH,SAAS,MAAM;AACb,eAAK,OAAO,KAAK,+BAA+B,IAAI,EAAE;AAAA,QACxD;AAAA,MACF;AAAA,IACF;AACA,mBAAe,cAAc,qCAAqC,CAAC;AACnE,WAAO,WAAW,aAAa;AAC7B;AAAA,QACE;AAAA,QACA,yCAAyC,WAAW,CAAC,IAAI,WAAW;AAAA,QACpE;AAAA,QACA,EAAE,SAAS,WAAW,EAAC;AAAA,MAC/B;AACM,YAAM,SAAS,MAAM,KAAK,oBAAoB,IAAI;AAClD,UAAI,OAAO,OAAO;AAChB,uBAAe,aAAa,UAAU,OAAO,KAAK,IAAI,KAAK;AAAA,UACzD,OAAO,OAAO;AAAA,QACxB,CAAS;AACD,cAAM,IAAI,MAAM,OAAO,KAAK;AAAA,MAC9B;AACA,UAAI,kBAAkB;AACtB,UAAI,OAAO,aAAa,UAAU,OAAO,gBAAgB,UAAU,OAAO,cAAc,GAAG;AACzF,0BAAkB,KAAK;AAAA,UACrB;AAAA,UACA,IAAI,OAAO,WAAW,OAAO,cAAc;AAAA,QACrD;AACQ,YAAI,OAAO,WAAW;AACpB,4BAAkB;AAAA,QACpB;AAAA,MACF,WAAW,OAAO,WAAW,cAAc;AACzC,0BAAkB;AAAA,MACpB,WAAW,OAAO,WAAW;AAC3B,0BAAkB;AAAA,MACpB;AACA;AAAA,QACE,OAAO,YAAY,cAAc;AAAA,QACjC,OAAO,YAAY,uCAAuC,2BAA2B,OAAO,MAAM;AAAA,QAClG;AAAA,QACA;AAAA,UACE,QAAQ,OAAO;AAAA,UACf,mBAAmB,OAAO;AAAA,UAC1B,aAAa,OAAO;AAAA,UACpB,cAAc,OAAO;AAAA,UACrB,WAAW,OAAO;AAAA,UAClB,mBAAmB,OAAO;AAAA,UAC1B;AAAA,QACV;AAAA,MACA;AACM,YAAM,aAAa,OAAO,SAAS;AACnC,YAAM,cAAc,MAAM,OAAO,iBAAiB,OAAO,SAAS,IAAI,SAAQ,OAAQ;AACtF,UAAI,cAAc,OAAO,YAAY,OAAO,aAAa;AACvD,YAAI,CAAC,mBAAmB,OAAO,WAAW;AACxC;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA,EAAE,OAAM;AAAA,UACpB;AACU,iBAAO;AAAA,QACT;AAAA,MACF;AACA,UAAI,CAAC,cAAc,CAAC,aAAa,OAAO,UAAU;AAChD,YAAI,CAAC,mBAAmB,OAAO,WAAW;AACxC;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA,EAAE,OAAM;AAAA,UACpB;AACU,iBAAO;AAAA,QACT;AAAA,MACF;AACA,UAAI,aAAa,OAAO,YAAY,OAAO,eAAe,OAAO,iBAAiB;AAChF,YAAI,CAAC,mBAAmB,OAAO,WAAW;AACxC;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA,EAAE,OAAM;AAAA,UACpB;AACU,iBAAO;AAAA,QACT;AAAA,MACF;AACA,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,UAAU,CAAC;AAC9D;AAAA,IACF;AACA;AAAA,MACE;AAAA,MACA,eAAe,IAAI,4BAA4B,WAAW;AAAA,MAC1D;AAAA,MACA,EAAE,UAAU,KAAI;AAAA,IACtB;AACI,UAAM,IAAI;AAAA,MACR,eAAe,IAAI,4BAA4B,WAAW;AAAA,IAChE;AAAA,EACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,sBAAsB,QAAQ;AAClC,QAAI,KAAK;AACT,QAAI,CAAC,OAAO,UAAU;AACpB,YAAM,IAAI,gBAAgB,uBAAuB;AAAA,IACnD;AACA,QAAI;AACF,YAAM,cAAc;AAAA,QAClB,UAAU,OAAO;AAAA,MACzB;AACM,UAAI,OAAO,oBAAoB;AAC7B,oBAAY,qBAAqB;AAAA,MACnC;AACA,YAAM,WAAW,MAAM,KAAK,OAAO;AAAA,QACjC;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,QAClB;AAAA,MACA;AACM,aAAO,SAAS;AAAA,IAClB,SAAS,OAAO;AACd,WAAK,OAAO,MAAM,wCAAwC,KAAK;AAC/D,UAAI,MAAM,aAAa,KAAK,GAAG;AAC7B,cAAM,IAAI;AAAA,YACN,OAAO,MAAM,MAAM,aAAa,OAAO,SAAS,IAAI,SAAS,OAAO,SAAS,IAAI,YAAY;AAAA,QACzG;AAAA,MACM;AACA,YAAM;AAAA,IACR;AAAA,EACF;AACF;AACA,cAAc,iBAAiB,eAAe;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACD,cAAc,iBAAiB,mBAAmB,IAAI,OAAO,IAAI;AACjE,cAAc,iBAAiB,qBAAqB,MAAM,OAAO,IAAI;AACrE,cAAc,iBAAiB,oBAAoB;AAAA,EACjD,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,UAAU;AAAA,EACV,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AACE,IAAC,iBAAiB;","x_google_ignoreList":[0]}
|