typeson-registry 14.2.0 → 14.2.2

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../node_modules/.pnpm/base64-arraybuffer-es6@3.1.0/node_modules/base64-arraybuffer-es6/dist/base64-arraybuffer-es.js","../types/arraybuffer.js","../types/audiodata.js","../types/bigint-object.js","../types/bigint.js","../utils/stringArrayBuffer.js","../types/blob.js","../utils/generateUUID.js","../types/cloneable.js","../types/cryptokey.js","../types/dataview.js","../types/date.js","../types/domexception.js","../types/dommatrix.js","../types/dompoint.js","../types/domquad.js","../types/domrect.js","../types/encodedaudiochunk.js","../types/encodedvideochunk.js","../types/error.js","../types/errors.js","../types/file.js","../types/filelist.js","../types/imagebitmap.js","../types/imagedata.js","../types/infinity.js","../types/intl-types.js","../types/map.js","../types/nan.js","../types/negative-infinity.js","../types/negative-zero.js","../types/nonbuiltin-ignore.js","../types/primitive-objects.js","../types/promise.js","../types/quotaexceedederror.js","../types/regexp.js","../types/resurrectable.js","../types/set.js","../types/symbol.js","../types/typed-arrays-socketio.js","../types/typed-arrays.js","../types/undef.js","../types/user-object.js","../types/videoframe.js","../types/webtransporterror.js","../presets/array-nonindex-keys.js","../presets/special-numbers.js","../presets/builtin.js","../presets/postmessage.js","../presets/socketio.js","../presets/sparse-undefined.js","../presets/structured-cloning.js","../presets/structured-cloning-throwing.js","../presets/undef.js","../presets/universal.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(void 0,e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(t,n,r){if(\"\"===n)return t;if(null===t||\"object\"!=typeof t)throw new TypeError(\"Unexpected non-object type\");const s=n.indexOf(\".\"),o=unescapeKeyPathComponent(-1===s?n:n.slice(0,s));if(!r||e(t,o)){if(-1!==s){const e=t[o];return void 0===e?void 0:getByKeyPath(e,n.slice(s+1),r)}return t[o]}}function setAtKeyPath(t,n,r,s){if(\"\"===n)return r;let o=t,i=n;for(;;){if(!o||\"object\"!=typeof o)throw new TypeError(\"Unexpected non-object type\");const n=i.indexOf(\".\"),c=unescapeKeyPathComponent(-1===n?i:i.slice(0,n));if(\"__proto__\"===c)throw new TypeError(\"Invalid property\");if(-1===n)return o[c]=r,t;if(s&&!e(o,c))throw new TypeError(\"Invalid property\");o=o[c],i=i.slice(n+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n */const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return this.encapsulate(e,t,{...n,returnTypeNames:!0})}rootTypeName(e,t,n={}){return this.encapsulate(e,t,{...n,iterateNone:!0})}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){return setOwnEnumerable(a,p,await u.p),checkPromises(e,r)}return o?setOwnEnumerable(a,p,u):e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let b,O={};const v=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(b=i.replaced?t:replace(e,t,i,a,!1,l,v),b!==t&&(O={replaced:b})):b=t,v&&v(),b;if(null===t)return v&&v(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",v&&v({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),T=s(t),P=(m||T)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||T,null,v);let w;if(P!==t?(b=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),b=t):T&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(w=new Array(t.length),O={clone:w}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?b=t:(w={},i.addLength&&(w.length=t.length),O={clone:w}),v&&v(),c.iterateNone)return w??b;if(!w)return b;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,w,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&setOwnEnumerable(w,n,c)})}v&&v({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,w,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&setOwnEnumerable(w,n,s)})}),v&&v({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,w,r,i.type]):void 0!==e&&setOwnEnumerable(w,r,e)})}v&&v({endIterateUnsetNumeric:!0,end:!0})}return w},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},b=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(b,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(b)]:a?finish(b):Promise.resolve(finish(b))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n,!0);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const o=setAtKeyPath(e,n,s,!0);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=r(c,e)?c[e]:void 0,b=s(t);if(b||isPlainObject(t)){const s=b?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(s,n,void 0):void 0!==e&&setOwnEnumerable(s,n,e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t,!0);if(!o&&void 0===i)break;setOwnEnumerable(n,s,i),a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e,!0);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];if([this.plainObjectReplacers,this.nonplainObjectReplacers].forEach(e=>{const n=e.findIndex(e=>e.type===t);-1!==n&&e.splice(n,1)}),delete this.revivers[t],delete this.types[t],\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const o={type:t,test:n.test.bind(n)};n.replace&&(o.replace=n.replace.bind(n)),n.replaceAsync&&(o.replaceAsync=n.replaceAsync.bind(n));const c=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(c,0,o):this.nonplainObjectReplacers.splice(c,0,o),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2017-2023 Brett Zamir, 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\n/**\n * @typedef {number} Integer\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nvar lookup = new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[/** @type {number} */chars.codePointAt(i)] = i;\n}\n\n/**\n * @param {ArrayBuffer} arraybuffer\n * @param {Integer} [byteOffset]\n * @param {Integer} [lngth]\n * @returns {string}\n */\nvar encode = function encode(arraybuffer, byteOffset, lngth) {\n if (lngth === null || lngth === undefined) {\n lngth = arraybuffer.byteLength; // Needed for Safari\n }\n\n var bytes = new Uint8Array(arraybuffer, byteOffset || 0,\n // Default needed for Safari\n lngth);\n var len = bytes.length;\n var base64 = '';\n for (var _i = 0; _i < len; _i += 3) {\n base64 += chars[bytes[_i] >> 2];\n base64 += chars[(bytes[_i] & 3) << 4 | bytes[_i + 1] >> 4];\n base64 += chars[(bytes[_i + 1] & 15) << 2 | bytes[_i + 2] >> 6];\n base64 += chars[bytes[_i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.slice(0, -1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.slice(0, -2) + '==';\n }\n return base64;\n};\n\n/**\n * @param {string} base64\n * @param {{\n * maxByteLength: number\n * }} [options]\n * @returns {ArrayBuffer}\n */\nvar decode = function decode(base64, options) {\n var len = base64.length;\n if (len % 4) {\n throw new Error('Bad base64 length: not divisible by four');\n }\n var bufferLength = base64.length * 0.75;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n // @ts-expect-error Second argument is not yet standard\n var arraybuffer = new ArrayBuffer(bufferLength, options),\n bytes = new Uint8Array(arraybuffer);\n for (var _i2 = 0; _i2 < len; _i2 += 4) {\n // We know the result will not be undefined, as we have a text\n // length divisible by four\n encoded1 = lookup[/** @type {number} */base64.codePointAt(_i2)];\n encoded2 = lookup[/** @type {number} */base64.codePointAt(_i2 + 1)];\n encoded3 = lookup[/** @type {number} */base64.codePointAt(_i2 + 2)];\n encoded4 = lookup[/** @type {number} */base64.codePointAt(_i2 + 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};\n\nexport { decode, encode };\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst arraybuffer = {\n arraybuffer: {\n test (x) { return toStringTag(x) === 'ArrayBuffer'; },\n replace (\n b,\n /**\n * @type {import('typeson').StateObject &\n * {buffers?: ArrayBuffer[]}}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(b);\n if (index !== -1) {\n return {index};\n }\n stateObj.buffers.push(b);\n return {\n s: encode(b),\n maxByteLength: b.maxByteLength,\n resizable: b.resizable\n };\n },\n revive (\n b64,\n /**\n * @type {import('typeson').StateObject &\n * {buffers?: ArrayBuffer[]}}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n if (Object.hasOwn(b64, 'index')) {\n return stateObj.buffers[\n /**\n * @type {{index: import('typeson').Integer}}\n */\n (b64).index\n ];\n }\n const buffer = decode(\n /** @type {string} */ (b64.s),\n b64.resizable\n ? {maxByteLength: b64.maxByteLength}\n : undefined\n );\n stateObj.buffers.push(buffer);\n return buffer;\n }\n }\n};\n\nexport default arraybuffer;\n\n// See also typed-arrays!\n","/* globals AudioData -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst audiodata = {\n audiodata: {\n test (x) {\n return toStringTag(x) === 'AudioData';\n },\n replace (audioData) {\n const {\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp\n } = audioData;\n\n // 2. Determine plane layout based on audio format\n const isPlanar = format.endsWith('-planar');\n const numPlanes = isPlanar ? numberOfChannels : 1;\n\n // 3. Per the AudioData API, planes are laid out back-to-back\n // within a single buffer, so compute their sizes up front\n const planeSizes = [];\n let totalSize = 0;\n for (let i = 0; i < numPlanes; i++) {\n const size = audioData.allocationSize({planeIndex: i});\n planeSizes.push(size);\n totalSize += size;\n }\n\n // 4. Copy the raw binary data out of each plane into its slot\n const data = new ArrayBuffer(totalSize);\n let offset = 0;\n for (let i = 0; i < numPlanes; i++) {\n const planeView = new Uint8Array(data, offset, planeSizes[i]);\n audioData.copyTo(planeView, {planeIndex: i});\n offset += planeSizes[i];\n }\n\n // 5. Return a clean, serializable manifest\n return {\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp,\n data\n };\n },\n revive ({\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp, data\n }) {\n return new AudioData({\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp,\n data: new Uint8Array(data)\n });\n }\n }\n};\n\nexport default audiodata;\n","import {hasConstructorOf} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst bigintObject = {\n bigintObject: {\n test (x) {\n return typeof x === 'object' && hasConstructorOf(x, BigInt);\n },\n replace: String,\n revive (s) {\n return new Object(BigInt(/** @type {string} */ (s)));\n }\n }\n};\n\nexport default bigintObject;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst bigint = {\n bigint: {\n test (x) {\n return typeof x === 'bigint';\n },\n replace: String,\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-native-coercion-functions -- Clearer\n revive (s) {\n return BigInt(/** @type {string} */ (s));\n }\n }\n};\n\nexport default bigint;\n","/**\n * Not currently in use internally, but provided for parity.\n * @param {ArrayBuffer} buf\n * @returns {string}\n */\nfunction arraybuffer2string (buf) {\n return new Uint8Array(buf).reduce(\n (s, byte) => s + String.fromCodePoint(byte), ''\n );\n}\n\n/**\n *\n * @param {string} str\n * @returns {ArrayBuffer}\n */\nfunction string2arraybuffer (str) {\n /*\n // UTF-8 approaches\n const utf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(utf8.length);\n for (let i = 0; i < utf8.length; i++) {\n arr[i] = utf8.charCodeAt(i);\n }\n return arr.buffer;\n\n const utf8 = [];\n for (let i = 0; i < str.length; i++) {\n let charcode = str.charCodeAt(i);\n if (charcode < 0x80) utf8.push(charcode);\n else if (charcode < 0x800) {\n utf8.push(0xc0 | (charcode >> 6),\n 0x80 | (charcode & 0x3f));\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n utf8.push(0xe0 | (charcode >> 12),\n 0x80 | ((charcode >> 6) & 0x3f),\n 0x80 | (charcode & 0x3f));\n // surrogate pair\n } else {\n i++;\n // UTF-16 encodes 0x10000-0x10FFFF by\n // subtracting 0x10000 and splitting the\n // 20 bits of 0x0-0xFFFFF into two halves\n charcode = 0x10000 + (((charcode & 0x3ff) << 10) |\n (str.charCodeAt(i) & 0x3ff));\n utf8.push(0xf0 | (charcode >> 18),\n 0x80 | ((charcode >> 12) & 0x3f),\n 0x80 | ((charcode >> 6) & 0x3f),\n 0x80 | (charcode & 0x3f));\n }\n }\n return utf8;\n */\n /*\n // Working UTF-16 options (equivalents)\n const buf = new ArrayBuffer(str.length * 2); // 2 bytes for each char\n const bufView = new Uint16Array(buf);\n for (let i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n */\n\n const array = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-code-point -- Iterating char. codes\n array[i] = str.charCodeAt(i); // & 0xff;\n }\n return array.buffer;\n}\nexport {arraybuffer2string, string2arraybuffer};\n","/* globals XMLHttpRequest, FileReader -- Polyfills */\nimport {TypesonPromise, toStringTag} from 'typeson';\nimport {\n string2arraybuffer, arraybuffer2string\n} from '../utils/stringArrayBuffer.js';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst blob = {\n blob: {\n test (x) { return toStringTag(x) === 'Blob'; },\n replace (b) { // Sync\n const req = new XMLHttpRequest();\n req.overrideMimeType('text/plain; charset=x-user-defined');\n req.open('GET', URL.createObjectURL(b), false); // Sync\n req.send();\n\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n if (req.status !== 200 && req.status !== 0) {\n throw new Error('Bad Blob access: ' + req.status);\n }\n return {\n type: b.type,\n stringContents: req.responseText\n };\n },\n revive (obj) {\n const {\n type, stringContents\n } = /** @type {{type: string, stringContents: string}} */ (obj);\n return new Blob([string2arraybuffer(stringContents)], {type});\n },\n replaceAsync (b) {\n return new TypesonPromise((resolve, reject) => {\n /*\n if (b.isClosed) { // On MDN, but not in https://w3c.github.io/FileAPI/#dfn-Blob\n reject(new Error('The Blob is closed'));\n return;\n }\n */\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n resolve({\n type: b.type,\n stringContents: arraybuffer2string(\n /** @type {ArrayBuffer} */ (reader.result)\n )\n });\n });\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n reader.addEventListener('error', () => {\n reject(reader.error);\n });\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods -- Too new?\n reader.readAsArrayBuffer(b);\n });\n }\n }\n};\n\nexport default blob;\n","/**\n * @todo We could use `import generateUUID from 'uuid/v4';` (but it needs\n * crypto library, etc.; `rollup-plugin-node-builtins` doesn't recommend\n * using its own version and though there is <https://www.npmjs.com/package/crypto-browserify>,\n * it may be troublesome to bundle and not strongly needed)\n * @returns {string}\n */\nexport default function generateUUID () { // Adapted from original: public domain/MIT: https://stackoverflow.com/a/8809472/271577\n /* c8 ignore next */\n let d = Date.now();\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replaceAll(/[xy]/gu, function (c) {\n /* eslint-disable no-bitwise, sonarjs/pseudo-random -- Convenient */\n const r = Math.trunc((d + (Math.random() * 16)) % 16);\n d = Math.floor(d / 16);\n return (c === 'x' ? r : ((r & 0x3) | 0x8)).toString(16);\n /* eslint-enable no-bitwise, sonarjs/pseudo-random -- Convenient */\n });\n}\n","import generateUUID from '../utils/generateUUID.js';\n\n/**\n * @type {{[key: (symbol|string)]: any}}\n */\nconst cloneableObjectsByUUID = {};\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst cloneable = {\n cloneable: {\n test (x) {\n return x && typeof x === 'object' &&\n typeof x[Symbol.for('cloneEncapsulate')] === 'function';\n },\n replace (clonable) {\n const encapsulated = clonable[Symbol.for('cloneEncapsulate')]();\n const uuid = generateUUID();\n cloneableObjectsByUUID[uuid] = clonable;\n return {uuid, encapsulated};\n },\n revive (obj) {\n const {\n uuid, encapsulated\n } = /** @type {{uuid: string, encapsulated: any}} */ (obj);\n\n return cloneableObjectsByUUID[uuid][Symbol.for('cloneRevive')](\n encapsulated\n );\n }\n }\n};\n\nexport default cloneable;\n","import {TypesonPromise, toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst cryptokey = {\n cryptokey: {\n test (x) {\n return toStringTag(x) === 'CryptoKey' && x.extractable;\n },\n replaceAsync (\n /** @type {CryptoKey} */\n key\n ) {\n return new TypesonPromise(async (resolve, reject) => {\n /** @type {JsonWebKey} */\n let jwk;\n try {\n jwk = await crypto.subtle.exportKey('jwk', key);\n // Our format should be valid and our key extractable\n /* c8 ignore next 4 */\n } catch (err) {\n reject(err);\n return;\n }\n resolve({\n jwk,\n algorithm: key.algorithm,\n usages: key.usages\n });\n });\n },\n revive (obj) {\n const {\n jwk, algorithm, usages\n } = /**\n * @type {{\n * jwk: JsonWebKey,\n * algorithm: KeyAlgorithm,\n * usages: KeyUsage[]\n * }}\n */ (obj);\n\n return crypto.subtle.importKey(\n 'jwk', jwk, algorithm, true, usages\n );\n }\n }\n};\n\nexport default cryptokey;\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst dataview = {\n dataview: {\n test (x) { return toStringTag(x) === 'DataView'; },\n replace (\n {buffer, byteOffset, byteLength},\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index !== -1) {\n return {index, byteOffset, byteLength};\n }\n stateObj.buffers.push(buffer);\n return {\n encoded: encode(buffer),\n maxByteLength: buffer.maxByteLength,\n resizable: buffer.resizable,\n byteOffset,\n byteLength\n };\n },\n revive (\n b64Obj,\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {\n byteOffset, byteLength, encoded, index, maxByteLength,\n resizable\n } = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(\n encoded,\n resizable\n ? {maxByteLength}\n : maxByteLength\n );\n stateObj.buffers.push(buffer);\n }\n return new DataView(buffer, byteOffset, byteLength);\n }\n }\n};\n\nexport default dataview;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst date = {\n date: {\n test (x) { return toStringTag(x) === 'Date'; },\n replace (dt) {\n const time = dt.getTime();\n if (Number.isNaN(time)) {\n return 'NaN';\n }\n return time;\n },\n revive (time) {\n if (time === 'NaN') {\n return new Date(NaN);\n }\n return new Date(time);\n }\n }\n};\n\nexport default date;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst domexception = {\n domexception: {\n test (x) { return toStringTag(x) === 'DOMException'; },\n replace (de) {\n // `code` is based on `name` and readonly, so no\n // need to keep here\n return {\n name: de.name,\n message: de.message\n };\n },\n revive ({message, name}) {\n return new DOMException(message, name);\n }\n }\n};\n\nexport default domexception;\n","/* globals DOMMatrix, DOMMatrixReadOnly -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst dommatrix = {};\n\n/* c8 ignore next */\nif (typeof DOMMatrix !== 'undefined') {\n create(DOMMatrix);\n}\n/* c8 ignore next */\nif (typeof DOMMatrixReadOnly !== 'undefined') {\n create(DOMMatrixReadOnly);\n}\n\n/**\n * @param {typeof DOMMatrix|typeof DOMMatrixReadOnly} Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n dommatrix[Ctor.name.toLowerCase()] = {\n test (x) { return toStringTag(x) === Ctor.name; },\n replace (dm) {\n if (dm.is2D) {\n return {\n a: dm.a,\n b: dm.b,\n c: dm.c,\n d: dm.d,\n e: dm.e,\n f: dm.f\n };\n }\n return {\n m11: dm.m11,\n m12: dm.m12,\n m13: dm.m13,\n m14: dm.m14,\n m21: dm.m21,\n m22: dm.m22,\n m23: dm.m23,\n m24: dm.m24,\n m31: dm.m31,\n m32: dm.m32,\n m33: dm.m33,\n m34: dm.m34,\n m41: dm.m41,\n m42: dm.m42,\n m43: dm.m43,\n m44: dm.m44\n };\n },\n revive (o) {\n if (Object.hasOwn(o, 'a')) {\n return new Ctor([o.a, o.b, o.c, o.d, o.e, o.f]);\n }\n return new Ctor([\n o.m11, o.m12, o.m13, o.m14,\n o.m21, o.m22, o.m23, o.m24,\n o.m31, o.m32, o.m33, o.m34,\n o.m41, o.m42, o.m43, o.m44\n ]);\n }\n };\n}\n\nexport default dommatrix;\n","/* globals DOMPoint, DOMPointReadOnly -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst dompoint = {};\n\n/* c8 ignore next */\nif (typeof DOMPoint !== 'undefined') {\n create(DOMPoint);\n}\n/* c8 ignore next */\nif (typeof DOMPointReadOnly !== 'undefined') {\n create(DOMPointReadOnly);\n}\n\n/**\n * @param {typeof DOMPoint|typeof DOMPointReadOnly} Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n dompoint[Ctor.name.toLowerCase()] = {\n test (x) { return toStringTag(x) === Ctor.name; },\n replace (dp) {\n return {\n x: dp.x,\n y: dp.y,\n z: dp.z,\n w: dp.w\n };\n },\n revive ({x, y, z, w}) {\n return new Ctor(x, y, z, w);\n }\n };\n}\n\nexport default dompoint;\n","/* globals DOMQuad -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst domquad = {\n domquad: {\n test (x) { return toStringTag(x) === 'DOMQuad'; },\n replace (dp) {\n return {\n p1: dp.p1,\n p2: dp.p2,\n p3: dp.p3,\n p4: dp.p4\n };\n },\n revive ({p1, p2, p3, p4}) {\n return new DOMQuad(p1, p2, p3, p4);\n }\n }\n};\n\nexport default domquad;\n","/* globals DOMRect, DOMRectReadOnly -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst domrect = {};\n\n/* c8 ignore next */\nif (typeof DOMRect !== 'undefined') {\n create(DOMRect);\n}\n/* c8 ignore next */\nif (typeof DOMRectReadOnly !== 'undefined') {\n create(DOMRectReadOnly);\n}\n\n/**\n * @param {typeof DOMRect|typeof DOMRectReadOnly} Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n domrect[Ctor.name.toLowerCase()] = {\n test (x) { return toStringTag(x) === Ctor.name; },\n replace (dr) {\n return {\n x: dr.x,\n y: dr.y,\n width: dr.width,\n height: dr.height\n };\n },\n revive ({x, y, width, height}) {\n return new Ctor(x, y, width, height);\n }\n };\n}\n\nexport default domrect;\n","/* globals EncodedAudioChunk -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst encodedaudiochunk = {\n encodedaudiochunk: {\n test (x) {\n return toStringTag(x) === 'EncodedAudioChunk';\n },\n replace (chunk) {\n const {type, timestamp, duration, byteLength} = chunk;\n const data = new ArrayBuffer(byteLength);\n chunk.copyTo(data);\n return {type, timestamp, duration, data};\n },\n revive ({type, timestamp, duration, data}) {\n return new EncodedAudioChunk({\n type, timestamp, duration, data: new Uint8Array(data)\n });\n }\n }\n};\n\nexport default encodedaudiochunk;\n","/* globals EncodedVideoChunk -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst encodedvideochunk = {\n encodedvideochunk: {\n test (x) {\n return toStringTag(x) === 'EncodedVideoChunk';\n },\n replace (chunk) {\n const {type, timestamp, duration, byteLength} = chunk;\n const data = new ArrayBuffer(byteLength);\n chunk.copyTo(data);\n return {type, timestamp, duration, data};\n },\n revive ({type, timestamp, duration, data}) {\n return new EncodedVideoChunk({\n type, timestamp, duration, data: new Uint8Array(data)\n });\n }\n }\n};\n\nexport default encodedvideochunk;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst error = {\n error: {\n test (x) { return toStringTag(x) === 'Error'; },\n replace ({\n name, message, cause, stack, fileName, lineNumber, columnNumber\n }) {\n return {\n name, message, cause, stack, fileName, lineNumber, columnNumber\n };\n },\n revive (obj) {\n const e = /**\n * @type {{\n * name: string,\n * cause: Error,\n * stack: string,\n * fileName?: string,\n * lineNumber?: import('typeson').Integer,\n * columnNumber?: import('typeson').Integer\n * }}\n */ (new Error(obj.message));\n /* eslint-disable unicorn/no-error-property-assignment -- Ok */\n e.name = obj.name;\n e.cause = obj.cause;\n e.stack = obj.stack;\n /* eslint-enable unicorn/no-error-property-assignment -- Ok */\n e.fileName = obj.fileName;\n e.lineNumber = obj.lineNumber;\n e.columnNumber = obj.columnNumber;\n\n return e;\n }\n }\n};\n// See also errors.js that may be registered after having registered this type.\n\nexport default error;\n","/* globals InternalError -- Optional */\nimport {hasConstructorOf} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst errors = {};\n\n// JS standard\n// eslint-disable-next-line unicorn/no-top-level-side-effects -- Too cumbersome\n[\n TypeError, RangeError, SyntaxError, ReferenceError,\n EvalError, URIError\n].forEach((error) => create(error));\n\n/* c8 ignore next 3 */\nif (typeof AggregateError !== 'undefined') {\n create(AggregateError);\n}\n\n/* c8 ignore next 5 */\n// @ts-expect-error Non-standard\nif (typeof InternalError === 'function') {\n // @ts-expect-error Non-standard\n create(InternalError);\n}\n\n/**\n * Non-standard.\n * @typedef {{\n * new (message?: string, options?: ErrorOptions): EvalError;\n * (message?: string, options?: ErrorOptions): EvalError;\n * }} InternalErrorConstructor\n */\n\n/**\n * Comprises all built-in errors.\n * @param {TypeErrorConstructor|RangeErrorConstructor\n * |SyntaxErrorConstructor|ReferenceErrorConstructor\n * |EvalErrorConstructor|URIErrorConstructor\n * |AggregateErrorConstructor|InternalErrorConstructor\n * } Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n errors[Ctor.name.toLowerCase()] = {\n test (x) { return hasConstructorOf(x, Ctor); },\n replace ({\n name, message, cause, stack, fileName,\n lineNumber, columnNumber, errors: errs\n }) {\n return {\n name, message, cause, stack, fileName,\n lineNumber, columnNumber, errors: errs\n };\n },\n revive (obj) {\n const isAggregateError = typeof AggregateError !== 'undefined' &&\n Ctor === AggregateError;\n const e = /**\n * @type {{\n * name: string,\n * cause: Error,\n * stack: string,\n * fileName?: string,\n * lineNumber?: import('typeson').Integer,\n * columnNumber?: import('typeson').Integer\n * }}\n */ (isAggregateError\n ? new /** @type {AggregateErrorConstructor} */ (\n Ctor\n )(obj.errors, obj.message)\n : new /**\n * @type {TypeErrorConstructor|RangeErrorConstructor|\n * SyntaxErrorConstructor|ReferenceErrorConstructor|\n * EvalErrorConstructor|URIErrorConstructor|\n * InternalErrorConstructor}\n */ (Ctor)(obj.message));\n\n e.name = obj.name;\n e.cause = obj.cause;\n e.stack = obj.stack;\n e.fileName = obj.fileName;\n e.lineNumber = obj.lineNumber;\n e.columnNumber = obj.columnNumber;\n\n return e;\n }\n };\n}\n\nexport default errors;\n","/* globals XMLHttpRequest, FileReader -- Polyfills */\nimport {TypesonPromise, toStringTag} from 'typeson';\nimport {\n string2arraybuffer, arraybuffer2string\n} from '../utils/stringArrayBuffer.js';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst file = {\n file: {\n test (x) { return toStringTag(x) === 'File'; },\n replace (f) { // Sync\n const req = new XMLHttpRequest();\n req.overrideMimeType('text/plain; charset=x-user-defined');\n req.open('GET', URL.createObjectURL(f), false); // Sync\n req.send();\n\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n if (req.status !== 200 && req.status !== 0) {\n throw new Error('Bad File access: ' + req.status);\n }\n return {\n type: f.type,\n stringContents: req.responseText,\n name: f.name,\n lastModified: f.lastModified\n };\n },\n revive ({name, type, stringContents, lastModified}) {\n return new File([string2arraybuffer(stringContents)], name, {\n type,\n lastModified\n });\n },\n replaceAsync (f) {\n return new TypesonPromise(function (resolve, reject) {\n /*\n if (f.isClosed) { // On MDN, but not in https://w3c.github.io/FileAPI/#dfn-Blob\n reject(new Error('The File is closed'));\n return;\n }\n */\n const reader = new FileReader();\n reader.addEventListener('load', function () {\n resolve({\n type: f.type,\n stringContents: arraybuffer2string(\n /** @type {ArrayBuffer} */ (reader.result)\n ),\n name: f.name,\n lastModified: f.lastModified\n });\n });\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n reader.addEventListener('error', function () {\n reject(reader.error);\n });\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods -- Too new?\n reader.readAsArrayBuffer(f);\n });\n }\n }\n};\n\nexport default file;\n","import {toStringTag} from 'typeson';\nimport file from './file.js';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst filelist = {\n file: file.file,\n filelist: {\n test (x) { return toStringTag(x) === 'FileList'; },\n replace (fl) {\n const arr = [];\n for (let i = 0; i < fl.length; i++) {\n arr[i] = fl.item(i);\n }\n return arr;\n },\n revive (o) {\n /**\n * `FileList` polyfill.\n */\n class FileList {\n /**\n * Set private properties and length.\n */\n constructor () {\n // eslint-disable-next-line prefer-rest-params -- API\n this._files = arguments[0];\n this.length = this._files.length;\n }\n /**\n * @param {import('typeson').Integer} index\n * @returns {File}\n */\n item (index) {\n return this._files[index];\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {\"FileList\"}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'FileList';\n }\n }\n\n // @ts-ignore Override API\n return new FileList(o);\n }\n }\n};\n\nexport default filelist;\n","/* globals document, OffscreenCanvas, createImageBitmap -- Polyfills */\n// `ImageBitmap` is browser / DOM specific. It also can only work\n// same-domain (or CORS)\n\nimport {toStringTag, TypesonPromise} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst imagebitmap = {\n imagebitmap: {\n test (x) {\n return toStringTag(x) === 'ImageBitmap' ||\n // In Node, our polyfill sets the dataset on a canvas\n // element as JSDom no longer allows overriding toStringTag\n (x && x.dataset && x.dataset.toStringTag === 'ImageBitmap');\n },\n replace (bm) {\n const canvas = document.createElement('canvas');\n const ctx = /** @type {CanvasRenderingContext2D} */ (\n canvas.getContext('2d')\n );\n ctx.drawImage(bm, 0, 0);\n return {\n width: bm.width, height: bm.height, dataURL: canvas.toDataURL()\n };\n },\n revive (o) {\n const canvas = typeof OffscreenCanvas === 'undefined'\n ? document.createElement('canvas')\n /* c8 ignore next -- Browser only */\n : new OffscreenCanvas(o.width, o.height);\n /*\n var req = new XMLHttpRequest();\n req.open('GET', o, false); // Sync\n if (req.status !== 200 && req.status !== 0) {\n throw new Error('Bad ImageBitmap access: ' + req.status);\n }\n req.send();\n return req.responseText;\n */\n const ctx = /** @type {CanvasRenderingContext2D} */ (\n canvas.getContext('2d')\n );\n const img = document.createElement('img');\n // The onload is needed by some browsers per https://stackoverflow.com/a/4776378/271577\n img.addEventListener('load', function () {\n ctx.drawImage(img, 0, 0);\n });\n img.src = o.dataURL;\n // Works in contexts allowing an `ImageBitmap` (We might use\n // `OffscreenCanvas.transferToBitmap` when supported)\n return typeof OffscreenCanvas === 'undefined'\n ? canvas\n /* c8 ignore next 3 -- Browser only */\n : /** @type {OffscreenCanvas} */ (\n canvas\n ).transferToImageBitmap();\n },\n reviveAsync (o) {\n const canvas = document.createElement('canvas');\n const ctx = /** @type {CanvasRenderingContext2D} */ (\n canvas.getContext('2d')\n );\n const img = document.createElement('img');\n // The onload is needed by some browsers per https://stackoverflow.com/a/4776378/271577\n img.addEventListener('load', function () {\n ctx.drawImage(img, 0, 0);\n });\n img.src = o.dataURL;\n\n return new TypesonPromise(async (resolve, reject) => {\n try {\n const resp = await createImageBitmap(canvas);\n resolve(resp);\n /* c8 ignore next 3 */\n } catch (err) {\n reject(err);\n }\n });\n }\n }\n};\n\nexport default imagebitmap;\n","/* globals ImageData -- Polyfills */\n// `ImageData` is browser / DOM specific (though `node-canvas` has it\n// available on `Canvas`).\n\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst imagedata = {\n imagedata: {\n test (x) { return toStringTag(x) === 'ImageData'; },\n replace (d) {\n return {\n // Ensure `length` gets preserved for revival\n array: [...d.data],\n width: d.width,\n height: d.height\n };\n },\n revive (o) {\n return new ImageData(\n new Uint8ClampedArray(o.array), o.width, o.height\n );\n }\n }\n};\n\nexport default imagedata;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst infinity = {\n infinity: {\n test (x) { return x === Infinity; },\n replace (/* n */) { return 'Infinity'; },\n revive (/* s */) { return Infinity; }\n }\n};\n\nexport default infinity;\n","import {hasConstructorOf} from 'typeson';\n\n/**\n * @type {import('typeson').Spec}\n */\nconst IntlCollator = {\n test (x) { return hasConstructorOf(x, Intl.Collator); },\n replace (c) { return c.resolvedOptions(); },\n revive (options) { return new Intl.Collator(options.locale, options); }\n};\n\n/**\n * @type {import('typeson').Spec}\n */\nconst IntlDateTimeFormat = {\n test (x) { return hasConstructorOf(x, Intl.DateTimeFormat); },\n replace (dtf) { return dtf.resolvedOptions(); },\n revive (options) {\n return new Intl.DateTimeFormat(options.locale, options);\n }\n};\n\n/**\n * @type {import('typeson').Spec}\n */\nconst IntlNumberFormat = {\n test (x) { return hasConstructorOf(x, Intl.NumberFormat); },\n replace (nf) { return nf.resolvedOptions(); },\n revive (options) { return new Intl.NumberFormat(options.locale, options); }\n};\n\nconst intlTypes = {\n IntlCollator,\n IntlDateTimeFormat,\n IntlNumberFormat\n};\n\nexport default intlTypes;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst map = {\n map: {\n test (x) { return toStringTag(x) === 'Map'; },\n replace (mp) { return mp.entries().toArray(); },\n revive (entries) { return new Map(entries); }\n }\n};\n\nexport default map;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst nan = {\n nan: {\n test (x) { return Number.isNaN(x); },\n replace (/* n */) { return 'NaN'; },\n revive (/* s */) { return NaN; }\n }\n};\n\nexport default nan;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst negativeInfinity = {\n negativeInfinity: {\n test (x) { return x === -Infinity; },\n replace (/* n */) { return '-Infinity'; },\n revive (/* s */) { return -Infinity; }\n }\n};\n\nexport default negativeInfinity;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst negativeZero = {\n negativeZero: {\n test (x) {\n return Object.is(x, -0);\n },\n replace (/* n */) {\n // Just adding 0 here for minimized space; will still revive as -0\n return 0;\n },\n revive (/* s */) {\n return -0;\n }\n }\n};\n\nexport default negativeZero;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst nonbuiltinIgnore = {\n nonbuiltinIgnore: {\n test (x) {\n return x && typeof x === 'object' && !Array.isArray(x) && ![\n 'Object',\n // `Proxy` and `Reflect`, two other built-in objects, will also\n // have a `toStringTag` of `Object`; we don't want built-in\n // function objects, however\n 'Boolean', 'Number', 'String',\n 'Error', 'RegExp', 'Math', 'Date',\n 'Map', 'Set',\n 'JSON',\n 'ArrayBuffer', 'SharedArrayBuffer', 'DataView',\n 'Int8Array', 'Uint8Array', 'Uint8ClampedArray', 'Int16Array',\n 'Uint16Array', 'Int32Array', 'Uint32Array',\n 'Float32Array', 'Float64Array',\n 'Promise',\n 'String Iterator', 'Array Iterator',\n 'Map Iterator', 'Set Iterator',\n 'WeakMap', 'WeakSet',\n 'Atomics', 'Module'\n ].includes(toStringTag(x));\n },\n replace (/* rexp */) {\n // Not in use\n }\n }\n};\n\nexport default nonbuiltinIgnore;\n","// This module is for objectified primitives (such as `new Number(3)` or\n// `new String(\"foo\")`)\n/* eslint-disable no-new-wrappers, unicorn/new-for-builtins -- Deliberate */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst primitiveObjects = {\n // String Object (not primitive string which need no type spec)\n StringObject: {\n test (x) {\n return toStringTag(x) === 'String' && typeof x === 'object';\n },\n replace: String, // convert to primitive string\n revive (s) { return new String(s); } // Revive to an objectified string\n },\n // Boolean Object (not primitive boolean which need no type spec)\n BooleanObject: {\n test (x) {\n return toStringTag(x) === 'Boolean' &&\n typeof x === 'object';\n },\n replace (o) {\n // convert to primitive boolean\n return o.valueOf();\n },\n revive (b) {\n // Revive to an objectified Boolean\n return new Boolean(b);\n }\n },\n // Number Object (not primitive number which need no type spec)\n NumberObject: {\n test (x) {\n return toStringTag(x) === 'Number' && typeof x === 'object';\n },\n replace: Number, // convert to primitive number\n revive (n) { return new Number(n); } // Revive to an objectified number\n }\n};\n/* eslint-enable no-new-wrappers, unicorn/new-for-builtins -- Deliberate */\n\nexport default primitiveObjects;\n","import {TypesonPromise, toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst promise = {\n promise: {\n test (x) {\n return toStringTag(x) === 'Promise';\n },\n replaceAsync (prom) {\n return new TypesonPromise(async (resolve) => {\n try {\n resolve({\n value: await prom\n });\n } catch (error) {\n resolve({\n error\n });\n }\n });\n },\n revive (o) {\n return o.error\n ? Promise.reject(o.error)\n : Promise.resolve(o.value);\n }\n }\n};\n\nexport default promise;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst quotaexceedederror = {\n quotaexceedederror: {\n test (x) { return toStringTag(x) === 'QuotaExceededError'; },\n replace ({message, quota, requested}) {\n return {message, quota, requested};\n },\n revive ({message, quota, requested}) {\n /** @type {{quota?: number, requested?: number}} */\n const options = {};\n if (quota !== null && quota !== undefined) {\n options.quota = quota;\n }\n if (requested !== null && requested !== undefined) {\n options.requested = requested;\n }\n return new QuotaExceededError(message, options);\n }\n }\n};\n\nexport default quotaexceedederror;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst regexp = {\n regexp: {\n test (x) { return toStringTag(x) === 'RegExp'; },\n replace (rexp) {\n return {\n source: rexp.source,\n flags: (rexp.global ? 'g' : '') +\n (rexp.ignoreCase ? 'i' : '') +\n (rexp.multiline ? 'm' : '') +\n (rexp.sticky ? 'y' : '') +\n (rexp.unicode ? 'u' : '') +\n (rexp.unicodeSets ? 'v' : '') +\n (rexp.hasIndices ? 'd' : '') +\n (rexp.dotAll ? 's' : '')\n };\n },\n revive ({source, flags}) { return new RegExp(source, flags); }\n }\n};\n\nexport default regexp;\n","// Here we allow the exact same non-plain object, function, and symbol\n// instances to be resurrected (assuming the same session/environment);\n// plain objects are ignored by Typeson so not presently available and\n// we consciously exclude arrays\n\nimport generateUUID from '../utils/generateUUID.js';\n\n/**\n * @type {{[key: string]: any}}\n */\nconst resurrectableObjectsByUUID = {};\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst resurrectable = {\n resurrectable: {\n test (x) {\n return x &&\n !Array.isArray(x) &&\n ['object', 'function', 'symbol'].includes(typeof x);\n },\n replace (rsrrctble) {\n const uuid = generateUUID();\n resurrectableObjectsByUUID[uuid] = rsrrctble;\n return uuid;\n },\n revive (serializedResurrectable) {\n return resurrectableObjectsByUUID[serializedResurrectable];\n }\n }\n};\n\nexport default resurrectable;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst set = {\n set: {\n test (x) { return toStringTag(x) === 'Set'; },\n replace (st) {\n return st.values().toArray();\n },\n revive (values) {\n return new Set(values);\n }\n }\n};\n\nexport default set;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst symbol = {\n symbol: {\n test (x) {\n return typeof x === 'symbol';\n },\n replace (sym) {\n return {\n global: Symbol.keyFor(sym) !== undefined,\n sym: String(sym).slice(7, -1)\n };\n },\n revive (o) {\n return o.global ? Symbol.for(o.sym) : Symbol(o.sym);\n }\n }\n};\n\nexport default symbol;\n","import {toStringTag} from 'typeson';\n\n// Support all kinds of typed arrays (views of ArrayBuffers)\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst typedArraysSocketIO = {};\n\n/**\n * @param {Int8ArrayConstructor|Uint8ArrayConstructor\n * |Uint8ClampedArrayConstructor|Int16ArrayConstructor\n * |Uint16ArrayConstructor|Int32ArrayConstructor\n * |Uint32ArrayConstructor|Float32ArrayConstructor\n * |Float64ArrayConstructor|Float16ArrayConstructor\n * |BigInt64ArrayConstructor|BigUint64ArrayConstructor\n * } TypedArray\n * @returns {void}\n */\nfunction create (TypedArray) {\n const typeName = TypedArray.name;\n typedArraysSocketIO[typeName.toLowerCase()] = {\n test (x) { return toStringTag(x) === typeName; },\n replace (a) {\n return (a.byteOffset === 0 &&\n a.byteLength === a.buffer.byteLength\n ? a\n // socket.io supports streaming ArrayBuffers.\n // If we have a typed array representing a portion\n // of the buffer, we need to clone\n // the buffer before leaving it to socket.io.\n : a.slice(0)).buffer;\n },\n revive (buf) {\n // One may configure socket.io to revive binary data as\n // Buffer or Blob.\n // We should therefore not rely on that the instance we\n // get here is an ArrayBuffer\n // If not, let's assume user wants to receive it as\n // configured with socket.io.\n return toStringTag(buf) === 'ArrayBuffer'\n ? new TypedArray(buf)\n : buf;\n }\n };\n}\n\nif (typeof Int8Array === 'function') {\n // Those constructors are added in ES6 as a group.\n // If we have Int8Array, we can assume the rest also exists.\n\n [\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n ...(typeof BigInt64Array === 'function'\n ? [BigInt64Array, BigUint64Array]\n /* c8 ignore next */\n : []),\n ...(typeof Float16Array === 'function'\n ? [Float16Array]\n /* c8 ignore next */\n : [])\n ].forEach((TypedArray) => create(TypedArray));\n}\n\nexport default typedArraysSocketIO;\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst typedArrays = {};\n\n/**\n * @typedef {Int8ArrayConstructor|Uint8ArrayConstructor\n * |Uint8ClampedArrayConstructor\n * |Int16ArrayConstructor|Uint16ArrayConstructor\n * |Int32ArrayConstructor|Uint32ArrayConstructor\n * |Float32ArrayConstructor\n * |Float64ArrayConstructor\n * |BigInt64ArrayConstructor|BigUint64ArrayConstructor\n * |Float16ArrayConstructor} TypedArrayConstructor\n */\n\n/**\n * @param {TypedArrayConstructor} TypedArray\n * @returns {void}\n */\nfunction create (TypedArray) {\n const typeName = TypedArray.name;\n\n typedArrays[typeName.toLowerCase()] = {\n test (x) { return toStringTag(x) === typeName; },\n replace (\n {buffer, byteOffset, length: l},\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index !== -1) {\n return {index, byteOffset, length: l};\n }\n stateObj.buffers.push(buffer);\n return {\n maxByteLength: buffer.maxByteLength,\n resizable: buffer.resizable,\n encoded: encode(buffer),\n byteOffset,\n length: l\n };\n },\n revive (\n b64Obj,\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {\n byteOffset, length: len, encoded, index, maxByteLength,\n resizable\n } = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(\n encoded,\n resizable\n ? {maxByteLength}\n : undefined\n );\n stateObj.buffers.push(buffer);\n }\n\n return new TypedArray(buffer, byteOffset, len);\n }\n };\n}\n\nif (typeof Int8Array === 'function') {\n // Those constructors are added in ES6 as a group.\n // If we have Int8Array, we can assume the rest also exists.\n [\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n ...(typeof BigInt64Array === 'function'\n ? [BigInt64Array, BigUint64Array]\n /* c8 ignore next */\n : []),\n ...(typeof Float16Array === 'function'\n ? [Float16Array]\n /* c8 ignore next */\n : [])\n ].forEach((TypedArray) => create(TypedArray));\n}\n\nexport default typedArrays;\n","// This does not preserve `undefined` in sparse arrays; see the `undef`\n// or `sparse-undefined` preset\nimport {Undefined} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst undef = {\n undef: {\n test (x, stateObj) {\n return typeof x === 'undefined' &&\n (stateObj.ownKeys || !('ownKeys' in stateObj));\n },\n replace (/* n */) { return 0; },\n revive (/* s */) {\n // Will add `undefined` (returning `undefined` would instead\n // avoid explicitly setting)\n return new Undefined();\n }\n }\n};\n\nexport default undef;\n","import {isUserObject} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst userObject = {\n userObject: {\n test (x /* , stateObj */) { return isUserObject(x); },\n replace (n) { return {...n}; },\n revive (s) { return s; }\n }\n};\n\nexport default userObject;\n","/* globals VideoFrame -- Polyfills */\nimport {TypesonPromise, toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst videoframe = {\n videoframe: {\n test (x) {\n return toStringTag(x) === 'VideoFrame';\n },\n replaceAsync (frame) {\n return new TypesonPromise(async (resolve, reject) => {\n try {\n const {\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect, displayWidth, displayHeight, colorSpace\n } = frame;\n\n const data = new ArrayBuffer(frame.allocationSize());\n await frame.copyTo(data);\n\n resolve({\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect: {\n x: visibleRect.x,\n y: visibleRect.y,\n width: visibleRect.width,\n height: visibleRect.height\n },\n displayWidth, displayHeight,\n colorSpace: {\n primaries: colorSpace.primaries,\n transfer: colorSpace.transfer,\n matrix: colorSpace.matrix,\n fullRange: colorSpace.fullRange\n },\n data\n });\n /* c8 ignore next 3 -- How to simulate? */\n } catch (err) {\n reject(err);\n }\n });\n },\n revive ({\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect, displayWidth, displayHeight, colorSpace, data\n }) {\n return new VideoFrame(new Uint8Array(data), {\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect, displayWidth, displayHeight, colorSpace\n });\n }\n }\n};\n\nexport default videoframe;\n","/* globals WebTransportError -- Newer API */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst webtransporterror = {\n webtransporterror: {\n test (x) { return toStringTag(x) === 'WebTransportError'; },\n // Note that we can't support the `source` property (defaults\n // to `stream` instead of `session`)\n replace ({message, streamErrorCode}) {\n return {message, streamErrorCode};\n },\n revive ({message, streamErrorCode}) {\n // TS lib still models the older two-argument\n // `(message, options)` form; browsers implement a single\n // `init` object (which also carries `message`).\n // @ts-expect-error - More recent API\n return new WebTransportError({message, streamErrorCode});\n }\n }\n};\n\nexport default webtransporterror;\n","/**\n * @type {import('typeson').Preset}\n */\nconst arrayNonindexKeys = [\n {\n arrayNonindexKeys: {\n testPlainObjects: true,\n test (x, stateObj) {\n if (Array.isArray(x)) {\n if (\n // By avoiding serializing arrays into objects which\n // have only positive-integer keys, we reduce\n // size and improve revival performance; arrays with\n // non-index keys will be larger however\n Object.keys(x).some((k) => {\n // No need to check for `isNaN` or\n // `isNaN(Number.parseInt())` as `NaN` will be\n // treated as a string.\n // No need to do check as\n // `Number.parseInt(Number())` since scientific\n // notation will be pre-resolved if a number\n // was given, and it will otherwise be a string\n return String(Number(k)) !== k;\n })\n ) {\n stateObj.iterateIn = 'object';\n stateObj.addLength = true;\n }\n return true;\n }\n return false;\n },\n replace (a, stateObj) {\n // Catch sparse undefined\n stateObj.iterateUnsetNumeric = true;\n return a;\n },\n revive (o) {\n if (Array.isArray(o)) {\n return o;\n }\n\n /**\n * @type {{[key: string]: any}}\n */\n const arr = [];\n // No map here as may be a sparse array (including\n // with `length` set)\n Object.entries(o).forEach(([key, val]) => {\n arr[key] = val;\n });\n return arr;\n }\n }\n },\n {\n sparseUndefined: {\n test (x, stateObj) {\n return typeof x === 'undefined' && stateObj.ownKeys === false;\n },\n replace (/* n */) { return 0; },\n revive (/* s */) { return undefined; } // Will avoid adding anything\n }\n }\n];\n\nexport default arrayNonindexKeys;\n","import nan from '../types/nan.js';\nimport infinity from '../types/infinity.js';\nimport negativeInfinity from '../types/negative-infinity.js';\nimport negativeZero from '../types/negative-zero.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst specialNumbers = [\n nan,\n infinity,\n negativeInfinity,\n negativeZero\n];\n\nexport default specialNumbers;\n","/* This preset includes types that are built-in into the JavaScript\n language itself, this should work universally.\n\n Types that were added in ES6 or beyond will be checked before inclusion\n so that this module can be consumed by both ES5 and ES6 environments.\n\n Some types cannot be encapsulated because their inner state is private:\n `WeakMap`, `WeakSet`.\n\n The Function type is not included because their closures would not be\n serialized, so a revived Function that uses closures would not behave\n as expected.\n\n Symbols are similarly not included.\n*/\n\nimport arrayNonindexKeys from './array-nonindex-keys.js';\nimport undef from '../types/undef.js';\nimport primitiveObjects from '../types/primitive-objects.js';\nimport specialNumbers from './special-numbers.js';\nimport date from '../types/date.js';\nimport error from '../types/error.js';\nimport errors from '../types/errors.js';\nimport regexp from '../types/regexp.js';\nimport map from '../types/map.js';\nimport set from '../types/set.js';\nimport arraybuffer from '../types/arraybuffer.js';\nimport typedArrays from '../types/typed-arrays.js';\nimport dataview from '../types/dataview.js';\nimport intlTypes from '../types/intl-types.js';\nimport bigint from '../types/bigint.js';\nimport bigintObject from '../types/bigint-object.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst expObj = [\n undef,\n // ES5\n arrayNonindexKeys, primitiveObjects, specialNumbers,\n date, error, errors, regexp\n].concat(\n // ES2015 (ES6)\n /* c8 ignore next */\n typeof Map === 'function' ? map : [],\n /* c8 ignore next */\n typeof Set === 'function' ? set : [],\n /* c8 ignore next */\n typeof ArrayBuffer === 'function' ? arraybuffer : [],\n /* c8 ignore next */\n typeof Uint8Array === 'function' ? typedArrays : [],\n /* c8 ignore next */\n typeof DataView === 'function' ? dataview : [],\n /* c8 ignore next */\n typeof Intl !== 'undefined' ? intlTypes : [],\n\n /* c8 ignore next */\n typeof BigInt !== 'undefined' ? [bigint, bigintObject] : []\n);\nexport default expObj;\n","/*\nWhen communicating via `postMessage()` (`Worker.postMessage()` or\n`window.postMessage()`), the browser will use a similar algorithm as Typeson\ndoes to encapsulate and revive all items in the structure (aka the structured\nclone algorithm). This algorithm supports all built-in types as well as many\nDOM types. Therefore, only types that are not included in the structured clone\nalgorithm need to be registered, which is:\n\n* Error (now included in structured cloning)\n* Specific Errors like SyntaxError, TypeError, etc. (now included in structured\n* cloning)\n* Any custom type you want to send across window- or worker boundraries\n\nThis preset will only include the Error types and you can register your\ncustom types after having registered these.\n*/\n\nimport error from '../types/error.js';\nimport errors from '../types/errors.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst postmessage = [\n error,\n errors\n];\n\nexport default postmessage;\n","import builtin from './builtin.js';\nimport typedArraysSocketIO from '../types/typed-arrays-socketio.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst socketio = [\n builtin,\n // Leave ArrayBuffer as is, and let socket.io stream it instead.\n {arraybuffer: null},\n // Encapsulate TypedArrays in ArrayBuffers instead of base64 strings.\n typedArraysSocketIO\n];\n\nexport default socketio;\n","/**\n * @type {import('typeson').Preset}\n */\nconst sparseUndefined = [\n {\n sparseArrays: {\n testPlainObjects: true,\n test (x) { return Array.isArray(x); },\n replace (a, stateObj) {\n stateObj.iterateUnsetNumeric = true;\n return a;\n }\n }\n },\n {\n sparseUndefined: {\n test (x, stateObj) {\n return typeof x === 'undefined' && stateObj.ownKeys === false;\n },\n replace (/* n */) { return 0; },\n revive (/* s */) { return undefined; } // Will avoid adding anything\n }\n }\n];\n\nexport default sparseUndefined;\n","/* This preset includes types for the Structured Cloning Algorithm. */\n\nimport userObject from '../types/user-object.js';\nimport arrayNonindexKeys from './array-nonindex-keys.js';\nimport undef from '../types/undef.js';\nimport primitiveObjects from '../types/primitive-objects.js';\nimport specialNumbers from './special-numbers.js';\nimport date from '../types/date.js';\nimport regexp from '../types/regexp.js';\nimport map from '../types/map.js';\nimport set from '../types/set.js';\nimport error from '../types/error.js';\nimport errors from '../types/errors.js';\nimport arraybuffer from '../types/arraybuffer.js';\nimport typedArrays from '../types/typed-arrays.js';\nimport dataview from '../types/dataview.js';\nimport domexception from '../types/domexception.js';\nimport domrect from '../types/domrect.js';\nimport dompoint from '../types/dompoint.js';\nimport domquad from '../types/domquad.js';\nimport dommatrix from '../types/dommatrix.js';\nimport audiodata from '../types/audiodata.js';\nimport encodedaudiochunk from '../types/encodedaudiochunk.js';\nimport encodedvideochunk from '../types/encodedvideochunk.js';\nimport videoframe from '../types/videoframe.js';\nimport quotaexceedederror from '../types/quotaexceedederror.js';\nimport webtransporterror from '../types/webtransporterror.js';\n\nimport imagedata from '../types/imagedata.js';\nimport imagebitmap from '../types/imagebitmap.js'; // Async return\nimport file from '../types/file.js';\nimport filelist from '../types/filelist.js';\nimport blob from '../types/blob.js';\nimport bigint from '../types/bigint.js';\nimport bigintObject from '../types/bigint-object.js';\n\nimport cryptokey from '../types/cryptokey.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst expObj = [\n // ES5\n userObject, // Processed last (non-builtin)\n\n undef,\n arrayNonindexKeys, primitiveObjects, specialNumbers,\n date, regexp,\n\n // Non-built-ins\n imagedata,\n imagebitmap, // Async return\n file,\n filelist,\n blob,\n error,\n errors\n].concat(\n // ES2015 (ES6)\n /* c8 ignore next */\n typeof Map === 'function' ? map : [],\n /* c8 ignore next */\n typeof Set === 'function' ? set : [],\n /* c8 ignore next */\n typeof ArrayBuffer === 'function' ? arraybuffer : [],\n /* c8 ignore next */\n typeof Uint8Array === 'function' ? typedArrays : [],\n /* c8 ignore next */\n typeof DataView === 'function' ? dataview : [],\n /* c8 ignore next */\n typeof crypto !== 'undefined' ? cryptokey : [],\n /* c8 ignore next */\n typeof BigInt !== 'undefined' ? [bigint, bigintObject] : [],\n /* c8 ignore next */\n typeof DOMException !== 'undefined' ? domexception : [],\n /* c8 ignore next */\n typeof QuotaExceededError !== 'undefined' ? quotaexceedederror : [],\n /* c8 ignore next */\n typeof WebTransportError !== 'undefined' ? webtransporterror : [],\n /* c8 ignore next */\n typeof DOMRect !== 'undefined' ? domrect : [],\n /* c8 ignore next */\n typeof DOMPoint !== 'undefined' ? dompoint : [],\n /* c8 ignore next */\n typeof DOMQuad !== 'undefined' ? domquad : [],\n /* c8 ignore next */\n typeof DOMMatrix !== 'undefined' ? dommatrix : [],\n /* c8 ignore next */\n typeof AudioData !== 'undefined' ? audiodata : [],\n /* c8 ignore next */\n typeof EncodedAudioChunk !== 'undefined' ? encodedaudiochunk : [],\n /* c8 ignore next */\n typeof EncodedVideoChunk !== 'undefined' ? encodedvideochunk : [],\n /* c8 ignore next */\n typeof VideoFrame !== 'undefined' ? videoframe : []\n);\nexport default expObj;\n","import structuredCloning from './structured-cloning.js';\n\n/**\n * @param {BufferSource} buffer\n * @returns {boolean}\n */\nfunction isBufferDetached (buffer) {\n // Use the standard property if available\n // @ts-expect-error - More recent API\n if (typeof buffer.detached === 'boolean') {\n // @ts-expect-error - More recent API\n return buffer.detached;\n }\n /* c8 ignore next 14 -- Older browsers */\n\n // Fallback check via byteLength and constructor test\n if (buffer.byteLength !== 0) {\n return false;\n }\n\n try {\n // @ts-expect-error Ok\n // eslint-disable-next-line no-new -- Throwaway\n new Uint8Array(buffer);\n return false;\n } catch {\n return true;\n }\n}\n\n/**\n * @type {import('typeson').Preset}\n */\nconst structuredCloningThrowing = structuredCloning.concat({\n checkDataCloneException: {\n test (val) {\n // Should also throw with:\n // 1. `IsCallable` (covered by `typeof === 'function'` or a\n // function's `toStringTag`)\n // 2. internal slots besides [[Prototype]] or [[Extensible]] (e.g.,\n // [[PromiseState]] or [[WeakMapData]])\n // 3. exotic object (e.g., `Proxy`) (unless an `%ObjectPrototype%`\n // intrinsic object) (which does not have default\n // behavior for one or more of the essential internal methods\n // that are limited to the following for non-function objects\n // (we auto-exclude functions):\n // [[GetPrototypeOf]],[[SetPrototypeOf]],[[IsExtensible]],\n // [[PreventExtensions]],[[GetOwnProperty]],\n // [[DefineOwnProperty]],[[HasProperty]],\n // [[Get]],[[Set]],[[Delete]],[[OwnPropertyKeys]]);\n // except for the standard, built-in exotic objects, we'd need\n // to know whether these methods had distinct behaviors\n // Note: There is no apparent way for us to detect a `Proxy` and\n // reject (Chrome at least is not rejecting anyways)\n const stringTag = ({}.toString.call(val).slice(8, -1));\n if (\n [\n // Symbol's `toStringTag` is only \"Symbol\" for its initial\n // value, so we check `typeof`\n 'symbol',\n // All functions including bound function exotic objects\n 'function'\n ].includes(typeof val) ||\n [\n // A non-array exotic object\n 'Arguments',\n // A non-array exotic object\n 'Module',\n // Promise instances have an extra slot ([[PromiseState]])\n // but not throwing in Chrome `postMessage`\n 'Promise',\n // WeakMap instances have an extra slot ([[WeakMapData]])\n // but not throwing in Chrome `postMessage`\n 'WeakMap',\n // WeakSet instances have an extra slot ([[WeakSetData]])\n // but not throwing in Chrome `postMessage`\n 'WeakSet',\n\n // HTML-SPECIFIC\n 'Event',\n // Also in Node `worker_threads` (currently experimental)\n 'MessageChannel'\n ].includes(stringTag) ||\n // 1. `IsDetachedBuffer` (a process not called within the\n // ECMAScript spec)\n ([\n 'ArrayBuffer',\n 'DataView',\n 'Int8Array',\n 'Uint8Array',\n 'Uint8ClampedArray',\n 'Int16Array',\n 'Uint16Array',\n 'Int32Array',\n 'Uint32Array',\n 'Float32Array',\n 'Float64Array',\n 'BigInt64Array',\n 'BigUint64Array'\n ].includes(stringTag) && isBufferDetached(val)) ||\n /*\n // isClosed is no longer documented\n ((stringTag === 'Blob' || stringTag === 'File') &&\n val.isClosed) ||\n */\n (val && typeof val === 'object' &&\n // Duck-type DOM node objects (non-array exotic?\n // objects which cannot be cloned by the SCA)\n typeof val.nodeType === 'number' &&\n typeof val.insertBefore === 'function')\n ) {\n throw new DOMException(\n 'The object cannot be cloned.', 'DataCloneError'\n );\n }\n return false;\n }\n }\n});\n\nexport default structuredCloningThrowing;\n","import sparseUndefined from './sparse-undefined.js';\nimport undf from '../types/undef.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst undef = [\n sparseUndefined,\n undf\n];\n\nexport default undef;\n","import builtin from './builtin.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst universal = [\n builtin\n // TODO: Add types that are de-facto universal even though not\n // built-in into ecmasript standard.\n];\n\nexport default universal;\n"],"names":["i","create","undef","expObj","builtin","structuredCloning","undf"],"mappings":"AAAA,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,GAAG,CAAC,CAAC,WAAW,EAAE,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,GAAG,CAAC,CAAC,WAAW,EAAE,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,GAAG,CAAC,CAAC,WAAW,EAAE,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAM,MAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,OAAM,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACtqG;AACA;AACA;AACA;AACA,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,UAAU,CAAC,IAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,EAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAM,GAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,IAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,IAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,OAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,OAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,GAAG,CAAC,IAAE,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAE,CAAC,GAAG,CAAC,IAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAE,CAAC,GAAG,CAAC,IAAE,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAE,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAE,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,sEAAsE,CAAC,CAAC,GAAGA,GAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,OAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,CAAM,MAACA,GAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ;;ACLr7U;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAK,GAAG,kEAAkE;;AAE9E;AACA,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;AAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,EAAE,MAAM,sBAAsB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,SAAS,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE;AAC7D,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AAC7C,IAAI,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;AACnC,EAAE;;AAEF,EAAE,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,EAAgB,CAAC;AACzD;AACA,EAAE,KAAK,CAAC;AACR,EAAE,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;AACxB,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE;AACtC,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACnC,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9D,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACnE,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACvC,EAAE;AACF,EAAE,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;AACrB,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;AACtC,EAAE,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI;AACvC,EAAE;AACF,EAAE,OAAO,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;AAC9C,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM;AACzB,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AACf,IAAI,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;AAC/D,EAAE;AACF,EAAE,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI;AACzC,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,EAAE,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;AAC5C,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;AACzC,IAAI,YAAY,EAAE;AAClB,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;AAC3C,MAAM,YAAY,EAAE;AACpB,IAAI;AACJ,EAAE;;AAEF;AACA,EAAE,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC;AAC1D,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC;AACvC,EAAE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE;AACzC;AACA;AACA,IAAI,QAAQ,GAAG,MAAM,sBAAsB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACnE,IAAI,QAAQ,GAAG,MAAM,sBAAsB,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvE,IAAI,QAAQ,GAAG,MAAM,sBAAsB,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvE,IAAI,QAAQ,GAAG,MAAM,sBAAsB,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC;AAC9C,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,KAAK,CAAC,GAAG,QAAQ,IAAI,CAAC;AACrD,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE;AACpD,EAAE;AACF,EAAE,OAAO,WAAW;AACpB,CAAC;;ACpFD;AACA;AACA;AACK,MAAC,WAAW,GAAG;AACpB,IAAI,WAAW,EAAE;AACjB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC;AAC7D,QAAQ,OAAO,CAAC;AAChB,YAAY,CAAC;AACb;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,YAAY,IAAI,KAAK,KAAK,EAAE,EAAE;AAC9B,gBAAgB,OAAO,CAAC,KAAK,CAAC;AAC9B,YAAY;AACZ,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,YAAY,OAAO;AACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5B,gBAAgB,aAAa,EAAE,CAAC,CAAC,aAAa;AAC9C,gBAAgB,SAAS,EAAE,CAAC,CAAC;AAC7B,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC;AACf,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;AAC7C,gBAAgB,OAAO,QAAQ,CAAC,OAAO;AACvC;AACA;AACA;AACA,oBAAoB,CAAC,GAAG,EAAE;AAC1B,iBAAiB;AACjB,YAAY;AACZ,YAAY,MAAM,MAAM,GAAG,MAAM;AACjC,uCAAuC,GAAG,CAAC,CAAC;AAC5C,gBAAgB,GAAG,CAAC;AACpB,sBAAsB,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa;AACvD,sBAAsB;AACtB,aAAa;AACb,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACzC,YAAY,OAAO,MAAM;AACzB,QAAQ;AACR;AACA;;AAIA;;AChEA;;AAGA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW;AACjD,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,SAAS,EAAE;AAC5B,YAAY,MAAM;AAClB,gBAAgB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB;AACpE,gBAAgB;AAChB,aAAa,GAAG,SAAS;;AAEzB;AACA,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;AACvD,YAAY,MAAM,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,CAAC;;AAE7D;AACA;AACA,YAAY,MAAM,UAAU,GAAG,EAAE;AACjC,YAAY,IAAI,SAAS,GAAG,CAAC;AAC7B,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAgB,MAAM,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACtE,gBAAgB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AACrC,gBAAgB,SAAS,IAAI,IAAI;AACjC,YAAY;;AAEZ;AACA,YAAY,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC;AACnD,YAAY,IAAI,MAAM,GAAG,CAAC;AAC1B,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAgB,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAC7E,gBAAgB,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC5D,gBAAgB,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC;AACvC,YAAY;;AAEZ;AACA,YAAY,OAAO;AACnB,gBAAgB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB;AACpE,gBAAgB,SAAS;AACzB,gBAAgB;AAChB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC;AAChB,YAAY,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB;AAChE,YAAY,SAAS,EAAE;AACvB,SAAS,EAAE;AACX,YAAY,OAAO,IAAI,SAAS,CAAC;AACjC,gBAAgB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB;AACpE,gBAAgB,SAAS;AACzB,gBAAgB,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI;AACzC,aAAa,CAAC;AACd,QAAQ;AACR;AACA;;ACxDA;AACA;AACA;AACK,MAAC,YAAY,GAAG;AACrB,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC;AACvE,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,IAAI,MAAM,CAAC,MAAM,wBAAwB,CAAC,EAAE,CAAC;AAChE,QAAQ;AACR;AACA;;ACfA;AACA;AACA;AACK,MAAC,MAAM,GAAG;AACf,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,OAAO,CAAC,KAAK,QAAQ;AACxC,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,MAAM;AACvB;AACA;AACA,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,MAAM,wBAAwB,CAAC,EAAE;AACpD,QAAQ;AACR;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,EAAE,GAAG,EAAE;AAClC,IAAI,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM;AACrC,QAAQ,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;AACrD,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,EAAE,GAAG,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC;AACA;AACA,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrC,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,MAAM;AACvB;;ACtEA;;AAMA;AACA;AACA;AACK,MAAC,IAAI,GAAG;AACb,IAAI,IAAI,EAAE;AACV,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE;AAC5C,YAAY,GAAG,CAAC,gBAAgB,CAAC,oCAAoC,CAAC;AACtE,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC3D,YAAY,GAAG,CAAC,IAAI,EAAE;;AAEtB;AACA;AACA,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AACxD,gBAAgB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;AACjE,YAAY;AACZ,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI;AAC5B,gBAAgB,cAAc,EAAE,GAAG,CAAC;AACpC,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM;AAClB,gBAAgB,IAAI,EAAE;AACtB,aAAa,0DAA0D,GAAG,CAAC;AAC3E,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACzE,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE;AACzB,YAAY,OAAO,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/C,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM;AACtD,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI;AACpC,wBAAwB,cAAc,EAAE,kBAAkB;AAC1D,wDAAwD,MAAM,CAAC,MAAM;AACrE;AACA,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,CAAC;AAClB;AACA;AACA,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;AACvD,oBAAoB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AACxC,gBAAgB,CAAC,CAAC;AAClB;AACA;AACA,gBAAgB,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC3C,YAAY,CAAC,CAAC;AACd,QAAQ;AACR;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,YAAY,IAAI;AACxC;AACA,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;;AAEtB,IAAI,OAAO,sCAAsC,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;AACpF;AACA,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7D,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9B,QAAQ,OAAO,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC/D;AACA,IAAI,CAAC,CAAC;AACN;;AChBA;AACA;AACA;AACA,MAAM,sBAAsB,GAAG,EAAE;;AAEjC;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;AAC7C,gBAAgB,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,UAAU;AACvE,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,QAAQ,EAAE;AAC3B,YAAY,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE;AAC3E,YAAY,MAAM,IAAI,GAAG,YAAY,EAAE;AACvC,YAAY,sBAAsB,CAAC,IAAI,CAAC,GAAG,QAAQ;AACnD,YAAY,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;AACvC,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM;AAClB,gBAAgB,IAAI,EAAE;AACtB,aAAa,qDAAqD,GAAG,CAAC;;AAEtE,YAAY,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC1E,gBAAgB;AAChB,aAAa;AACb,QAAQ;AACR;AACA;;AC9BA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,WAAW;AAClE,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC;AACrB;AACA,YAAY;AACZ,UAAU;AACV,YAAY,OAAO,IAAI,cAAc,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AACjE;AACA,gBAAgB,IAAI,GAAG;AACvB,gBAAgB,IAAI;AACpB,oBAAoB,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;AACnE;AACA;AACA,gBAAgB,CAAC,CAAC,OAAO,GAAG,EAAE;AAC9B,oBAAoB,MAAM,CAAC,GAAG,CAAC;AAC/B,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB,OAAO,CAAC;AACxB,oBAAoB,GAAG;AACvB,oBAAoB,SAAS,EAAE,GAAG,CAAC,SAAS;AAC5C,oBAAoB,MAAM,EAAE,GAAG,CAAC;AAChC,iBAAiB,CAAC;AAClB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM;AAClB,gBAAgB,GAAG,EAAE,SAAS,EAAE;AAChC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB,GAAG,CAAC;;AAEzB,YAAY,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS;AAC1C,gBAAgB,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;AAC7C,aAAa;AACb,QAAQ;AACR;AACA;;AC7CA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;AACjB,IAAI,QAAQ,EAAE;AACd,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;AAC1D,QAAQ,OAAO,CAAC;AAChB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;AAC1D,YAAY,IAAI,KAAK,KAAK,EAAE,EAAE;AAC9B,gBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC;AACtD,YAAY;AACZ,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACzC,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;AACvC,gBAAgB,aAAa,EAAE,MAAM,CAAC,aAAa;AACnD,gBAAgB,SAAS,EAAE,MAAM,CAAC,SAAS;AAC3C,gBAAgB,UAAU;AAC1B,gBAAgB;AAChB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC;AACf,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM;AAClB,gBAAgB,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa;AACrE,gBAAgB;AAChB,aAAa,GAAG,MAAM;AACtB,YAAY,IAAI,MAAM;AACtB,YAAY,IAAI,OAAO,IAAI,MAAM,EAAE;AACnC,gBAAgB,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAChD,YAAY,CAAC,MAAM;AACnB,gBAAgB,MAAM,GAAG,MAAM;AAC/B,oBAAoB,OAAO;AAC3B,oBAAoB;AACpB,0BAA0B,CAAC,aAAa;AACxC,0BAA0B;AAC1B,iBAAiB;AACjB,gBAAgB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,YAAY;AACZ,YAAY,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;AAC/D,QAAQ;AACR;AACA;;AC/DA;AACA;AACA;AACK,MAAC,IAAI,GAAG;AACb,IAAI,IAAI,EAAE;AACV,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;AACrC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACpC,gBAAgB,OAAO,KAAK;AAC5B,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,IAAI,EAAE;AACtB,YAAY,IAAI,IAAI,KAAK,KAAK,EAAE;AAChC,gBAAgB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC;AACpC,YAAY;AACZ,YAAY,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;AACjC,QAAQ;AACR;AACA;;ACpBA;AACA;AACA;AACK,MAAC,YAAY,GAAG;AACrB,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC;AAC9D,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA;AACA,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,EAAE,CAAC,IAAI;AAC7B,gBAAgB,OAAO,EAAE,EAAE,CAAC;AAC5B,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;AACjC,YAAY,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC;AAClD,QAAQ;AACR;AACA;;ACpBA;;AAGA;AACA;AACA;AACK,MAAC,SAAS,GAAG;;AAElB;AACA,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;AACtC,IAAIC,QAAM,CAAC,SAAS,CAAC;AACrB;AACA;AACA,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE;AAC9C,IAAIA,QAAM,CAAC,iBAAiB,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,IAAI,EAAE;AACvB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;AACzC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,IAAI,EAAE,CAAC,IAAI,EAAE;AACzB,gBAAgB,OAAO;AACvB,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC;AAC1B,iBAAiB;AACjB,YAAY;AACZ,YAAY,OAAO;AACnB,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC;AACxB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AACvC,gBAAgB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,YAAY;AACZ,YAAY,OAAO,IAAI,IAAI,CAAC;AAC5B,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;AAC1C,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;AAC1C,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;AAC1C,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACvC,aAAa,CAAC;AACd,QAAQ;AACR,KAAK;AACL;;AClEA;;AAGA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;;AAEjB;AACA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACrC,IAAIA,QAAM,CAAC,QAAQ,CAAC;AACpB;AACA;AACA,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;AAC7C,IAAIA,QAAM,CAAC,gBAAgB,CAAC;AAC5B;;AAEA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,IAAI,EAAE;AACvB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;AACxC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO;AACnB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC;AACtB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC9B,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,QAAQ;AACR,KAAK;AACL;;ACpCA;;AAGA;AACA;AACA;AACK,MAAC,OAAO,GAAG;AAChB,IAAI,OAAO,EAAE;AACb,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;AACzD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO;AACnB,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE;AACzB,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE;AACzB,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE;AACzB,gBAAgB,EAAE,EAAE,EAAE,CAAC;AACvB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;AAClC,YAAY,OAAO,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC9C,QAAQ;AACR;AACA;;ACrBA;;AAGA;AACA;AACA;AACK,MAAC,OAAO,GAAG;;AAEhB;AACA,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;AACpC,IAAIA,QAAM,CAAC,OAAO,CAAC;AACnB;AACA;AACA,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;AAC5C,IAAIA,QAAM,CAAC,eAAe,CAAC;AAC3B;;AAEA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;AACvC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO;AACnB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,KAAK,EAAE,EAAE,CAAC,KAAK;AAC/B,gBAAgB,MAAM,EAAE,EAAE,CAAC;AAC3B,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;AACvC,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;AAChD,QAAQ;AACR,KAAK;AACL;;ACpCA;;AAGA;AACA;AACA;AACK,MAAC,iBAAiB,GAAG;AAC1B,IAAI,iBAAiB,EAAE;AACvB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,mBAAmB;AACzD,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,KAAK,EAAE;AACxB,YAAY,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,KAAK;AACjE,YAAY,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC;AACpD,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC9B,YAAY,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC;AACpD,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;AACnD,YAAY,OAAO,IAAI,iBAAiB,CAAC;AACzC,gBAAgB,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI;AACpE,aAAa,CAAC;AACd,QAAQ;AACR;AACA;;ACvBA;;AAGA;AACA;AACA;AACK,MAAC,iBAAiB,GAAG;AAC1B,IAAI,iBAAiB,EAAE;AACvB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,mBAAmB;AACzD,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,KAAK,EAAE;AACxB,YAAY,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,KAAK;AACjE,YAAY,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC;AACpD,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC9B,YAAY,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC;AACpD,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;AACnD,YAAY,OAAO,IAAI,iBAAiB,CAAC;AACzC,gBAAgB,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI;AACpE,aAAa,CAAC;AACd,QAAQ;AACR;AACA;;ACrBA;AACA;AACA;AACK,MAAC,KAAK,GAAG;AACd,IAAI,KAAK,EAAE;AACX,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;AACvD,QAAQ,OAAO,CAAC,CAAC;AACjB,YAAY,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC/D,SAAS,EAAE;AACX,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE;AACnE,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM,CAAC;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD;AACA,YAAY,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;AAC7B,YAAY,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;AAC/B,YAAY,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;AAC/B;AACA,YAAY,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ;AACrC,YAAY,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU;AACzC,YAAY,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY;;AAE7C,YAAY,OAAO,CAAC;AACpB,QAAQ;AACR;AACA;;ACtCA;;AAGA;AACA;AACA;AACK,MAAC,MAAM,GAAG;;AAEf;AACA;AACA;AACA,IAAI,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc;AACtD,IAAI,SAAS,EAAE;AACf,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAKA,QAAM,CAAC,KAAK,CAAC,CAAC;;AAEnC;AACA,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AAC3C,IAAIA,QAAM,CAAC,cAAc,CAAC;AAC1B;;AAEA;AACA;AACA,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;AACzC;AACA,IAAIA,QAAM,CAAC,aAAa,CAAC;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,IAAI,EAAE;AACvB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;AACtC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,CAAC,CAAC;AACjB,YAAY,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ;AACjD,YAAY,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;AAC9C,SAAS,EAAE;AACX,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ;AACrD,gBAAgB,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;AAClD,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM,gBAAgB,GAAG,OAAO,cAAc,KAAK,WAAW;AAC1E,gBAAgB,IAAI,KAAK,cAAc;AACvC,YAAY,MAAM,CAAC;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,sBAAsB;AACtB,wBAAwB;AACxB,sBAAsB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO;AAC7C,sBAAsB;AACtB;AACA;AACA;AACA;AACA,+BAA+B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;;AAElD,YAAY,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;AAC7B,YAAY,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;AAC/B,YAAY,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;AAC/B,YAAY,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ;AACrC,YAAY,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU;AACzC,YAAY,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY;;AAE7C,YAAY,OAAO,CAAC;AACpB,QAAQ;AACR,KAAK;AACL;;ACzFA;;AAMA;AACA;AACA;AACK,MAAC,IAAI,GAAG;AACb,IAAI,IAAI,EAAE;AACV,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE;AAC5C,YAAY,GAAG,CAAC,gBAAgB,CAAC,oCAAoC,CAAC;AACtE,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC3D,YAAY,GAAG,CAAC,IAAI,EAAE;;AAEtB;AACA;AACA,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AACxD,gBAAgB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;AACjE,YAAY;AACZ,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI;AAC5B,gBAAgB,cAAc,EAAE,GAAG,CAAC,YAAY;AAChD,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI;AAC5B,gBAAgB,YAAY,EAAE,CAAC,CAAC;AAChC,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE;AAC5D,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE;AACxE,gBAAgB,IAAI;AACpB,gBAAgB;AAChB,aAAa,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE;AACzB,YAAY,OAAO,IAAI,cAAc,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/C,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;AAC5D,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI;AACpC,wBAAwB,cAAc,EAAE,kBAAkB;AAC1D,wDAAwD,MAAM,CAAC,MAAM;AACrE,yBAAyB;AACzB,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI;AACpC,wBAAwB,YAAY,EAAE,CAAC,CAAC;AACxC,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,CAAC;AAClB;AACA;AACA,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY;AAC7D,oBAAoB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AACxC,gBAAgB,CAAC,CAAC;AAClB;AACA;AACA,gBAAgB,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC3C,YAAY,CAAC,CAAC;AACd,QAAQ;AACR;AACA;;AC/DA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;AACjB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,QAAQ,EAAE;AACd,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;AAC1D,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,MAAM,GAAG,GAAG,EAAE;AAC1B,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAgB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,YAAY;AACZ,YAAY,OAAO,GAAG;AACtB,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB;AACA;AACA;AACA,YAAY,MAAM,QAAQ,CAAC;AAC3B;AACA;AACA;AACA,gBAAgB,WAAW,CAAC,GAAG;AAC/B;AACA,oBAAoB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAC9C,oBAAoB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACpD,gBAAgB;AAChB;AACA;AACA;AACA;AACA,gBAAgB,IAAI,CAAC,CAAC,KAAK,EAAE;AAC7B,oBAAoB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7C,gBAAgB;AAChB;AACA;AACA;AACA;AACA,gBAAgB,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG;AAC5C;AACA,oBAAoB,OAAO,UAAU;AACrC,gBAAgB;AAChB;;AAEA;AACA,YAAY,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC;AAClC,QAAQ;AACR;AACA;;ACnDA;AACA;AACA;;;AAIA;AACA;AACA;AACK,MAAC,WAAW,GAAG;AACpB,IAAI,WAAW,EAAE;AACjB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,aAAa;AACnD;AACA;AACA,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,aAAa,CAAC;AAC3E,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC3D,YAAY,MAAM,GAAG;AACrB,gBAAgB,MAAM,CAAC,UAAU,CAAC,IAAI;AACtC,aAAa;AACb,YAAY,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS;AAC7E,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,MAAM,MAAM,GAAG,OAAO,eAAe,KAAK;AACtD,kBAAkB,QAAQ,CAAC,aAAa,CAAC,QAAQ;AACjD;AACA,kBAAkB,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM,GAAG;AACrB,gBAAgB,MAAM,CAAC,UAAU,CAAC,IAAI;AACtC,aAAa;AACb,YAAY,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACrD;AACA,YAAY,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;AACrD,gBAAgB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACxC,YAAY,CAAC,CAAC;AACd,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO;AAC/B;AACA;AACA,YAAY,OAAO,OAAO,eAAe,KAAK;AAC9C,kBAAkB;AAClB;AACA,iDAAiD;AACjD,oBAAoB;AACpB,kBAAkB,qBAAqB,EAAE;AACzC,QAAQ,CAAC;AACT,QAAQ,WAAW,CAAC,CAAC,CAAC,EAAE;AACxB,YAAY,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC3D,YAAY,MAAM,GAAG;AACrB,gBAAgB,MAAM,CAAC,UAAU,CAAC,IAAI;AACtC,aAAa;AACb,YAAY,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACrD;AACA,YAAY,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;AACrD,gBAAgB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACxC,YAAY,CAAC,CAAC;AACd,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO;;AAE/B,YAAY,OAAO,IAAI,cAAc,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AACjE,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC;AAChE,oBAAoB,OAAO,CAAC,IAAI,CAAC;AACjC;AACA,gBAAgB,CAAC,CAAC,OAAO,GAAG,EAAE;AAC9B,oBAAoB,MAAM,CAAC,GAAG,CAAC;AAC/B,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ;AACR;AACA;;AClFA;AACA;AACA;;;AAIA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;AAC3D,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,OAAO;AACnB;AACA,gBAAgB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAClC,gBAAgB,KAAK,EAAE,CAAC,CAAC,KAAK;AAC9B,gBAAgB,MAAM,EAAE,CAAC,CAAC;AAC1B,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,IAAI,SAAS;AAChC,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3D,aAAa;AACb,QAAQ;AACR;AACA;;AC1BA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;AACjB,IAAI,QAAQ,EAAE;AACd,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AAC3C,QAAQ,OAAO,CAAC,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC;AAChD,QAAQ,MAAM,CAAC,UAAU,EAAE,OAAO,QAAQ,CAAC,CAAC;AAC5C;AACA;;ACPA;AACA;AACA;AACA,MAAM,YAAY,GAAG;AACrB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3D,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC;;AAED;AACA;AACA;AACA,MAAM,kBAAkB,GAAG;AAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACjE,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AACnD,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE;AACrB,QAAQ,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;AAC/D,IAAI;AACJ,CAAC;;AAED;AACA;AACA;AACA,MAAM,gBAAgB,GAAG;AACzB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AACjD,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;;AAEI,MAAC,SAAS,GAAG;AAClB,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,IAAI;AACJ;;ACjCA;AACA;AACA;AACK,MAAC,GAAG,GAAG;AACZ,IAAI,GAAG,EAAE;AACT,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;AACrD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACvD,QAAQ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD;AACA;;ACXA;AACA;AACA;AACK,MAAC,GAAG,GAAG;AACZ,IAAI,GAAG,EAAE;AACT,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,QAAQ,OAAO,CAAC,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC;AAC3C,QAAQ,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC,CAAC;AACvC;AACA;;ACTA;AACA;AACA;AACK,MAAC,gBAAgB,GAAG;AACzB,IAAI,gBAAgB,EAAE;AACtB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5C,QAAQ,OAAO,CAAC,UAAU,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC;AACjD,QAAQ,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7C;AACA;;ACTA;AACA;AACA;AACK,MAAC,YAAY,GAAG;AACrB,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACnC,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,UAAU;AAC1B;AACA,YAAY,OAAO,CAAC;AACpB,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,UAAU;AACzB,YAAY,OAAO,EAAE;AACrB,QAAQ;AACR;AACA;;ACdA;AACA;AACA;AACK,MAAC,gBAAgB,GAAG;AACzB,IAAI,gBAAgB,EAAE;AACtB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,gBAAgB,SAAS,EAAE,QAAQ,EAAE,QAAQ;AAC7C,gBAAgB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;AACjD,gBAAgB,KAAK,EAAE,KAAK;AAC5B,gBAAgB,MAAM;AACtB,gBAAgB,aAAa,EAAE,mBAAmB,EAAE,UAAU;AAC9D,gBAAgB,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY;AAC5E,gBAAgB,aAAa,EAAE,YAAY,EAAE,aAAa;AAC1D,gBAAgB,cAAc,EAAE,cAAc;AAC9C,gBAAgB,SAAS;AACzB,gBAAgB,iBAAiB,EAAE,gBAAgB;AACnD,gBAAgB,cAAc,EAAE,cAAc;AAC9C,gBAAgB,SAAS,EAAE,SAAS;AACpC,gBAAgB,SAAS,EAAE;AAC3B,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACtC,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,aAAa;AAC7B;AACA,QAAQ;AACR;AACA;;AChCA;AACA;AACA;;AAGA;AACA;AACA;AACK,MAAC,gBAAgB,GAAG;AACzB;AACA,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;AACvE,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,KAAK;AACL;AACA,IAAI,aAAa,EAAE;AACnB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS;AAC/C,gBAAgB,OAAO,CAAC,KAAK,QAAQ;AACrC,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB;AACA,YAAY,OAAO,CAAC,CAAC,OAAO,EAAE;AAC9B,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB;AACA,YAAY,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC;AACjC,QAAQ;AACR,KAAK;AACL;AACA,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;AACvE,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C;AACA;;ACtCA;AACA;AACA;AACK,MAAC,OAAO,GAAG;AAChB,IAAI,OAAO,EAAE;AACb,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS;AAC/C,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC,CAAC,IAAI,EAAE;AAC5B,YAAY,OAAO,IAAI,cAAc,CAAC,OAAO,OAAO,KAAK;AACzD,gBAAgB,IAAI;AACpB,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB,KAAK,EAAE,MAAM;AACrC,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,CAAC,OAAO,KAAK,EAAE;AAChC,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB;AACxB,qBAAqB,CAAC;AACtB,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,CAAC,CAAC;AACrB,kBAAkB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;AACxC,kBAAkB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,QAAQ;AACR;AACA;;AC3BA;AACA;AACA;AACK,MAAC,kBAAkB,GAAG;AAC3B,IAAI,kBAAkB,EAAE;AACxB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC;AACpE,QAAQ,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE;AAC9C,YAAY,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC;AAC9C,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE;AAC7C;AACA,YAAY,MAAM,OAAO,GAAG,EAAE;AAC9B,YAAY,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvD,gBAAgB,OAAO,CAAC,KAAK,GAAG,KAAK;AACrC,YAAY;AACZ,YAAY,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;AAC/D,gBAAgB,OAAO,CAAC,SAAS,GAAG,SAAS;AAC7C,YAAY;AACZ,YAAY,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;AAC3D,QAAQ;AACR;AACA;;ACrBA;AACA;AACA;AACK,MAAC,MAAM,GAAG;AACf,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC,CAAC,IAAI,EAAE;AACvB,YAAY,OAAO;AACnB,gBAAgB,MAAM,EAAE,IAAI,CAAC,MAAM;AACnC,gBAAgB,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE;AAC9C,qBAAqB,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC;AAChD,qBAAqB,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,EAAE,CAAC;AAC/C,qBAAqB,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;AAC5C,qBAAqB,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;AAC7C,qBAAqB,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,EAAE,CAAC;AACjD,qBAAqB,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC;AAChD,qBAAqB,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE;AAC3C,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE;AACA;;ACvBA;AACA;AACA;AACA;;;AAIA;AACA;AACA;AACA,MAAM,0BAA0B,GAAG,EAAE;;AAErC;AACA;AACA;AACK,MAAC,aAAa,GAAG;AACtB,IAAI,aAAa,EAAE;AACnB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,CAAC;AACpB,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACjC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnE,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,SAAS,EAAE;AAC5B,YAAY,MAAM,IAAI,GAAG,YAAY,EAAE;AACvC,YAAY,0BAA0B,CAAC,IAAI,CAAC,GAAG,SAAS;AACxD,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,uBAAuB,EAAE;AACzC,YAAY,OAAO,0BAA0B,CAAC,uBAAuB,CAAC;AACtE,QAAQ;AACR;AACA;;AC7BA;AACA;AACA;AACK,MAAC,GAAG,GAAG;AACZ,IAAI,GAAG,EAAE;AACT,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;AACrD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;AACxC,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,MAAM,EAAE;AACxB,YAAY,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC;AAClC,QAAQ;AACR;AACA;;ACfA;AACA;AACA;AACK,MAAC,MAAM,GAAG;AACf,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,OAAO,CAAC,KAAK,QAAQ;AACxC,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,GAAG,EAAE;AACtB,YAAY,OAAO;AACnB,gBAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;AACxD,gBAAgB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;AAC5C,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/D,QAAQ;AACR;AACA;;AChBA;;AAEA;AACA;AACA;AACK,MAAC,mBAAmB,GAAG;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,UAAU,EAAE;AAC7B,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI;AACpC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG;AAClD,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,OAAO,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC;AACtC,gBAAgB,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC;AAC1C,kBAAkB;AAClB;AACA;AACA;AACA;AACA,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM;AACpC,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK;AACxC,kBAAkB,IAAI,UAAU,CAAC,GAAG;AACpC,kBAAkB,GAAG;AACrB,QAAQ;AACR,KAAK;AACL;;AAEA,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;AACrC;AACA;;AAEA,IAAI;AACJ,QAAQ,SAAS;AACjB,QAAQ,UAAU;AAClB,QAAQ,iBAAiB;AACzB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,YAAY;AACpB,QAAQ,YAAY;AACpB,QAAQ,IAAI,OAAO,aAAa,KAAK;AACrC,cAAc,CAAC,aAAa,EAAE,cAAc;AAC5C;AACA,cAAc,EAAE,CAAC;AACjB,QAAQ,IAAI,OAAO,YAAY,KAAK;AACpC,cAAc,CAAC,YAAY;AAC3B;AACA,cAAc,EAAE;AAChB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,KAAKA,QAAM,CAAC,UAAU,CAAC,CAAC;AACjD;;ACnEA;AACA;AACA;AACK,MAAC,WAAW,GAAG;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,MAAM,EAAE,UAAU,EAAE;AAC7B,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI;;AAEpC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG;AAC1C,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC;AAChB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;AAC1D,YAAY,IAAI,KAAK,KAAK,EAAE,EAAE;AAC9B,gBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,YAAY;AACZ,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACzC,YAAY,OAAO;AACnB,gBAAgB,aAAa,EAAE,MAAM,CAAC,aAAa;AACnD,gBAAgB,SAAS,EAAE,MAAM,CAAC,SAAS;AAC3C,gBAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;AACvC,gBAAgB,UAAU;AAC1B,gBAAgB,MAAM,EAAE;AACxB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC;AACf,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM;AAClB,gBAAgB,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa;AACtE,gBAAgB;AAChB,aAAa,GAAG,MAAM;AACtB,YAAY,IAAI,MAAM;AACtB,YAAY,IAAI,OAAO,IAAI,MAAM,EAAE;AACnC,gBAAgB,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAChD,YAAY,CAAC,MAAM;AACnB,gBAAgB,MAAM,GAAG,MAAM;AAC/B,oBAAoB,OAAO;AAC3B,oBAAoB;AACpB,0BAA0B,CAAC,aAAa;AACxC,0BAA0B;AAC1B,iBAAiB;AACjB,gBAAgB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,YAAY;;AAEZ,YAAY,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC;AAC1D,QAAQ;AACR,KAAK;AACL;;AAEA,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;AACrC;AACA;AACA,IAAI;AACJ,QAAQ,SAAS;AACjB,QAAQ,UAAU;AAClB,QAAQ,iBAAiB;AACzB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,YAAY;AACpB,QAAQ,YAAY;AACpB,QAAQ,IAAI,OAAO,aAAa,KAAK;AACrC,cAAc,CAAC,aAAa,EAAE,cAAc;AAC5C;AACA,cAAc,EAAE,CAAC;AACjB,QAAQ,IAAI,OAAO,YAAY,KAAK;AACpC,cAAc,CAAC,YAAY;AAC3B;AACA,cAAc,EAAE;AAChB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;AACjD;;AC7GA;AACA;;AAGA;AACA;AACA;AACK,MAACC,OAAK,GAAG;AACd,IAAI,KAAK,EAAE;AACX,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC3B,YAAY,OAAO,OAAO,CAAC,KAAK,WAAW;AAC3C,iBAAiB,QAAQ,CAAC,OAAO,IAAI,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAC;AAC9D,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACvC,QAAQ,MAAM,CAAC,UAAU;AACzB;AACA;AACA,YAAY,OAAO,IAAI,SAAS,EAAE;AAClC,QAAQ;AACR;AACA;;AClBA;AACA;AACA;AACK,MAAC,UAAU,GAAG;AACnB,IAAI,UAAU,EAAE;AAChB,QAAQ,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/B;AACA;;ACXA;;AAGA;AACA;AACA;AACK,MAAC,UAAU,GAAG;AACnB,IAAI,UAAU,EAAE;AAChB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,YAAY;AAClD,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC,CAAC,KAAK,EAAE;AAC7B,YAAY,OAAO,IAAI,cAAc,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AACjE,gBAAgB,IAAI;AACpB,oBAAoB,MAAM;AAC1B,wBAAwB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;AAC5E,wBAAwB,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE;AAClE,qBAAqB,GAAG,KAAK;;AAE7B,oBAAoB,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;AACxE,oBAAoB,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;;AAE5C,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;AAC5E,wBAAwB,WAAW,EAAE;AACrC,4BAA4B,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5C,4BAA4B,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5C,4BAA4B,KAAK,EAAE,WAAW,CAAC,KAAK;AACpD,4BAA4B,MAAM,EAAE,WAAW,CAAC;AAChD,yBAAyB;AACzB,wBAAwB,YAAY,EAAE,aAAa;AACnD,wBAAwB,UAAU,EAAE;AACpC,4BAA4B,SAAS,EAAE,UAAU,CAAC,SAAS;AAC3D,4BAA4B,QAAQ,EAAE,UAAU,CAAC,QAAQ;AACzD,4BAA4B,MAAM,EAAE,UAAU,CAAC,MAAM;AACrD,4BAA4B,SAAS,EAAE,UAAU,CAAC;AAClD,yBAAyB;AACzB,wBAAwB;AACxB,qBAAqB,CAAC;AACtB;AACA,gBAAgB,CAAC,CAAC,OAAO,GAAG,EAAE;AAC9B,oBAAoB,MAAM,CAAC,GAAG,CAAC;AAC/B,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC;AAChB,YAAY,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;AAChE,YAAY,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE;AAClE,SAAS,EAAE;AACX,YAAY,OAAO,IAAI,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACxD,gBAAgB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;AACpE,gBAAgB,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE;AAC1D,aAAa,CAAC;AACd,QAAQ;AACR;AACA;;ACvDA;;AAGA;AACA;AACA;AACK,MAAC,iBAAiB,GAAG;AAC1B,IAAI,iBAAiB,EAAE;AACvB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC;AACnE;AACA;AACA,QAAQ,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE;AAC7C,YAAY,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;AAC7C,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE;AAC5C;AACA;AACA;AACA;AACA,YAAY,OAAO,IAAI,iBAAiB,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACpE,QAAQ;AACR;AACA;;ACtBA;AACA;AACA;AACK,MAAC,iBAAiB,GAAG;AAC1B,IAAI;AACJ,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,gBAAgB,EAAE,IAAI;AAClC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC/B,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACtC,oBAAoB;AACpB;AACA;AACA;AACA;AACA,wBAAwB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,wBAAwB,CAAC;AACzB,sBAAsB;AACtB,wBAAwB,QAAQ,CAAC,SAAS,GAAG,QAAQ;AACrD,wBAAwB,QAAQ,CAAC,SAAS,GAAG,IAAI;AACjD,oBAAoB;AACpB,oBAAoB,OAAO,IAAI;AAC/B,gBAAgB;AAChB,gBAAgB,OAAO,KAAK;AAC5B,YAAY,CAAC;AACb,YAAY,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAClC;AACA,gBAAgB,QAAQ,CAAC,mBAAmB,GAAG,IAAI;AACnD,gBAAgB,OAAO,CAAC;AACxB,YAAY,CAAC;AACb,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE;AACvB,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACtC,oBAAoB,OAAO,CAAC;AAC5B,gBAAgB;;AAEhB;AACA;AACA;AACA,gBAAgB,MAAM,GAAG,GAAG,EAAE;AAC9B;AACA;AACA,gBAAgB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK;AAC1D,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG;AAClC,gBAAgB,CAAC,CAAC;AAClB,gBAAgB,OAAO,GAAG;AAC1B,YAAY;AACZ;AACA,KAAK;AACL,IAAI;AACJ,QAAQ,eAAe,EAAE;AACzB,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC/B,gBAAgB,OAAO,OAAO,CAAC,KAAK,WAAW,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK;AAC7E,YAAY,CAAC;AACb,YAAY,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAY,MAAM,CAAC,UAAU,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC;AAClD;AACA;AACA;;AC3DA;AACA;AACA;AACK,MAAC,cAAc,GAAG;AACvB,IAAI,GAAG;AACP,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI;AACJ;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAmBA;AACA;AACA;AACK,MAACC,QAAM,GAAG;AACf,IAAID,OAAK;AACT;AACA,IAAI,iBAAiB,EAAE,gBAAgB,EAAE,cAAc;AACvD,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;AACzB,CAAC,CAAC,MAAM;AACR;AACA;AACA,IAAI,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,EAAE;AACxC;AACA,IAAI,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,EAAE;AACxC;AACA,IAAI,OAAO,WAAW,KAAK,UAAU,GAAG,WAAW,GAAG,EAAE;AACxD;AACA,IAAI,OAAO,UAAU,KAAK,UAAU,GAAG,WAAW,GAAG,EAAE;AACvD;AACA,IAAI,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,GAAG,EAAE;AAClD;AACA,IAAI,OAAO,IAAI,KAAK,WAAW,GAAG,SAAS,GAAG,EAAE;;AAEhD;AACA,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG;AAC7D;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAKA;AACA;AACA;AACK,MAAC,WAAW,GAAG;AACpB,IAAI,KAAK;AACT,IAAI;AACJ;;ACvBA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;AACjB,IAAIE,QAAO;AACX;AACA,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;AACvB;AACA,IAAI;AACJ;;ACZA;AACA;AACA;AACK,MAAC,eAAe,GAAG;AACxB,IAAI;AACJ,QAAQ,YAAY,EAAE;AACtB,YAAY,gBAAgB,EAAE,IAAI;AAClC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,YAAY,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAClC,gBAAgB,QAAQ,CAAC,mBAAmB,GAAG,IAAI;AACnD,gBAAgB,OAAO,CAAC;AACxB,YAAY;AACZ;AACA,KAAK;AACL,IAAI;AACJ,QAAQ,eAAe,EAAE;AACzB,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC/B,gBAAgB,OAAO,OAAO,CAAC,KAAK,WAAW,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK;AAC7E,YAAY,CAAC;AACb,YAAY,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAY,MAAM,CAAC,UAAU,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC;AAClD;AACA;AACA;;ACvBA;;;AAsCA;AACA;AACA;AACK,MAAC,MAAM,GAAG;AACf;AACA,IAAI,UAAU;;AAEd,IAAIF,OAAK;AACT,IAAI,iBAAiB,EAAE,gBAAgB,EAAE,cAAc;AACvD,IAAI,IAAI,EAAE,MAAM;;AAEhB;AACA,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI;AACJ,CAAC,CAAC,MAAM;AACR;AACA;AACA,IAAI,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,EAAE;AACxC;AACA,IAAI,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,EAAE;AACxC;AACA,IAAI,OAAO,WAAW,KAAK,UAAU,GAAG,WAAW,GAAG,EAAE;AACxD;AACA,IAAI,OAAO,UAAU,KAAK,UAAU,GAAG,WAAW,GAAG,EAAE;AACvD;AACA,IAAI,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,GAAG,EAAE;AAClD;AACA,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,SAAS,GAAG,EAAE;AAClD;AACA,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE;AAC/D;AACA,IAAI,OAAO,YAAY,KAAK,WAAW,GAAG,YAAY,GAAG,EAAE;AAC3D;AACA,IAAI,OAAO,kBAAkB,KAAK,WAAW,GAAG,kBAAkB,GAAG,EAAE;AACvE;AACA,IAAI,OAAO,iBAAiB,KAAK,WAAW,GAAG,iBAAiB,GAAG,EAAE;AACrE;AACA,IAAI,OAAO,OAAO,KAAK,WAAW,GAAG,OAAO,GAAG,EAAE;AACjD;AACA,IAAI,OAAO,QAAQ,KAAK,WAAW,GAAG,QAAQ,GAAG,EAAE;AACnD;AACA,IAAI,OAAO,OAAO,KAAK,WAAW,GAAG,OAAO,GAAG,EAAE;AACjD;AACA,IAAI,OAAO,SAAS,KAAK,WAAW,GAAG,SAAS,GAAG,EAAE;AACrD;AACA,IAAI,OAAO,SAAS,KAAK,WAAW,GAAG,SAAS,GAAG,EAAE;AACrD;AACA,IAAI,OAAO,iBAAiB,KAAK,WAAW,GAAG,iBAAiB,GAAG,EAAE;AACrE;AACA,IAAI,OAAO,iBAAiB,KAAK,WAAW,GAAG,iBAAiB,GAAG,EAAE;AACrE;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,GAAG,UAAU,GAAG;AACrD;;AC7FA;AACA;AACA;AACA;AACA,SAAS,gBAAgB,EAAE,MAAM,EAAE;AACnC;AACA;AACA,IAAI,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC9C;AACA,QAAQ,OAAO,MAAM,CAAC,QAAQ;AAC9B,IAAI;AACJ;;AAEA;AACA,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE;AACjC,QAAQ,OAAO,KAAK;AACpB,IAAI;;AAEJ,IAAI,IAAI;AACR;AACA;AACA,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC;AAC9B,QAAQ,OAAO,KAAK;AACpB,IAAI,CAAC,CAAC,MAAM;AACZ,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ;;AAEA;AACA;AACA;AACK,MAAC,yBAAyB,GAAGG,MAAiB,CAAC,MAAM,CAAC;AAC3D,IAAI,uBAAuB,EAAE;AAC7B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClE,YAAY;AACZ,gBAAgB;AAChB;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC;AACtC,gBAAgB;AAChB;AACA,oBAAoB,WAAW;AAC/B;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,oBAAoB,SAAS;;AAE7B;AACA,oBAAoB,OAAO;AAC3B;AACA,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC;AACrC;AACA;AACA,iBAAiB;AACjB,oBAAoB,aAAa;AACjC,oBAAoB,UAAU;AAC9B,oBAAoB,WAAW;AAC/B,oBAAoB,YAAY;AAChC,oBAAoB,mBAAmB;AACvC,oBAAoB,YAAY;AAChC,oBAAoB,aAAa;AACjC,oBAAoB,YAAY;AAChC,oBAAoB,aAAa;AACjC,oBAAoB,cAAc;AAClC,oBAAoB,cAAc;AAClC,oBAAoB,eAAe;AACnC,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA,iBAAiB,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;AAC/C;AACA;AACA,oBAAoB,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;AACpD,oBAAoB,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU;AAC1D,cAAc;AACd,gBAAgB,MAAM,IAAI,YAAY;AACtC,oBAAoB,8BAA8B,EAAE;AACpD,iBAAiB;AACjB,YAAY;AACZ,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR;AACA,CAAC;;ACnHD;AACA;AACA;AACK,MAAC,KAAK,GAAG;AACd,IAAI,eAAe;AACnB,IAAIC;AACJ;;ACPA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAIF;AACJ;AACA;AACA;;;;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../node_modules/.pnpm/base64-arraybuffer-es6@3.1.0/node_modules/base64-arraybuffer-es6/dist/base64-arraybuffer-es.js","../types/arraybuffer.js","../types/audiodata.js","../types/bigint-object.js","../types/bigint.js","../utils/stringArrayBuffer.js","../types/blob.js","../utils/generateUUID.js","../types/cloneable.js","../types/cryptokey.js","../types/dataview.js","../types/date.js","../types/domexception.js","../types/dommatrix.js","../types/dompoint.js","../types/domquad.js","../types/domrect.js","../types/encodedaudiochunk.js","../types/encodedvideochunk.js","../types/error.js","../types/errors.js","../types/file.js","../types/filelist.js","../types/imagebitmap.js","../types/imagedata.js","../types/infinity.js","../types/intl-types.js","../types/map.js","../types/nan.js","../types/negative-infinity.js","../types/negative-zero.js","../types/nonbuiltin-ignore.js","../types/primitive-objects.js","../types/promise.js","../types/quotaexceedederror.js","../types/regexp.js","../types/resurrectable.js","../types/set.js","../types/symbol.js","../types/typed-arrays-socketio.js","../types/typed-arrays.js","../types/undef.js","../types/user-object.js","../types/videoframe.js","../types/webtransporterror.js","../presets/array-nonindex-keys.js","../presets/special-numbers.js","../presets/builtin.js","../presets/postmessage.js","../presets/socketio.js","../presets/sparse-undefined.js","../presets/structured-cloning.js","../presets/structured-cloning-throwing.js","../presets/undef.js","../presets/universal.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(void 0,e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(t,n,r){if(\"\"===n)return t;if(null===t||\"object\"!=typeof t)throw new TypeError(\"Unexpected non-object type\");const s=n.indexOf(\".\"),o=unescapeKeyPathComponent(-1===s?n:n.slice(0,s));if(!r||e(t,o)){if(-1!==s){const e=t[o];return void 0===e?void 0:getByKeyPath(e,n.slice(s+1),r)}return t[o]}}function setAtKeyPath(t,n,r,s){if(\"\"===n)return r;let o=t,i=n;for(;;){if(!o||\"object\"!=typeof o)throw new TypeError(\"Unexpected non-object type\");const n=i.indexOf(\".\"),c=unescapeKeyPathComponent(-1===n?i:i.slice(0,n));if(\"__proto__\"===c)throw new TypeError(\"Invalid property\");if(-1===n)return o[c]=r,t;if(s&&!e(o,c))throw new TypeError(\"Invalid property\");o=o[c],i=i.slice(n+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n */const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return this.encapsulate(e,t,{...n,returnTypeNames:!0})}rootTypeName(e,t,n={}){return this.encapsulate(e,t,{...n,iterateNone:!0})}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){return setOwnEnumerable(a,p,await u.p),checkPromises(e,r)}return o?setOwnEnumerable(a,p,u):e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let b,O={};const v=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(b=i.replaced?t:replace(e,t,i,a,!1,l,v),b!==t&&(O={replaced:b})):b=t,v&&v(),b;if(null===t)return v&&v(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",v&&v({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),T=s(t),P=(m||T)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||T,null,v);let w;if(P!==t?(b=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),b=t):T&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(w=new Array(t.length),O={clone:w}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?b=t:(w={},i.addLength&&(w.length=t.length),O={clone:w}),v&&v(),c.iterateNone)return w??b;if(!w)return b;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,w,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&setOwnEnumerable(w,n,c)})}v&&v({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,w,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&setOwnEnumerable(w,n,s)})}),v&&v({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,w,r,i.type]):void 0!==e&&setOwnEnumerable(w,r,e)})}v&&v({endIterateUnsetNumeric:!0,end:!0})}return w},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},b=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(b,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(b)]:a?finish(b):Promise.resolve(finish(b))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n,!0);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const o=setAtKeyPath(e,n,s,!0);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=r(c,e)?c[e]:void 0,b=s(t);if(b||isPlainObject(t)){const s=b?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(s,n,void 0):void 0!==e&&setOwnEnumerable(s,n,e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t,!0);if(!o&&void 0===i)break;setOwnEnumerable(n,s,i),a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e,!0);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];if([this.plainObjectReplacers,this.nonplainObjectReplacers].forEach(e=>{const n=e.findIndex(e=>e.type===t);-1!==n&&e.splice(n,1)}),delete this.revivers[t],delete this.types[t],\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const o={type:t,test:n.test.bind(n)};n.replace&&(o.replace=n.replace.bind(n)),n.replaceAsync&&(o.replaceAsync=n.replaceAsync.bind(n));const c=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(c,0,o):this.nonplainObjectReplacers.splice(c,0,o),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2017-2023 Brett Zamir, 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\n/**\n * @typedef {number} Integer\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nvar lookup = new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[/** @type {number} */chars.codePointAt(i)] = i;\n}\n\n/**\n * @param {ArrayBuffer} arraybuffer\n * @param {Integer} [byteOffset]\n * @param {Integer} [lngth]\n * @returns {string}\n */\nvar encode = function encode(arraybuffer, byteOffset, lngth) {\n if (lngth === null || lngth === undefined) {\n lngth = arraybuffer.byteLength; // Needed for Safari\n }\n\n var bytes = new Uint8Array(arraybuffer, byteOffset || 0,\n // Default needed for Safari\n lngth);\n var len = bytes.length;\n var base64 = '';\n for (var _i = 0; _i < len; _i += 3) {\n base64 += chars[bytes[_i] >> 2];\n base64 += chars[(bytes[_i] & 3) << 4 | bytes[_i + 1] >> 4];\n base64 += chars[(bytes[_i + 1] & 15) << 2 | bytes[_i + 2] >> 6];\n base64 += chars[bytes[_i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.slice(0, -1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.slice(0, -2) + '==';\n }\n return base64;\n};\n\n/**\n * @param {string} base64\n * @param {{\n * maxByteLength: number\n * }} [options]\n * @returns {ArrayBuffer}\n */\nvar decode = function decode(base64, options) {\n var len = base64.length;\n if (len % 4) {\n throw new Error('Bad base64 length: not divisible by four');\n }\n var bufferLength = base64.length * 0.75;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n // @ts-expect-error Second argument is not yet standard\n var arraybuffer = new ArrayBuffer(bufferLength, options),\n bytes = new Uint8Array(arraybuffer);\n for (var _i2 = 0; _i2 < len; _i2 += 4) {\n // We know the result will not be undefined, as we have a text\n // length divisible by four\n encoded1 = lookup[/** @type {number} */base64.codePointAt(_i2)];\n encoded2 = lookup[/** @type {number} */base64.codePointAt(_i2 + 1)];\n encoded3 = lookup[/** @type {number} */base64.codePointAt(_i2 + 2)];\n encoded4 = lookup[/** @type {number} */base64.codePointAt(_i2 + 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};\n\nexport { decode, encode };\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst arraybuffer = {\n arraybuffer: {\n test (x) { return toStringTag(x) === 'ArrayBuffer'; },\n replace (\n b,\n /**\n * @type {import('typeson').StateObject &\n * {buffers?: ArrayBuffer[]}}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(b);\n if (index !== -1) {\n return {index};\n }\n stateObj.buffers.push(b);\n return {\n s: encode(b),\n maxByteLength: b.maxByteLength,\n resizable: b.resizable\n };\n },\n revive (\n b64,\n /**\n * @type {import('typeson').StateObject &\n * {buffers?: ArrayBuffer[]}}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n if (Object.hasOwn(b64, 'index')) {\n return stateObj.buffers[\n /**\n * @type {{index: import('typeson').Integer}}\n */\n (b64).index\n ];\n }\n const buffer = decode(\n /** @type {string} */ (b64.s),\n b64.resizable\n ? {maxByteLength: b64.maxByteLength}\n : undefined\n );\n stateObj.buffers.push(buffer);\n return buffer;\n }\n }\n};\n\nexport default arraybuffer;\n\n// See also typed-arrays!\n","/* globals AudioData -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst audiodata = {\n audiodata: {\n test (x) {\n return toStringTag(x) === 'AudioData';\n },\n replace (audioData) {\n const {\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp\n } = audioData;\n\n // 2. Determine plane layout based on audio format\n const isPlanar = format.endsWith('-planar');\n const numPlanes = isPlanar ? numberOfChannels : 1;\n\n // 3. Per the AudioData API, planes are laid out back-to-back\n // within a single buffer, so compute their sizes up front\n const planeSizes = [];\n let totalSize = 0;\n for (let i = 0; i < numPlanes; i++) {\n const size = audioData.allocationSize({planeIndex: i});\n planeSizes.push(size);\n totalSize += size;\n }\n\n // 4. Copy the raw binary data out of each plane into its slot\n const data = new ArrayBuffer(totalSize);\n let offset = 0;\n for (let i = 0; i < numPlanes; i++) {\n const planeView = new Uint8Array(data, offset, planeSizes[i]);\n audioData.copyTo(planeView, {planeIndex: i});\n offset += planeSizes[i];\n }\n\n // 5. Return a clean, serializable manifest\n return {\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp,\n data\n };\n },\n revive ({\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp, data\n }) {\n return new AudioData({\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp,\n data: new Uint8Array(data)\n });\n }\n }\n};\n\nexport default audiodata;\n","import {hasConstructorOf} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst bigintObject = {\n bigintObject: {\n test (x) {\n return typeof x === 'object' && hasConstructorOf(x, BigInt);\n },\n replace: String,\n revive (s) {\n return new Object(BigInt(/** @type {string} */ (s)));\n }\n }\n};\n\nexport default bigintObject;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst bigint = {\n bigint: {\n test (x) {\n return typeof x === 'bigint';\n },\n replace: String,\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-native-coercion-functions -- Clearer\n revive (s) {\n return BigInt(/** @type {string} */ (s));\n }\n }\n};\n\nexport default bigint;\n","/**\n * Not currently in use internally, but provided for parity.\n * @param {ArrayBuffer} buf\n * @returns {string}\n */\nfunction arraybuffer2string (buf) {\n return new Uint8Array(buf).reduce(\n (s, byte) => s + String.fromCodePoint(byte), ''\n );\n}\n\n/**\n *\n * @param {string} str\n * @returns {ArrayBuffer}\n */\nfunction string2arraybuffer (str) {\n /*\n // UTF-8 approaches\n const utf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(utf8.length);\n for (let i = 0; i < utf8.length; i++) {\n arr[i] = utf8.charCodeAt(i);\n }\n return arr.buffer;\n\n const utf8 = [];\n for (let i = 0; i < str.length; i++) {\n let charcode = str.charCodeAt(i);\n if (charcode < 0x80) utf8.push(charcode);\n else if (charcode < 0x800) {\n utf8.push(0xc0 | (charcode >> 6),\n 0x80 | (charcode & 0x3f));\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n utf8.push(0xe0 | (charcode >> 12),\n 0x80 | ((charcode >> 6) & 0x3f),\n 0x80 | (charcode & 0x3f));\n // surrogate pair\n } else {\n i++;\n // UTF-16 encodes 0x10000-0x10FFFF by\n // subtracting 0x10000 and splitting the\n // 20 bits of 0x0-0xFFFFF into two halves\n charcode = 0x10000 + (((charcode & 0x3ff) << 10) |\n (str.charCodeAt(i) & 0x3ff));\n utf8.push(0xf0 | (charcode >> 18),\n 0x80 | ((charcode >> 12) & 0x3f),\n 0x80 | ((charcode >> 6) & 0x3f),\n 0x80 | (charcode & 0x3f));\n }\n }\n return utf8;\n */\n /*\n // Working UTF-16 options (equivalents)\n const buf = new ArrayBuffer(str.length * 2); // 2 bytes for each char\n const bufView = new Uint16Array(buf);\n for (let i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n */\n\n const array = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-code-point -- Iterating char. codes\n array[i] = str.charCodeAt(i); // & 0xff;\n }\n return array.buffer;\n}\nexport {arraybuffer2string, string2arraybuffer};\n","/* globals XMLHttpRequest, FileReader -- Polyfills */\nimport {TypesonPromise, toStringTag} from 'typeson';\nimport {\n string2arraybuffer, arraybuffer2string\n} from '../utils/stringArrayBuffer.js';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst blob = {\n blob: {\n test (x) { return toStringTag(x) === 'Blob'; },\n replace (b) { // Sync\n const req = new XMLHttpRequest();\n req.overrideMimeType('text/plain; charset=x-user-defined');\n req.open('GET', URL.createObjectURL(b), false); // Sync\n req.send();\n\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n if (req.status !== 200 && req.status !== 0) {\n throw new Error('Bad Blob access: ' + req.status);\n }\n return {\n type: b.type,\n stringContents: req.responseText\n };\n },\n revive (obj) {\n const {\n type, stringContents\n } = /** @type {{type: string, stringContents: string}} */ (obj);\n return new Blob([string2arraybuffer(stringContents)], {type});\n },\n replaceAsync (b) {\n return new TypesonPromise((resolve, reject) => {\n /*\n if (b.isClosed) { // On MDN, but not in https://w3c.github.io/FileAPI/#dfn-Blob\n reject(new Error('The Blob is closed'));\n return;\n }\n */\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n resolve({\n type: b.type,\n stringContents: arraybuffer2string(\n /** @type {ArrayBuffer} */ (reader.result)\n )\n });\n });\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n reader.addEventListener('error', () => {\n reject(reader.error);\n });\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods -- Too new?\n reader.readAsArrayBuffer(b);\n });\n }\n }\n};\n\nexport default blob;\n","/**\n * @todo We could use `import generateUUID from 'uuid/v4';` (but it needs\n * crypto library, etc.; `rollup-plugin-node-builtins` doesn't recommend\n * using its own version and though there is <https://www.npmjs.com/package/crypto-browserify>,\n * it may be troublesome to bundle and not strongly needed)\n * @returns {string}\n */\nexport default function generateUUID () { // Adapted from original: public domain/MIT: https://stackoverflow.com/a/8809472/271577\n /* c8 ignore next */\n let d = Date.now();\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replaceAll(/[xy]/gu, function (c) {\n /* eslint-disable no-bitwise, sonarjs/pseudo-random -- Convenient */\n const r = Math.trunc((d + (Math.random() * 16)) % 16);\n d = Math.floor(d / 16);\n return (c === 'x' ? r : ((r & 0x3) | 0x8)).toString(16);\n /* eslint-enable no-bitwise, sonarjs/pseudo-random -- Convenient */\n });\n}\n","import generateUUID from '../utils/generateUUID.js';\n\n/**\n * @type {{[key: (symbol|string)]: any}}\n */\nconst cloneableObjectsByUUID = {};\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst cloneable = {\n cloneable: {\n test (x) {\n return x && typeof x === 'object' &&\n typeof x[Symbol.for('cloneEncapsulate')] === 'function';\n },\n replace (clonable) {\n const encapsulated = clonable[Symbol.for('cloneEncapsulate')]();\n const uuid = generateUUID();\n cloneableObjectsByUUID[uuid] = clonable;\n return {uuid, encapsulated};\n },\n revive (obj) {\n const {\n uuid, encapsulated\n } = /** @type {{uuid: string, encapsulated: any}} */ (obj);\n\n return cloneableObjectsByUUID[uuid][Symbol.for('cloneRevive')](\n encapsulated\n );\n }\n }\n};\n\nexport default cloneable;\n","import {TypesonPromise, toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst cryptokey = {\n cryptokey: {\n test (x) {\n return toStringTag(x) === 'CryptoKey' && x.extractable;\n },\n replaceAsync (\n /** @type {CryptoKey} */\n key\n ) {\n return new TypesonPromise(async (resolve, reject) => {\n /** @type {JsonWebKey} */\n let jwk;\n try {\n jwk = await crypto.subtle.exportKey('jwk', key);\n // Our format should be valid and our key extractable\n /* c8 ignore next 4 */\n } catch (err) {\n reject(err);\n return;\n }\n resolve({\n jwk,\n algorithm: key.algorithm,\n usages: key.usages\n });\n });\n },\n revive (obj) {\n const {\n jwk, algorithm, usages\n } = /**\n * @type {{\n * jwk: JsonWebKey,\n * algorithm: KeyAlgorithm,\n * usages: KeyUsage[]\n * }}\n */ (obj);\n\n return crypto.subtle.importKey(\n 'jwk', jwk, algorithm, true, usages\n );\n }\n }\n};\n\nexport default cryptokey;\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst dataview = {\n dataview: {\n test (x) { return toStringTag(x) === 'DataView'; },\n replace (\n {buffer, byteOffset, byteLength},\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index !== -1) {\n return {index, byteOffset, byteLength};\n }\n stateObj.buffers.push(buffer);\n return {\n encoded: encode(buffer),\n maxByteLength: buffer.maxByteLength,\n resizable: buffer.resizable,\n byteOffset,\n byteLength\n };\n },\n revive (\n b64Obj,\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {\n byteOffset, byteLength, encoded, index, maxByteLength,\n resizable\n } = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(\n encoded,\n resizable\n ? {maxByteLength}\n : maxByteLength\n );\n stateObj.buffers.push(buffer);\n }\n return new DataView(buffer, byteOffset, byteLength);\n }\n }\n};\n\nexport default dataview;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst date = {\n date: {\n test (x) { return toStringTag(x) === 'Date'; },\n replace (dt) {\n const time = dt.getTime();\n if (Number.isNaN(time)) {\n return 'NaN';\n }\n return time;\n },\n revive (time) {\n if (time === 'NaN') {\n return new Date(NaN);\n }\n return new Date(time);\n }\n }\n};\n\nexport default date;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst domexception = {\n domexception: {\n test (x) { return toStringTag(x) === 'DOMException'; },\n replace (de) {\n // `code` is based on `name` and readonly, so no\n // need to keep here\n return {\n name: de.name,\n message: de.message\n };\n },\n revive ({message, name}) {\n return new DOMException(message, name);\n }\n }\n};\n\nexport default domexception;\n","/* globals DOMMatrix, DOMMatrixReadOnly -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst dommatrix = {};\n\n/* c8 ignore next */\nif (typeof DOMMatrix !== 'undefined') {\n create(DOMMatrix);\n}\n/* c8 ignore next */\nif (typeof DOMMatrixReadOnly !== 'undefined') {\n create(DOMMatrixReadOnly);\n}\n\n/**\n * @param {typeof DOMMatrix|typeof DOMMatrixReadOnly} Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n dommatrix[Ctor.name.toLowerCase()] = {\n test (x) { return toStringTag(x) === Ctor.name; },\n replace (dm) {\n if (dm.is2D) {\n return {\n a: dm.a,\n b: dm.b,\n c: dm.c,\n d: dm.d,\n e: dm.e,\n f: dm.f\n };\n }\n return {\n m11: dm.m11,\n m12: dm.m12,\n m13: dm.m13,\n m14: dm.m14,\n m21: dm.m21,\n m22: dm.m22,\n m23: dm.m23,\n m24: dm.m24,\n m31: dm.m31,\n m32: dm.m32,\n m33: dm.m33,\n m34: dm.m34,\n m41: dm.m41,\n m42: dm.m42,\n m43: dm.m43,\n m44: dm.m44\n };\n },\n revive (o) {\n if (Object.hasOwn(o, 'a')) {\n return new Ctor([o.a, o.b, o.c, o.d, o.e, o.f]);\n }\n return new Ctor([\n o.m11, o.m12, o.m13, o.m14,\n o.m21, o.m22, o.m23, o.m24,\n o.m31, o.m32, o.m33, o.m34,\n o.m41, o.m42, o.m43, o.m44\n ]);\n }\n };\n}\n\nexport default dommatrix;\n","/* globals DOMPoint, DOMPointReadOnly -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst dompoint = {};\n\n/* c8 ignore next */\nif (typeof DOMPoint !== 'undefined') {\n create(DOMPoint);\n}\n/* c8 ignore next */\nif (typeof DOMPointReadOnly !== 'undefined') {\n create(DOMPointReadOnly);\n}\n\n/**\n * @param {typeof DOMPoint|typeof DOMPointReadOnly} Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n dompoint[Ctor.name.toLowerCase()] = {\n test (x) { return toStringTag(x) === Ctor.name; },\n replace (dp) {\n return {\n x: dp.x,\n y: dp.y,\n z: dp.z,\n w: dp.w\n };\n },\n revive ({x, y, z, w}) {\n return new Ctor(x, y, z, w);\n }\n };\n}\n\nexport default dompoint;\n","/* globals DOMQuad -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst domquad = {\n domquad: {\n test (x) { return toStringTag(x) === 'DOMQuad'; },\n replace (dp) {\n return {\n p1: dp.p1,\n p2: dp.p2,\n p3: dp.p3,\n p4: dp.p4\n };\n },\n revive ({p1, p2, p3, p4}) {\n return new DOMQuad(p1, p2, p3, p4);\n }\n }\n};\n\nexport default domquad;\n","/* globals DOMRect, DOMRectReadOnly -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst domrect = {};\n\n/* c8 ignore next */\nif (typeof DOMRect !== 'undefined') {\n create(DOMRect);\n}\n/* c8 ignore next */\nif (typeof DOMRectReadOnly !== 'undefined') {\n create(DOMRectReadOnly);\n}\n\n/**\n * @param {typeof DOMRect|typeof DOMRectReadOnly} Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n domrect[Ctor.name.toLowerCase()] = {\n test (x) { return toStringTag(x) === Ctor.name; },\n replace (dr) {\n return {\n x: dr.x,\n y: dr.y,\n width: dr.width,\n height: dr.height\n };\n },\n revive ({x, y, width, height}) {\n return new Ctor(x, y, width, height);\n }\n };\n}\n\nexport default domrect;\n","/* globals EncodedAudioChunk -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst encodedaudiochunk = {\n encodedaudiochunk: {\n test (x) {\n return toStringTag(x) === 'EncodedAudioChunk';\n },\n replace (chunk) {\n const {type, timestamp, duration, byteLength} = chunk;\n const data = new ArrayBuffer(byteLength);\n chunk.copyTo(data);\n return {type, timestamp, duration, data};\n },\n revive ({type, timestamp, duration, data}) {\n return new EncodedAudioChunk({\n type, timestamp, duration, data: new Uint8Array(data)\n });\n }\n }\n};\n\nexport default encodedaudiochunk;\n","/* globals EncodedVideoChunk -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst encodedvideochunk = {\n encodedvideochunk: {\n test (x) {\n return toStringTag(x) === 'EncodedVideoChunk';\n },\n replace (chunk) {\n const {type, timestamp, duration, byteLength} = chunk;\n const data = new ArrayBuffer(byteLength);\n chunk.copyTo(data);\n return {type, timestamp, duration, data};\n },\n revive ({type, timestamp, duration, data}) {\n return new EncodedVideoChunk({\n type, timestamp, duration, data: new Uint8Array(data)\n });\n }\n }\n};\n\nexport default encodedvideochunk;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst error = {\n error: {\n test (x) { return toStringTag(x) === 'Error'; },\n replace ({\n name, message, cause, stack, fileName, lineNumber, columnNumber\n }) {\n return {\n name, message, cause, stack, fileName, lineNumber, columnNumber\n };\n },\n revive (obj) {\n const e = /**\n * @type {{\n * name: string,\n * cause: Error,\n * stack: string,\n * fileName?: string,\n * lineNumber?: import('typeson').Integer,\n * columnNumber?: import('typeson').Integer\n * }}\n */ (new Error(obj.message));\n /* eslint-disable unicorn/no-error-property-assignment -- Ok */\n e.name = obj.name;\n e.cause = obj.cause;\n e.stack = obj.stack;\n /* eslint-enable unicorn/no-error-property-assignment -- Ok */\n e.fileName = obj.fileName;\n e.lineNumber = obj.lineNumber;\n e.columnNumber = obj.columnNumber;\n\n return e;\n }\n }\n};\n// See also errors.js that may be registered after having registered this type.\n\nexport default error;\n","/* globals InternalError -- Optional */\nimport {hasConstructorOf} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst errors = {};\n\n// JS standard\n// eslint-disable-next-line unicorn/no-top-level-side-effects -- Too cumbersome\n[\n TypeError, RangeError, SyntaxError, ReferenceError,\n EvalError, URIError\n].forEach((error) => create(error));\n\n/* c8 ignore next 3 */\nif (typeof AggregateError !== 'undefined') {\n create(AggregateError);\n}\n\n/* c8 ignore next 5 */\n// @ts-expect-error Non-standard\nif (typeof InternalError === 'function') {\n // @ts-expect-error Non-standard\n create(InternalError);\n}\n\n/**\n * Non-standard.\n * @typedef {{\n * new (message?: string, options?: ErrorOptions): EvalError;\n * (message?: string, options?: ErrorOptions): EvalError;\n * }} InternalErrorConstructor\n */\n\n/**\n * Comprises all built-in errors.\n * @param {TypeErrorConstructor|RangeErrorConstructor\n * |SyntaxErrorConstructor|ReferenceErrorConstructor\n * |EvalErrorConstructor|URIErrorConstructor\n * |AggregateErrorConstructor|InternalErrorConstructor\n * } Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n errors[Ctor.name.toLowerCase()] = {\n test (x) { return hasConstructorOf(x, Ctor); },\n replace ({\n name, message, cause, stack, fileName,\n lineNumber, columnNumber, errors: errs\n }) {\n return {\n name, message, cause, stack, fileName,\n lineNumber, columnNumber, errors: errs\n };\n },\n revive (obj) {\n const isAggregateError = typeof AggregateError !== 'undefined' &&\n Ctor === AggregateError;\n const e = /**\n * @type {{\n * name: string,\n * cause: Error,\n * stack: string,\n * fileName?: string,\n * lineNumber?: import('typeson').Integer,\n * columnNumber?: import('typeson').Integer\n * }}\n */ (isAggregateError\n ? new /** @type {AggregateErrorConstructor} */ (\n Ctor\n )(obj.errors, obj.message)\n : new /**\n * @type {TypeErrorConstructor|RangeErrorConstructor|\n * SyntaxErrorConstructor|ReferenceErrorConstructor|\n * EvalErrorConstructor|URIErrorConstructor|\n * InternalErrorConstructor}\n */ (Ctor)(obj.message));\n\n e.name = obj.name;\n e.cause = obj.cause;\n e.stack = obj.stack;\n e.fileName = obj.fileName;\n e.lineNumber = obj.lineNumber;\n e.columnNumber = obj.columnNumber;\n\n return e;\n }\n };\n}\n\nexport default errors;\n","/* globals XMLHttpRequest, FileReader -- Polyfills */\nimport {TypesonPromise, toStringTag} from 'typeson';\nimport {\n string2arraybuffer, arraybuffer2string\n} from '../utils/stringArrayBuffer.js';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst file = {\n file: {\n test (x) { return toStringTag(x) === 'File'; },\n replace (f) { // Sync\n const req = new XMLHttpRequest();\n req.overrideMimeType('text/plain; charset=x-user-defined');\n req.open('GET', URL.createObjectURL(f), false); // Sync\n req.send();\n\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n if (req.status !== 200 && req.status !== 0) {\n throw new Error('Bad File access: ' + req.status);\n }\n return {\n type: f.type,\n stringContents: req.responseText,\n name: f.name,\n lastModified: f.lastModified\n };\n },\n revive ({name, type, stringContents, lastModified}) {\n return new File([string2arraybuffer(stringContents)], name, {\n type,\n lastModified\n });\n },\n replaceAsync (f) {\n return new TypesonPromise(function (resolve, reject) {\n /*\n if (f.isClosed) { // On MDN, but not in https://w3c.github.io/FileAPI/#dfn-Blob\n reject(new Error('The File is closed'));\n return;\n }\n */\n const reader = new FileReader();\n reader.addEventListener('load', function () {\n resolve({\n type: f.type,\n stringContents: arraybuffer2string(\n /** @type {ArrayBuffer} */ (reader.result)\n ),\n name: f.name,\n lastModified: f.lastModified\n });\n });\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n reader.addEventListener('error', function () {\n reject(reader.error);\n });\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods -- Too new?\n reader.readAsArrayBuffer(f);\n });\n }\n }\n};\n\nexport default file;\n","import {toStringTag} from 'typeson';\nimport file from './file.js';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst filelist = {\n file: file.file,\n filelist: {\n test (x) { return toStringTag(x) === 'FileList'; },\n replace (fl) {\n const arr = [];\n for (let i = 0; i < fl.length; i++) {\n arr[i] = fl.item(i);\n }\n return arr;\n },\n revive (o) {\n /**\n * `FileList` polyfill.\n */\n class FileList {\n /**\n * Set private properties and length.\n */\n constructor () {\n // eslint-disable-next-line prefer-rest-params -- API\n this._files = arguments[0];\n this.length = this._files.length;\n }\n /**\n * @param {import('typeson').Integer} index\n * @returns {File}\n */\n item (index) {\n return this._files[index];\n }\n /* eslint-disable class-methods-use-this -- Not needed */\n /**\n * @returns {\"FileList\"}\n */\n get [Symbol.toStringTag] () {\n /* eslint-enable class-methods-use-this -- Not needed */\n return 'FileList';\n }\n }\n\n // @ts-ignore Override API\n return new FileList(o);\n }\n }\n};\n\nexport default filelist;\n","/* globals document, OffscreenCanvas, createImageBitmap -- Polyfills */\n// `ImageBitmap` is browser / DOM specific. It also can only work\n// same-domain (or CORS)\n\nimport {toStringTag, TypesonPromise} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst imagebitmap = {\n imagebitmap: {\n test (x) {\n return toStringTag(x) === 'ImageBitmap' ||\n // In Node, our polyfill sets the dataset on a canvas\n // element as JSDom no longer allows overriding toStringTag\n (x && x.dataset && x.dataset.toStringTag === 'ImageBitmap');\n },\n replace (bm) {\n const canvas = document.createElement('canvas');\n const ctx = /** @type {CanvasRenderingContext2D} */ (\n canvas.getContext('2d')\n );\n ctx.drawImage(bm, 0, 0);\n return {\n width: bm.width, height: bm.height, dataURL: canvas.toDataURL()\n };\n },\n revive (o) {\n const canvas = typeof OffscreenCanvas === 'undefined'\n ? document.createElement('canvas')\n /* c8 ignore next -- Browser only */\n : new OffscreenCanvas(o.width, o.height);\n /*\n var req = new XMLHttpRequest();\n req.open('GET', o, false); // Sync\n if (req.status !== 200 && req.status !== 0) {\n throw new Error('Bad ImageBitmap access: ' + req.status);\n }\n req.send();\n return req.responseText;\n */\n const ctx = /** @type {CanvasRenderingContext2D} */ (\n canvas.getContext('2d')\n );\n const img = document.createElement('img');\n // The onload is needed by some browsers per https://stackoverflow.com/a/4776378/271577\n img.addEventListener('load', function () {\n ctx.drawImage(img, 0, 0);\n });\n img.src = o.dataURL;\n // Works in contexts allowing an `ImageBitmap` (We might use\n // `OffscreenCanvas.transferToBitmap` when supported)\n return typeof OffscreenCanvas === 'undefined'\n ? canvas\n /* c8 ignore next 3 -- Browser only */\n : /** @type {OffscreenCanvas} */ (\n canvas\n ).transferToImageBitmap();\n },\n reviveAsync (o) {\n const canvas = document.createElement('canvas');\n const ctx = /** @type {CanvasRenderingContext2D} */ (\n canvas.getContext('2d')\n );\n const img = document.createElement('img');\n // The onload is needed by some browsers per https://stackoverflow.com/a/4776378/271577\n img.addEventListener('load', function () {\n ctx.drawImage(img, 0, 0);\n });\n img.src = o.dataURL;\n\n return new TypesonPromise(async (resolve, reject) => {\n try {\n const resp = await createImageBitmap(canvas);\n resolve(resp);\n /* c8 ignore next 3 */\n } catch (err) {\n reject(err);\n }\n });\n }\n }\n};\n\nexport default imagebitmap;\n","/* globals ImageData -- Polyfills */\n// `ImageData` is browser / DOM specific (though `node-canvas` has it\n// available on `Canvas`).\n\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst imagedata = {\n imagedata: {\n test (x) { return toStringTag(x) === 'ImageData'; },\n replace (d) {\n return {\n // Ensure `length` gets preserved for revival\n array: [...d.data],\n width: d.width,\n height: d.height\n };\n },\n revive (o) {\n return new ImageData(\n new Uint8ClampedArray(o.array), o.width, o.height\n );\n }\n }\n};\n\nexport default imagedata;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst infinity = {\n infinity: {\n test (x) { return x === Infinity; },\n replace (/* n */) { return 'Infinity'; },\n revive (/* s */) { return Infinity; }\n }\n};\n\nexport default infinity;\n","import {hasConstructorOf} from 'typeson';\n\n/**\n * @type {import('typeson').Spec}\n */\nconst IntlCollator = {\n test (x) { return hasConstructorOf(x, Intl.Collator); },\n replace (c) { return c.resolvedOptions(); },\n revive (options) { return new Intl.Collator(options.locale, options); }\n};\n\n/**\n * @type {import('typeson').Spec}\n */\nconst IntlDateTimeFormat = {\n test (x) { return hasConstructorOf(x, Intl.DateTimeFormat); },\n replace (dtf) { return dtf.resolvedOptions(); },\n revive (options) {\n return new Intl.DateTimeFormat(options.locale, options);\n }\n};\n\n/**\n * @type {import('typeson').Spec}\n */\nconst IntlNumberFormat = {\n test (x) { return hasConstructorOf(x, Intl.NumberFormat); },\n replace (nf) { return nf.resolvedOptions(); },\n revive (options) { return new Intl.NumberFormat(options.locale, options); }\n};\n\nconst intlTypes = {\n IntlCollator,\n IntlDateTimeFormat,\n IntlNumberFormat\n};\n\nexport default intlTypes;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst map = {\n map: {\n test (x) { return toStringTag(x) === 'Map'; },\n replace (mp) { return mp.entries().toArray(); },\n revive (entries) { return new Map(entries); }\n }\n};\n\nexport default map;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst nan = {\n nan: {\n test (x) { return Number.isNaN(x); },\n replace (/* n */) { return 'NaN'; },\n revive (/* s */) { return NaN; }\n }\n};\n\nexport default nan;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst negativeInfinity = {\n negativeInfinity: {\n test (x) { return x === -Infinity; },\n replace (/* n */) { return '-Infinity'; },\n revive (/* s */) { return -Infinity; }\n }\n};\n\nexport default negativeInfinity;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst negativeZero = {\n negativeZero: {\n test (x) {\n return Object.is(x, -0);\n },\n replace (/* n */) {\n // Just adding 0 here for minimized space; will still revive as -0\n return 0;\n },\n revive (/* s */) {\n return -0;\n }\n }\n};\n\nexport default negativeZero;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst nonbuiltinIgnore = {\n nonbuiltinIgnore: {\n test (x) {\n return x && typeof x === 'object' && !Array.isArray(x) && ![\n 'Object',\n // `Proxy` and `Reflect`, two other built-in objects, will also\n // have a `toStringTag` of `Object`; we don't want built-in\n // function objects, however\n 'Boolean', 'Number', 'String',\n 'Error', 'RegExp', 'Math', 'Date',\n 'Map', 'Set',\n 'JSON',\n 'ArrayBuffer', 'SharedArrayBuffer', 'DataView',\n 'Int8Array', 'Uint8Array', 'Uint8ClampedArray', 'Int16Array',\n 'Uint16Array', 'Int32Array', 'Uint32Array',\n 'Float32Array', 'Float64Array',\n 'Promise',\n 'String Iterator', 'Array Iterator',\n 'Map Iterator', 'Set Iterator',\n 'WeakMap', 'WeakSet',\n 'Atomics', 'Module'\n ].includes(toStringTag(x));\n },\n replace (/* rexp */) {\n // Not in use\n }\n }\n};\n\nexport default nonbuiltinIgnore;\n","// This module is for objectified primitives (such as `new Number(3)` or\n// `new String(\"foo\")`)\n/* eslint-disable no-new-wrappers, unicorn/new-for-builtins -- Deliberate */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst primitiveObjects = {\n // String Object (not primitive string which need no type spec)\n StringObject: {\n test (x) {\n return toStringTag(x) === 'String' && typeof x === 'object';\n },\n replace: String, // convert to primitive string\n revive (s) { return new String(s); } // Revive to an objectified string\n },\n // Boolean Object (not primitive boolean which need no type spec)\n BooleanObject: {\n test (x) {\n return toStringTag(x) === 'Boolean' &&\n typeof x === 'object';\n },\n replace (o) {\n // convert to primitive boolean\n return o.valueOf();\n },\n revive (b) {\n // Revive to an objectified Boolean\n return new Boolean(b);\n }\n },\n // Number Object (not primitive number which need no type spec)\n NumberObject: {\n test (x) {\n return toStringTag(x) === 'Number' && typeof x === 'object';\n },\n // `_encapsulate`'s nested-replace guard (`_stateObj.replaced`)\n // means a bare `NaN`/`Infinity`/`-Infinity`/`-0` returned here\n // would skip the sentinel treatment the bare `nan`/`infinity`/\n // `negativeZero` type specs normally give those values (since\n // we're already inside this spec's own `replace()`) -- JSON\n // can't represent them, so they'd otherwise silently become\n // `null` (or lose their sign, for `-0`). Encode them the same\n // way those specs do, directly, rather than relying on that\n // nested pass.\n replace (o) {\n const n = o.valueOf();\n if (Number.isNaN(n)) {\n return 'NaN';\n }\n if (n === Infinity) {\n return 'Infinity';\n }\n if (n === -Infinity) {\n return '-Infinity';\n }\n if (Object.is(n, -0)) {\n // A plain `0` here would be indistinguishable from a\n // genuine positive `0` once round-tripped through JSON\n // (which can't represent the sign), so this needs its\n // own sentinel too, same as the others above.\n return '-0';\n }\n return n;\n },\n // Revive to an objectified number\n revive (n) {\n if (n === 'NaN') {\n return new Number(NaN);\n }\n if (n === 'Infinity') {\n return new Number(Infinity);\n }\n if (n === '-Infinity') {\n return new Number(-Infinity);\n }\n if (n === '-0') {\n return new Number(-0);\n }\n return new Number(n);\n }\n }\n};\n/* eslint-enable no-new-wrappers, unicorn/new-for-builtins -- Deliberate */\n\nexport default primitiveObjects;\n","import {TypesonPromise, toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst promise = {\n promise: {\n test (x) {\n return toStringTag(x) === 'Promise';\n },\n replaceAsync (prom) {\n return new TypesonPromise(async (resolve) => {\n try {\n resolve({\n value: await prom\n });\n } catch (error) {\n resolve({\n error\n });\n }\n });\n },\n revive (o) {\n return o.error\n ? Promise.reject(o.error)\n : Promise.resolve(o.value);\n }\n }\n};\n\nexport default promise;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst quotaexceedederror = {\n quotaexceedederror: {\n test (x) { return toStringTag(x) === 'QuotaExceededError'; },\n replace ({message, quota, requested}) {\n return {message, quota, requested};\n },\n revive ({message, quota, requested}) {\n /** @type {{quota?: number, requested?: number}} */\n const options = {};\n if (quota !== null && quota !== undefined) {\n options.quota = quota;\n }\n if (requested !== null && requested !== undefined) {\n options.requested = requested;\n }\n return new QuotaExceededError(message, options);\n }\n }\n};\n\nexport default quotaexceedederror;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst regexp = {\n regexp: {\n test (x) { return toStringTag(x) === 'RegExp'; },\n replace (rexp) {\n return {\n source: rexp.source,\n flags: (rexp.global ? 'g' : '') +\n (rexp.ignoreCase ? 'i' : '') +\n (rexp.multiline ? 'm' : '') +\n (rexp.sticky ? 'y' : '') +\n (rexp.unicode ? 'u' : '') +\n (rexp.unicodeSets ? 'v' : '') +\n (rexp.hasIndices ? 'd' : '') +\n (rexp.dotAll ? 's' : '')\n };\n },\n revive ({source, flags}) { return new RegExp(source, flags); }\n }\n};\n\nexport default regexp;\n","// Here we allow the exact same non-plain object, function, and symbol\n// instances to be resurrected (assuming the same session/environment);\n// plain objects are ignored by Typeson so not presently available and\n// we consciously exclude arrays\n\nimport generateUUID from '../utils/generateUUID.js';\n\n/**\n * @type {{[key: string]: any}}\n */\nconst resurrectableObjectsByUUID = {};\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst resurrectable = {\n resurrectable: {\n test (x) {\n return x &&\n !Array.isArray(x) &&\n ['object', 'function', 'symbol'].includes(typeof x);\n },\n replace (rsrrctble) {\n const uuid = generateUUID();\n resurrectableObjectsByUUID[uuid] = rsrrctble;\n return uuid;\n },\n revive (serializedResurrectable) {\n return resurrectableObjectsByUUID[serializedResurrectable];\n }\n }\n};\n\nexport default resurrectable;\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst set = {\n set: {\n test (x) { return toStringTag(x) === 'Set'; },\n replace (st) {\n return st.values().toArray();\n },\n revive (values) {\n return new Set(values);\n }\n }\n};\n\nexport default set;\n","/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst symbol = {\n symbol: {\n test (x) {\n return typeof x === 'symbol';\n },\n replace (sym) {\n return {\n global: Symbol.keyFor(sym) !== undefined,\n sym: String(sym).slice(7, -1)\n };\n },\n revive (o) {\n return o.global ? Symbol.for(o.sym) : Symbol(o.sym);\n }\n }\n};\n\nexport default symbol;\n","import {toStringTag} from 'typeson';\n\n// Support all kinds of typed arrays (views of ArrayBuffers)\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst typedArraysSocketIO = {};\n\n/**\n * @param {Int8ArrayConstructor|Uint8ArrayConstructor\n * |Uint8ClampedArrayConstructor|Int16ArrayConstructor\n * |Uint16ArrayConstructor|Int32ArrayConstructor\n * |Uint32ArrayConstructor|Float32ArrayConstructor\n * |Float64ArrayConstructor|Float16ArrayConstructor\n * |BigInt64ArrayConstructor|BigUint64ArrayConstructor\n * } TypedArray\n * @returns {void}\n */\nfunction create (TypedArray) {\n const typeName = TypedArray.name;\n typedArraysSocketIO[typeName.toLowerCase()] = {\n test (x) { return toStringTag(x) === typeName; },\n replace (a) {\n return (a.byteOffset === 0 &&\n a.byteLength === a.buffer.byteLength\n ? a\n // socket.io supports streaming ArrayBuffers.\n // If we have a typed array representing a portion\n // of the buffer, we need to clone\n // the buffer before leaving it to socket.io.\n : a.slice(0)).buffer;\n },\n revive (buf) {\n // One may configure socket.io to revive binary data as\n // Buffer or Blob.\n // We should therefore not rely on that the instance we\n // get here is an ArrayBuffer\n // If not, let's assume user wants to receive it as\n // configured with socket.io.\n return toStringTag(buf) === 'ArrayBuffer'\n ? new TypedArray(buf)\n : buf;\n }\n };\n}\n\nif (typeof Int8Array === 'function') {\n // Those constructors are added in ES6 as a group.\n // If we have Int8Array, we can assume the rest also exists.\n\n [\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n ...(typeof BigInt64Array === 'function'\n ? [BigInt64Array, BigUint64Array]\n /* c8 ignore next */\n : []),\n ...(typeof Float16Array === 'function'\n ? [Float16Array]\n /* c8 ignore next */\n : [])\n ].forEach((TypedArray) => create(TypedArray));\n}\n\nexport default typedArraysSocketIO;\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst typedArrays = {};\n\n/**\n * @typedef {Int8ArrayConstructor|Uint8ArrayConstructor\n * |Uint8ClampedArrayConstructor\n * |Int16ArrayConstructor|Uint16ArrayConstructor\n * |Int32ArrayConstructor|Uint32ArrayConstructor\n * |Float32ArrayConstructor\n * |Float64ArrayConstructor\n * |BigInt64ArrayConstructor|BigUint64ArrayConstructor\n * |Float16ArrayConstructor} TypedArrayConstructor\n */\n\n/**\n * @param {TypedArrayConstructor} TypedArray\n * @returns {void}\n */\nfunction create (TypedArray) {\n const typeName = TypedArray.name;\n\n typedArrays[typeName.toLowerCase()] = {\n test (x) { return toStringTag(x) === typeName; },\n replace (\n {buffer, byteOffset, length: l},\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index !== -1) {\n return {index, byteOffset, length: l};\n }\n stateObj.buffers.push(buffer);\n return {\n maxByteLength: buffer.maxByteLength,\n resizable: buffer.resizable,\n encoded: encode(buffer),\n byteOffset,\n length: l\n };\n },\n revive (\n b64Obj,\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {\n byteOffset, length: len, encoded, index, maxByteLength,\n resizable\n } = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(\n encoded,\n resizable\n ? {maxByteLength}\n : undefined\n );\n stateObj.buffers.push(buffer);\n }\n\n return new TypedArray(buffer, byteOffset, len);\n }\n };\n}\n\nif (typeof Int8Array === 'function') {\n // Those constructors are added in ES6 as a group.\n // If we have Int8Array, we can assume the rest also exists.\n [\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n ...(typeof BigInt64Array === 'function'\n ? [BigInt64Array, BigUint64Array]\n /* c8 ignore next */\n : []),\n ...(typeof Float16Array === 'function'\n ? [Float16Array]\n /* c8 ignore next */\n : [])\n ].forEach((TypedArray) => create(TypedArray));\n}\n\nexport default typedArrays;\n","// This does not preserve `undefined` in sparse arrays; see the `undef`\n// or `sparse-undefined` preset\nimport {Undefined} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst undef = {\n undef: {\n test (x, stateObj) {\n return typeof x === 'undefined' &&\n (stateObj.ownKeys || !('ownKeys' in stateObj));\n },\n replace (/* n */) { return 0; },\n revive (/* s */) {\n // Will add `undefined` (returning `undefined` would instead\n // avoid explicitly setting)\n return new Undefined();\n }\n }\n};\n\nexport default undef;\n","import {isUserObject} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst userObject = {\n userObject: {\n test (x /* , stateObj */) { return isUserObject(x); },\n replace (n) { return {...n}; },\n revive (s) { return s; }\n }\n};\n\nexport default userObject;\n","/* globals VideoFrame -- Polyfills */\nimport {TypesonPromise, toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst videoframe = {\n videoframe: {\n test (x) {\n return toStringTag(x) === 'VideoFrame';\n },\n replaceAsync (frame) {\n return new TypesonPromise(async (resolve, reject) => {\n try {\n const {\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect, displayWidth, displayHeight, colorSpace\n } = frame;\n\n const data = new ArrayBuffer(frame.allocationSize());\n await frame.copyTo(data);\n\n resolve({\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect: {\n x: visibleRect.x,\n y: visibleRect.y,\n width: visibleRect.width,\n height: visibleRect.height\n },\n displayWidth, displayHeight,\n colorSpace: {\n primaries: colorSpace.primaries,\n transfer: colorSpace.transfer,\n matrix: colorSpace.matrix,\n fullRange: colorSpace.fullRange\n },\n data\n });\n /* c8 ignore next 3 -- How to simulate? */\n } catch (err) {\n reject(err);\n }\n });\n },\n revive ({\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect, displayWidth, displayHeight, colorSpace, data\n }) {\n return new VideoFrame(new Uint8Array(data), {\n format, codedWidth, codedHeight, timestamp, duration,\n visibleRect, displayWidth, displayHeight, colorSpace\n });\n }\n }\n};\n\nexport default videoframe;\n","/* globals WebTransportError -- Newer API */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst webtransporterror = {\n webtransporterror: {\n test (x) { return toStringTag(x) === 'WebTransportError'; },\n // Note that we can't support the `source` property (defaults\n // to `stream` instead of `session`)\n replace ({message, streamErrorCode}) {\n return {message, streamErrorCode};\n },\n revive ({message, streamErrorCode}) {\n // TS lib still models the older two-argument\n // `(message, options)` form; browsers implement a single\n // `init` object (which also carries `message`).\n // @ts-expect-error - More recent API\n return new WebTransportError({message, streamErrorCode});\n }\n }\n};\n\nexport default webtransporterror;\n","/**\n * @type {import('typeson').Preset}\n */\nconst arrayNonindexKeys = [\n {\n arrayNonindexKeys: {\n testPlainObjects: true,\n test (x, stateObj) {\n if (Array.isArray(x)) {\n if (\n // By avoiding serializing arrays into objects which\n // have only positive-integer keys, we reduce\n // size and improve revival performance; arrays with\n // non-index keys will be larger however\n Object.keys(x).some((k) => {\n // No need to check for `isNaN` or\n // `isNaN(Number.parseInt())` as `NaN` will be\n // treated as a string.\n // No need to do check as\n // `Number.parseInt(Number())` since scientific\n // notation will be pre-resolved if a number\n // was given, and it will otherwise be a string\n return String(Number(k)) !== k;\n })\n ) {\n stateObj.iterateIn = 'object';\n stateObj.addLength = true;\n }\n return true;\n }\n return false;\n },\n replace (a, stateObj) {\n // Catch sparse undefined\n stateObj.iterateUnsetNumeric = true;\n return a;\n },\n revive (o) {\n if (Array.isArray(o)) {\n return o;\n }\n\n /**\n * @type {{[key: string]: any}}\n */\n const arr = [];\n // No map here as may be a sparse array (including\n // with `length` set)\n Object.entries(o).forEach(([key, val]) => {\n arr[key] = val;\n });\n return arr;\n }\n }\n },\n {\n sparseUndefined: {\n test (x, stateObj) {\n return typeof x === 'undefined' && stateObj.ownKeys === false;\n },\n replace (/* n */) { return 0; },\n revive (/* s */) { return undefined; } // Will avoid adding anything\n }\n }\n];\n\nexport default arrayNonindexKeys;\n","import nan from '../types/nan.js';\nimport infinity from '../types/infinity.js';\nimport negativeInfinity from '../types/negative-infinity.js';\nimport negativeZero from '../types/negative-zero.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst specialNumbers = [\n nan,\n infinity,\n negativeInfinity,\n negativeZero\n];\n\nexport default specialNumbers;\n","/* This preset includes types that are built-in into the JavaScript\n language itself, this should work universally.\n\n Types that were added in ES6 or beyond will be checked before inclusion\n so that this module can be consumed by both ES5 and ES6 environments.\n\n Some types cannot be encapsulated because their inner state is private:\n `WeakMap`, `WeakSet`.\n\n The Function type is not included because their closures would not be\n serialized, so a revived Function that uses closures would not behave\n as expected.\n\n Symbols are similarly not included.\n*/\n\nimport arrayNonindexKeys from './array-nonindex-keys.js';\nimport undef from '../types/undef.js';\nimport primitiveObjects from '../types/primitive-objects.js';\nimport specialNumbers from './special-numbers.js';\nimport date from '../types/date.js';\nimport error from '../types/error.js';\nimport errors from '../types/errors.js';\nimport regexp from '../types/regexp.js';\nimport map from '../types/map.js';\nimport set from '../types/set.js';\nimport arraybuffer from '../types/arraybuffer.js';\nimport typedArrays from '../types/typed-arrays.js';\nimport dataview from '../types/dataview.js';\nimport intlTypes from '../types/intl-types.js';\nimport bigint from '../types/bigint.js';\nimport bigintObject from '../types/bigint-object.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst expObj = [\n undef,\n // ES5\n arrayNonindexKeys, primitiveObjects, specialNumbers,\n date, error, errors, regexp\n].concat(\n // ES2015 (ES6)\n /* c8 ignore next */\n typeof Map === 'function' ? map : [],\n /* c8 ignore next */\n typeof Set === 'function' ? set : [],\n /* c8 ignore next */\n typeof ArrayBuffer === 'function' ? arraybuffer : [],\n /* c8 ignore next */\n typeof Uint8Array === 'function' ? typedArrays : [],\n /* c8 ignore next */\n typeof DataView === 'function' ? dataview : [],\n /* c8 ignore next */\n typeof Intl !== 'undefined' ? intlTypes : [],\n\n /* c8 ignore next */\n typeof BigInt !== 'undefined' ? [bigint, bigintObject] : []\n);\nexport default expObj;\n","/*\nWhen communicating via `postMessage()` (`Worker.postMessage()` or\n`window.postMessage()`), the browser will use a similar algorithm as Typeson\ndoes to encapsulate and revive all items in the structure (aka the structured\nclone algorithm). This algorithm supports all built-in types as well as many\nDOM types. Therefore, only types that are not included in the structured clone\nalgorithm need to be registered, which is:\n\n* Error (now included in structured cloning)\n* Specific Errors like SyntaxError, TypeError, etc. (now included in structured\n* cloning)\n* Any custom type you want to send across window- or worker boundraries\n\nThis preset will only include the Error types and you can register your\ncustom types after having registered these.\n*/\n\nimport error from '../types/error.js';\nimport errors from '../types/errors.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst postmessage = [\n error,\n errors\n];\n\nexport default postmessage;\n","import builtin from './builtin.js';\nimport typedArraysSocketIO from '../types/typed-arrays-socketio.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst socketio = [\n builtin,\n // Leave ArrayBuffer as is, and let socket.io stream it instead.\n {arraybuffer: null},\n // Encapsulate TypedArrays in ArrayBuffers instead of base64 strings.\n typedArraysSocketIO\n];\n\nexport default socketio;\n","/**\n * @type {import('typeson').Preset}\n */\nconst sparseUndefined = [\n {\n sparseArrays: {\n testPlainObjects: true,\n test (x) { return Array.isArray(x); },\n replace (a, stateObj) {\n stateObj.iterateUnsetNumeric = true;\n return a;\n }\n }\n },\n {\n sparseUndefined: {\n test (x, stateObj) {\n return typeof x === 'undefined' && stateObj.ownKeys === false;\n },\n replace (/* n */) { return 0; },\n revive (/* s */) { return undefined; } // Will avoid adding anything\n }\n }\n];\n\nexport default sparseUndefined;\n","/* This preset includes types for the Structured Cloning Algorithm. */\n\nimport userObject from '../types/user-object.js';\nimport arrayNonindexKeys from './array-nonindex-keys.js';\nimport undef from '../types/undef.js';\nimport primitiveObjects from '../types/primitive-objects.js';\nimport specialNumbers from './special-numbers.js';\nimport date from '../types/date.js';\nimport regexp from '../types/regexp.js';\nimport map from '../types/map.js';\nimport set from '../types/set.js';\nimport error from '../types/error.js';\nimport errors from '../types/errors.js';\nimport arraybuffer from '../types/arraybuffer.js';\nimport typedArrays from '../types/typed-arrays.js';\nimport dataview from '../types/dataview.js';\nimport domexception from '../types/domexception.js';\nimport domrect from '../types/domrect.js';\nimport dompoint from '../types/dompoint.js';\nimport domquad from '../types/domquad.js';\nimport dommatrix from '../types/dommatrix.js';\nimport audiodata from '../types/audiodata.js';\nimport encodedaudiochunk from '../types/encodedaudiochunk.js';\nimport encodedvideochunk from '../types/encodedvideochunk.js';\nimport videoframe from '../types/videoframe.js';\nimport quotaexceedederror from '../types/quotaexceedederror.js';\nimport webtransporterror from '../types/webtransporterror.js';\n\nimport imagedata from '../types/imagedata.js';\nimport imagebitmap from '../types/imagebitmap.js'; // Async return\nimport file from '../types/file.js';\nimport filelist from '../types/filelist.js';\nimport blob from '../types/blob.js';\nimport bigint from '../types/bigint.js';\nimport bigintObject from '../types/bigint-object.js';\n\nimport cryptokey from '../types/cryptokey.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst expObj = [\n // ES5\n userObject, // Processed last (non-builtin)\n\n undef,\n arrayNonindexKeys, primitiveObjects, specialNumbers,\n date, regexp,\n\n // Non-built-ins\n imagedata,\n imagebitmap, // Async return\n file,\n filelist,\n blob,\n error,\n errors\n].concat(\n // ES2015 (ES6)\n /* c8 ignore next */\n typeof Map === 'function' ? map : [],\n /* c8 ignore next */\n typeof Set === 'function' ? set : [],\n /* c8 ignore next */\n typeof ArrayBuffer === 'function' ? arraybuffer : [],\n /* c8 ignore next */\n typeof Uint8Array === 'function' ? typedArrays : [],\n /* c8 ignore next */\n typeof DataView === 'function' ? dataview : [],\n /* c8 ignore next */\n typeof crypto !== 'undefined' ? cryptokey : [],\n /* c8 ignore next */\n typeof BigInt !== 'undefined' ? [bigint, bigintObject] : [],\n /* c8 ignore next */\n typeof DOMException !== 'undefined' ? domexception : [],\n /* c8 ignore next */\n typeof QuotaExceededError !== 'undefined' ? quotaexceedederror : [],\n /* c8 ignore next */\n typeof WebTransportError !== 'undefined' ? webtransporterror : [],\n /* c8 ignore next */\n typeof DOMRect !== 'undefined' ? domrect : [],\n /* c8 ignore next */\n typeof DOMPoint !== 'undefined' ? dompoint : [],\n /* c8 ignore next */\n typeof DOMQuad !== 'undefined' ? domquad : [],\n /* c8 ignore next */\n typeof DOMMatrix !== 'undefined' ? dommatrix : [],\n /* c8 ignore next */\n typeof AudioData !== 'undefined' ? audiodata : [],\n /* c8 ignore next */\n typeof EncodedAudioChunk !== 'undefined' ? encodedaudiochunk : [],\n /* c8 ignore next */\n typeof EncodedVideoChunk !== 'undefined' ? encodedvideochunk : [],\n /* c8 ignore next */\n typeof VideoFrame !== 'undefined' ? videoframe : []\n);\nexport default expObj;\n","import structuredCloning from './structured-cloning.js';\n\n/**\n * @param {BufferSource} buffer\n * @returns {boolean}\n */\nfunction isBufferDetached (buffer) {\n // Use the standard property if available\n // @ts-expect-error - More recent API\n if (typeof buffer.detached === 'boolean') {\n // @ts-expect-error - More recent API\n return buffer.detached;\n }\n /* c8 ignore next 14 -- Older browsers */\n\n // Fallback check via byteLength and constructor test\n if (buffer.byteLength !== 0) {\n return false;\n }\n\n try {\n // @ts-expect-error Ok\n // eslint-disable-next-line no-new -- Throwaway\n new Uint8Array(buffer);\n return false;\n } catch {\n return true;\n }\n}\n\n/**\n * @type {import('typeson').Preset}\n */\nconst structuredCloningThrowing = structuredCloning.concat({\n checkDataCloneException: {\n test (val) {\n // Should also throw with:\n // 1. `IsCallable` (covered by `typeof === 'function'` or a\n // function's `toStringTag`)\n // 2. internal slots besides [[Prototype]] or [[Extensible]] (e.g.,\n // [[PromiseState]] or [[WeakMapData]])\n // 3. exotic object (e.g., `Proxy`) (unless an `%ObjectPrototype%`\n // intrinsic object) (which does not have default\n // behavior for one or more of the essential internal methods\n // that are limited to the following for non-function objects\n // (we auto-exclude functions):\n // [[GetPrototypeOf]],[[SetPrototypeOf]],[[IsExtensible]],\n // [[PreventExtensions]],[[GetOwnProperty]],\n // [[DefineOwnProperty]],[[HasProperty]],\n // [[Get]],[[Set]],[[Delete]],[[OwnPropertyKeys]]);\n // except for the standard, built-in exotic objects, we'd need\n // to know whether these methods had distinct behaviors\n // Note: There is no apparent way for us to detect a `Proxy` and\n // reject (Chrome at least is not rejecting anyways)\n const stringTag = ({}.toString.call(val).slice(8, -1));\n if (\n [\n // Symbol's `toStringTag` is only \"Symbol\" for its initial\n // value, so we check `typeof`\n 'symbol',\n // All functions including bound function exotic objects\n 'function'\n ].includes(typeof val) ||\n [\n // A non-array exotic object\n 'Arguments',\n // A non-array exotic object\n 'Module',\n // Promise instances have an extra slot ([[PromiseState]])\n // but not throwing in Chrome `postMessage`\n 'Promise',\n // WeakMap instances have an extra slot ([[WeakMapData]])\n // but not throwing in Chrome `postMessage`\n 'WeakMap',\n // WeakSet instances have an extra slot ([[WeakSetData]])\n // but not throwing in Chrome `postMessage`\n 'WeakSet',\n\n // HTML-SPECIFIC\n 'Event',\n // Also in Node `worker_threads` (currently experimental)\n 'MessageChannel',\n 'MessagePort'\n ].includes(stringTag) ||\n // Node's native `worker_threads` `MessageChannel`/\n // `MessagePort` don't set `Symbol.toStringTag` per\n // https://github.com/nodejs/node/issues/65527\n // (verified directly:\n // `{}.toString.call(new MessageChannel())` is\n // `\"[object Object]\"`, and `.port1`'s is\n // `\"[object EventTarget]\"`, its own base class), so the\n // `stringTag` check above can't catch them there; a real\n // browser's `MessagePort`/`MessageChannel` already match\n // via `stringTag` (or, for `MessagePort`, would need its\n // own `stringTag` entry if ever seen failing to match) --\n // this is purely a fallback for environments (like Node)\n // that don't set the tag.\n (val && val.constructor && [\n 'MessageChannel', 'MessagePort'\n ].includes(val.constructor.name)) ||\n // 1. `IsDetachedBuffer` (a process not called within the\n // ECMAScript spec)\n ([\n 'ArrayBuffer',\n 'DataView',\n 'Int8Array',\n 'Uint8Array',\n 'Uint8ClampedArray',\n 'Int16Array',\n 'Uint16Array',\n 'Int32Array',\n 'Uint32Array',\n 'Float32Array',\n 'Float64Array',\n 'BigInt64Array',\n 'BigUint64Array'\n ].includes(stringTag) && isBufferDetached(val)) ||\n /*\n // isClosed is no longer documented\n ((stringTag === 'Blob' || stringTag === 'File') &&\n val.isClosed) ||\n */\n (val && typeof val === 'object' &&\n // Duck-type DOM node objects (non-array exotic?\n // objects which cannot be cloned by the SCA)\n typeof val.nodeType === 'number' &&\n typeof val.insertBefore === 'function')\n ) {\n throw new DOMException(\n 'The object cannot be cloned.', 'DataCloneError'\n );\n }\n return false;\n }\n }\n});\n\nexport default structuredCloningThrowing;\n","import sparseUndefined from './sparse-undefined.js';\nimport undf from '../types/undef.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst undef = [\n sparseUndefined,\n undf\n];\n\nexport default undef;\n","import builtin from './builtin.js';\n\n/**\n * @type {import('typeson').Preset}\n */\nconst universal = [\n builtin\n // TODO: Add types that are de-facto universal even though not\n // built-in into ecmasript standard.\n];\n\nexport default universal;\n"],"names":["i","create","undef","expObj","builtin","structuredCloning","undf"],"mappings":"AAAA,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,GAAG,CAAC,CAAC,WAAW,EAAE,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,GAAG,CAAC,CAAC,WAAW,EAAE,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,GAAG,CAAC,CAAC,WAAW,EAAE,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAM,MAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,OAAM,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACtqG;AACA;AACA;AACA;AACA,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,UAAU,CAAC,IAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,EAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAM,GAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,IAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,IAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,OAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,OAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,GAAG,CAAC,IAAE,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAE,CAAC,GAAG,CAAC,IAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAE,CAAC,GAAG,CAAC,IAAE,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAE,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAE,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,sEAAsE,CAAC,CAAC,GAAGA,GAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,OAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,CAAM,MAACA,GAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ;;ACLr7U;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAK,GAAG,kEAAkE;;AAE9E;AACA,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;AAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,EAAE,MAAM,sBAAsB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,SAAS,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE;AAC7D,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AAC7C,IAAI,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;AACnC,EAAE;;AAEF,EAAE,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,EAAgB,CAAC;AACzD;AACA,EAAE,KAAK,CAAC;AACR,EAAE,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;AACxB,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE;AACtC,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACnC,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9D,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACnE,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACvC,EAAE;AACF,EAAE,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;AACrB,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;AACtC,EAAE,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI;AACvC,EAAE;AACF,EAAE,OAAO,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;AAC9C,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM;AACzB,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AACf,IAAI,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;AAC/D,EAAE;AACF,EAAE,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI;AACzC,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,EAAE,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;AAC5C,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;AACzC,IAAI,YAAY,EAAE;AAClB,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;AAC3C,MAAM,YAAY,EAAE;AACpB,IAAI;AACJ,EAAE;;AAEF;AACA,EAAE,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC;AAC1D,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC;AACvC,EAAE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE;AACzC;AACA;AACA,IAAI,QAAQ,GAAG,MAAM,sBAAsB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACnE,IAAI,QAAQ,GAAG,MAAM,sBAAsB,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvE,IAAI,QAAQ,GAAG,MAAM,sBAAsB,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvE,IAAI,QAAQ,GAAG,MAAM,sBAAsB,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC;AAC9C,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,KAAK,CAAC,GAAG,QAAQ,IAAI,CAAC;AACrD,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE;AACpD,EAAE;AACF,EAAE,OAAO,WAAW;AACpB,CAAC;;ACpFD;AACA;AACA;AACK,MAAC,WAAW,GAAG;AACpB,IAAI,WAAW,EAAE;AACjB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC;AAC7D,QAAQ,OAAO,CAAC;AAChB,YAAY,CAAC;AACb;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,YAAY,IAAI,KAAK,KAAK,EAAE,EAAE;AAC9B,gBAAgB,OAAO,CAAC,KAAK,CAAC;AAC9B,YAAY;AACZ,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,YAAY,OAAO;AACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5B,gBAAgB,aAAa,EAAE,CAAC,CAAC,aAAa;AAC9C,gBAAgB,SAAS,EAAE,CAAC,CAAC;AAC7B,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC;AACf,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;AAC7C,gBAAgB,OAAO,QAAQ,CAAC,OAAO;AACvC;AACA;AACA;AACA,oBAAoB,CAAC,GAAG,EAAE;AAC1B,iBAAiB;AACjB,YAAY;AACZ,YAAY,MAAM,MAAM,GAAG,MAAM;AACjC,uCAAuC,GAAG,CAAC,CAAC;AAC5C,gBAAgB,GAAG,CAAC;AACpB,sBAAsB,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa;AACvD,sBAAsB;AACtB,aAAa;AACb,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACzC,YAAY,OAAO,MAAM;AACzB,QAAQ;AACR;AACA;;AAIA;;AChEA;;AAGA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW;AACjD,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,SAAS,EAAE;AAC5B,YAAY,MAAM;AAClB,gBAAgB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB;AACpE,gBAAgB;AAChB,aAAa,GAAG,SAAS;;AAEzB;AACA,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;AACvD,YAAY,MAAM,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,CAAC;;AAE7D;AACA;AACA,YAAY,MAAM,UAAU,GAAG,EAAE;AACjC,YAAY,IAAI,SAAS,GAAG,CAAC;AAC7B,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAgB,MAAM,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACtE,gBAAgB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AACrC,gBAAgB,SAAS,IAAI,IAAI;AACjC,YAAY;;AAEZ;AACA,YAAY,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC;AACnD,YAAY,IAAI,MAAM,GAAG,CAAC;AAC1B,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAgB,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAC7E,gBAAgB,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC5D,gBAAgB,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC;AACvC,YAAY;;AAEZ;AACA,YAAY,OAAO;AACnB,gBAAgB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB;AACpE,gBAAgB,SAAS;AACzB,gBAAgB;AAChB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC;AAChB,YAAY,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB;AAChE,YAAY,SAAS,EAAE;AACvB,SAAS,EAAE;AACX,YAAY,OAAO,IAAI,SAAS,CAAC;AACjC,gBAAgB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB;AACpE,gBAAgB,SAAS;AACzB,gBAAgB,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI;AACzC,aAAa,CAAC;AACd,QAAQ;AACR;AACA;;ACxDA;AACA;AACA;AACK,MAAC,YAAY,GAAG;AACrB,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC;AACvE,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,IAAI,MAAM,CAAC,MAAM,wBAAwB,CAAC,EAAE,CAAC;AAChE,QAAQ;AACR;AACA;;ACfA;AACA;AACA;AACK,MAAC,MAAM,GAAG;AACf,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,OAAO,CAAC,KAAK,QAAQ;AACxC,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,MAAM;AACvB;AACA;AACA,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,MAAM,wBAAwB,CAAC,EAAE;AACpD,QAAQ;AACR;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,EAAE,GAAG,EAAE;AAClC,IAAI,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM;AACrC,QAAQ,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;AACrD,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,EAAE,GAAG,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC;AACA;AACA,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrC,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,MAAM;AACvB;;ACtEA;;AAMA;AACA;AACA;AACK,MAAC,IAAI,GAAG;AACb,IAAI,IAAI,EAAE;AACV,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE;AAC5C,YAAY,GAAG,CAAC,gBAAgB,CAAC,oCAAoC,CAAC;AACtE,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC3D,YAAY,GAAG,CAAC,IAAI,EAAE;;AAEtB;AACA;AACA,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AACxD,gBAAgB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;AACjE,YAAY;AACZ,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI;AAC5B,gBAAgB,cAAc,EAAE,GAAG,CAAC;AACpC,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM;AAClB,gBAAgB,IAAI,EAAE;AACtB,aAAa,0DAA0D,GAAG,CAAC;AAC3E,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACzE,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE;AACzB,YAAY,OAAO,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/C,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM;AACtD,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI;AACpC,wBAAwB,cAAc,EAAE,kBAAkB;AAC1D,wDAAwD,MAAM,CAAC,MAAM;AACrE;AACA,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,CAAC;AAClB;AACA;AACA,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;AACvD,oBAAoB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AACxC,gBAAgB,CAAC,CAAC;AAClB;AACA;AACA,gBAAgB,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC3C,YAAY,CAAC,CAAC;AACd,QAAQ;AACR;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,YAAY,IAAI;AACxC;AACA,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;;AAEtB,IAAI,OAAO,sCAAsC,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;AACpF;AACA,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7D,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9B,QAAQ,OAAO,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC/D;AACA,IAAI,CAAC,CAAC;AACN;;AChBA;AACA;AACA;AACA,MAAM,sBAAsB,GAAG,EAAE;;AAEjC;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;AAC7C,gBAAgB,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,UAAU;AACvE,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,QAAQ,EAAE;AAC3B,YAAY,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE;AAC3E,YAAY,MAAM,IAAI,GAAG,YAAY,EAAE;AACvC,YAAY,sBAAsB,CAAC,IAAI,CAAC,GAAG,QAAQ;AACnD,YAAY,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;AACvC,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM;AAClB,gBAAgB,IAAI,EAAE;AACtB,aAAa,qDAAqD,GAAG,CAAC;;AAEtE,YAAY,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC1E,gBAAgB;AAChB,aAAa;AACb,QAAQ;AACR;AACA;;AC9BA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,WAAW;AAClE,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC;AACrB;AACA,YAAY;AACZ,UAAU;AACV,YAAY,OAAO,IAAI,cAAc,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AACjE;AACA,gBAAgB,IAAI,GAAG;AACvB,gBAAgB,IAAI;AACpB,oBAAoB,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;AACnE;AACA;AACA,gBAAgB,CAAC,CAAC,OAAO,GAAG,EAAE;AAC9B,oBAAoB,MAAM,CAAC,GAAG,CAAC;AAC/B,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB,OAAO,CAAC;AACxB,oBAAoB,GAAG;AACvB,oBAAoB,SAAS,EAAE,GAAG,CAAC,SAAS;AAC5C,oBAAoB,MAAM,EAAE,GAAG,CAAC;AAChC,iBAAiB,CAAC;AAClB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM;AAClB,gBAAgB,GAAG,EAAE,SAAS,EAAE;AAChC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB,GAAG,CAAC;;AAEzB,YAAY,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS;AAC1C,gBAAgB,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;AAC7C,aAAa;AACb,QAAQ;AACR;AACA;;AC7CA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;AACjB,IAAI,QAAQ,EAAE;AACd,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;AAC1D,QAAQ,OAAO,CAAC;AAChB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;AAC1D,YAAY,IAAI,KAAK,KAAK,EAAE,EAAE;AAC9B,gBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC;AACtD,YAAY;AACZ,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACzC,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;AACvC,gBAAgB,aAAa,EAAE,MAAM,CAAC,aAAa;AACnD,gBAAgB,SAAS,EAAE,MAAM,CAAC,SAAS;AAC3C,gBAAgB,UAAU;AAC1B,gBAAgB;AAChB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC;AACf,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM;AAClB,gBAAgB,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa;AACrE,gBAAgB;AAChB,aAAa,GAAG,MAAM;AACtB,YAAY,IAAI,MAAM;AACtB,YAAY,IAAI,OAAO,IAAI,MAAM,EAAE;AACnC,gBAAgB,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAChD,YAAY,CAAC,MAAM;AACnB,gBAAgB,MAAM,GAAG,MAAM;AAC/B,oBAAoB,OAAO;AAC3B,oBAAoB;AACpB,0BAA0B,CAAC,aAAa;AACxC,0BAA0B;AAC1B,iBAAiB;AACjB,gBAAgB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,YAAY;AACZ,YAAY,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;AAC/D,QAAQ;AACR;AACA;;AC/DA;AACA;AACA;AACK,MAAC,IAAI,GAAG;AACb,IAAI,IAAI,EAAE;AACV,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;AACrC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACpC,gBAAgB,OAAO,KAAK;AAC5B,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,IAAI,EAAE;AACtB,YAAY,IAAI,IAAI,KAAK,KAAK,EAAE;AAChC,gBAAgB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC;AACpC,YAAY;AACZ,YAAY,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;AACjC,QAAQ;AACR;AACA;;ACpBA;AACA;AACA;AACK,MAAC,YAAY,GAAG;AACrB,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC;AAC9D,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA;AACA,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,EAAE,CAAC,IAAI;AAC7B,gBAAgB,OAAO,EAAE,EAAE,CAAC;AAC5B,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;AACjC,YAAY,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC;AAClD,QAAQ;AACR;AACA;;ACpBA;;AAGA;AACA;AACA;AACK,MAAC,SAAS,GAAG;;AAElB;AACA,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;AACtC,IAAIC,QAAM,CAAC,SAAS,CAAC;AACrB;AACA;AACA,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE;AAC9C,IAAIA,QAAM,CAAC,iBAAiB,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,IAAI,EAAE;AACvB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;AACzC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,IAAI,EAAE,CAAC,IAAI,EAAE;AACzB,gBAAgB,OAAO;AACvB,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,oBAAoB,CAAC,EAAE,EAAE,CAAC;AAC1B,iBAAiB;AACjB,YAAY;AACZ,YAAY,OAAO;AACnB,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC,GAAG;AAC3B,gBAAgB,GAAG,EAAE,EAAE,CAAC;AACxB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AACvC,gBAAgB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,YAAY;AACZ,YAAY,OAAO,IAAI,IAAI,CAAC;AAC5B,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;AAC1C,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;AAC1C,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;AAC1C,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACvC,aAAa,CAAC;AACd,QAAQ;AACR,KAAK;AACL;;AClEA;;AAGA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;;AAEjB;AACA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACrC,IAAIA,QAAM,CAAC,QAAQ,CAAC;AACpB;AACA;AACA,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;AAC7C,IAAIA,QAAM,CAAC,gBAAgB,CAAC;AAC5B;;AAEA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,IAAI,EAAE;AACvB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;AACxC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO;AACnB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC;AACtB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC9B,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,QAAQ;AACR,KAAK;AACL;;ACpCA;;AAGA;AACA;AACA;AACK,MAAC,OAAO,GAAG;AAChB,IAAI,OAAO,EAAE;AACb,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;AACzD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO;AACnB,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE;AACzB,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE;AACzB,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE;AACzB,gBAAgB,EAAE,EAAE,EAAE,CAAC;AACvB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;AAClC,YAAY,OAAO,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC9C,QAAQ;AACR;AACA;;ACrBA;;AAGA;AACA;AACA;AACK,MAAC,OAAO,GAAG;;AAEhB;AACA,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;AACpC,IAAIA,QAAM,CAAC,OAAO,CAAC;AACnB;AACA;AACA,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;AAC5C,IAAIA,QAAM,CAAC,eAAe,CAAC;AAC3B;;AAEA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;AACvC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO;AACnB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,gBAAgB,KAAK,EAAE,EAAE,CAAC,KAAK;AAC/B,gBAAgB,MAAM,EAAE,EAAE,CAAC;AAC3B,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;AACvC,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;AAChD,QAAQ;AACR,KAAK;AACL;;ACpCA;;AAGA;AACA;AACA;AACK,MAAC,iBAAiB,GAAG;AAC1B,IAAI,iBAAiB,EAAE;AACvB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,mBAAmB;AACzD,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,KAAK,EAAE;AACxB,YAAY,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,KAAK;AACjE,YAAY,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC;AACpD,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC9B,YAAY,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC;AACpD,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;AACnD,YAAY,OAAO,IAAI,iBAAiB,CAAC;AACzC,gBAAgB,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI;AACpE,aAAa,CAAC;AACd,QAAQ;AACR;AACA;;ACvBA;;AAGA;AACA;AACA;AACK,MAAC,iBAAiB,GAAG;AAC1B,IAAI,iBAAiB,EAAE;AACvB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,mBAAmB;AACzD,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,KAAK,EAAE;AACxB,YAAY,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,KAAK;AACjE,YAAY,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC;AACpD,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC9B,YAAY,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC;AACpD,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;AACnD,YAAY,OAAO,IAAI,iBAAiB,CAAC;AACzC,gBAAgB,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI;AACpE,aAAa,CAAC;AACd,QAAQ;AACR;AACA;;ACrBA;AACA;AACA;AACK,MAAC,KAAK,GAAG;AACd,IAAI,KAAK,EAAE;AACX,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;AACvD,QAAQ,OAAO,CAAC,CAAC;AACjB,YAAY,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC/D,SAAS,EAAE;AACX,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE;AACnE,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM,CAAC;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD;AACA,YAAY,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;AAC7B,YAAY,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;AAC/B,YAAY,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;AAC/B;AACA,YAAY,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ;AACrC,YAAY,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU;AACzC,YAAY,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY;;AAE7C,YAAY,OAAO,CAAC;AACpB,QAAQ;AACR;AACA;;ACtCA;;AAGA;AACA;AACA;AACK,MAAC,MAAM,GAAG;;AAEf;AACA;AACA;AACA,IAAI,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc;AACtD,IAAI,SAAS,EAAE;AACf,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAKA,QAAM,CAAC,KAAK,CAAC,CAAC;;AAEnC;AACA,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AAC3C,IAAIA,QAAM,CAAC,cAAc,CAAC;AAC1B;;AAEA;AACA;AACA,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;AACzC;AACA,IAAIA,QAAM,CAAC,aAAa,CAAC;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,IAAI,EAAE;AACvB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG;AACtC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,CAAC,CAAC;AACjB,YAAY,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ;AACjD,YAAY,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;AAC9C,SAAS,EAAE;AACX,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ;AACrD,gBAAgB,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;AAClD,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM,gBAAgB,GAAG,OAAO,cAAc,KAAK,WAAW;AAC1E,gBAAgB,IAAI,KAAK,cAAc;AACvC,YAAY,MAAM,CAAC;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,sBAAsB;AACtB,wBAAwB;AACxB,sBAAsB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO;AAC7C,sBAAsB;AACtB;AACA;AACA;AACA;AACA,+BAA+B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;;AAElD,YAAY,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;AAC7B,YAAY,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;AAC/B,YAAY,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;AAC/B,YAAY,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ;AACrC,YAAY,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU;AACzC,YAAY,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY;;AAE7C,YAAY,OAAO,CAAC;AACpB,QAAQ;AACR,KAAK;AACL;;ACzFA;;AAMA;AACA;AACA;AACK,MAAC,IAAI,GAAG;AACb,IAAI,IAAI,EAAE;AACV,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE;AAC5C,YAAY,GAAG,CAAC,gBAAgB,CAAC,oCAAoC,CAAC;AACtE,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC3D,YAAY,GAAG,CAAC,IAAI,EAAE;;AAEtB;AACA;AACA,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AACxD,gBAAgB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;AACjE,YAAY;AACZ,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI;AAC5B,gBAAgB,cAAc,EAAE,GAAG,CAAC,YAAY;AAChD,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI;AAC5B,gBAAgB,YAAY,EAAE,CAAC,CAAC;AAChC,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE;AAC5D,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE;AACxE,gBAAgB,IAAI;AACpB,gBAAgB;AAChB,aAAa,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE;AACzB,YAAY,OAAO,IAAI,cAAc,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/C,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;AAC5D,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI;AACpC,wBAAwB,cAAc,EAAE,kBAAkB;AAC1D,wDAAwD,MAAM,CAAC,MAAM;AACrE,yBAAyB;AACzB,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI;AACpC,wBAAwB,YAAY,EAAE,CAAC,CAAC;AACxC,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,CAAC;AAClB;AACA;AACA,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY;AAC7D,oBAAoB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AACxC,gBAAgB,CAAC,CAAC;AAClB;AACA;AACA,gBAAgB,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC3C,YAAY,CAAC,CAAC;AACd,QAAQ;AACR;AACA;;AC/DA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;AACjB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,QAAQ,EAAE;AACd,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;AAC1D,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,MAAM,GAAG,GAAG,EAAE;AAC1B,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAgB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,YAAY;AACZ,YAAY,OAAO,GAAG;AACtB,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB;AACA;AACA;AACA,YAAY,MAAM,QAAQ,CAAC;AAC3B;AACA;AACA;AACA,gBAAgB,WAAW,CAAC,GAAG;AAC/B;AACA,oBAAoB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAC9C,oBAAoB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACpD,gBAAgB;AAChB;AACA;AACA;AACA;AACA,gBAAgB,IAAI,CAAC,CAAC,KAAK,EAAE;AAC7B,oBAAoB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7C,gBAAgB;AAChB;AACA;AACA;AACA;AACA,gBAAgB,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG;AAC5C;AACA,oBAAoB,OAAO,UAAU;AACrC,gBAAgB;AAChB;;AAEA;AACA,YAAY,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC;AAClC,QAAQ;AACR;AACA;;ACnDA;AACA;AACA;;;AAIA;AACA;AACA;AACK,MAAC,WAAW,GAAG;AACpB,IAAI,WAAW,EAAE;AACjB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,aAAa;AACnD;AACA;AACA,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,aAAa,CAAC;AAC3E,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC3D,YAAY,MAAM,GAAG;AACrB,gBAAgB,MAAM,CAAC,UAAU,CAAC,IAAI;AACtC,aAAa;AACb,YAAY,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS;AAC7E,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,MAAM,MAAM,GAAG,OAAO,eAAe,KAAK;AACtD,kBAAkB,QAAQ,CAAC,aAAa,CAAC,QAAQ;AACjD;AACA,kBAAkB,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM,GAAG;AACrB,gBAAgB,MAAM,CAAC,UAAU,CAAC,IAAI;AACtC,aAAa;AACb,YAAY,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACrD;AACA,YAAY,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;AACrD,gBAAgB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACxC,YAAY,CAAC,CAAC;AACd,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO;AAC/B;AACA;AACA,YAAY,OAAO,OAAO,eAAe,KAAK;AAC9C,kBAAkB;AAClB;AACA,iDAAiD;AACjD,oBAAoB;AACpB,kBAAkB,qBAAqB,EAAE;AACzC,QAAQ,CAAC;AACT,QAAQ,WAAW,CAAC,CAAC,CAAC,EAAE;AACxB,YAAY,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC3D,YAAY,MAAM,GAAG;AACrB,gBAAgB,MAAM,CAAC,UAAU,CAAC,IAAI;AACtC,aAAa;AACb,YAAY,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACrD;AACA,YAAY,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;AACrD,gBAAgB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACxC,YAAY,CAAC,CAAC;AACd,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO;;AAE/B,YAAY,OAAO,IAAI,cAAc,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AACjE,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC;AAChE,oBAAoB,OAAO,CAAC,IAAI,CAAC;AACjC;AACA,gBAAgB,CAAC,CAAC,OAAO,GAAG,EAAE;AAC9B,oBAAoB,MAAM,CAAC,GAAG,CAAC;AAC/B,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ;AACR;AACA;;AClFA;AACA;AACA;;;AAIA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;AAC3D,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,OAAO;AACnB;AACA,gBAAgB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAClC,gBAAgB,KAAK,EAAE,CAAC,CAAC,KAAK;AAC9B,gBAAgB,MAAM,EAAE,CAAC,CAAC;AAC1B,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,IAAI,SAAS;AAChC,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3D,aAAa;AACb,QAAQ;AACR;AACA;;AC1BA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;AACjB,IAAI,QAAQ,EAAE;AACd,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AAC3C,QAAQ,OAAO,CAAC,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC;AAChD,QAAQ,MAAM,CAAC,UAAU,EAAE,OAAO,QAAQ,CAAC,CAAC;AAC5C;AACA;;ACPA;AACA;AACA;AACA,MAAM,YAAY,GAAG;AACrB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3D,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC;;AAED;AACA;AACA;AACA,MAAM,kBAAkB,GAAG;AAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACjE,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AACnD,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE;AACrB,QAAQ,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;AAC/D,IAAI;AACJ,CAAC;;AAED;AACA;AACA;AACA,MAAM,gBAAgB,GAAG;AACzB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AACjD,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;;AAEI,MAAC,SAAS,GAAG;AAClB,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,IAAI;AACJ;;ACjCA;AACA;AACA;AACK,MAAC,GAAG,GAAG;AACZ,IAAI,GAAG,EAAE;AACT,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;AACrD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACvD,QAAQ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD;AACA;;ACXA;AACA;AACA;AACK,MAAC,GAAG,GAAG;AACZ,IAAI,GAAG,EAAE;AACT,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,QAAQ,OAAO,CAAC,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC;AAC3C,QAAQ,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC,CAAC;AACvC;AACA;;ACTA;AACA;AACA;AACK,MAAC,gBAAgB,GAAG;AACzB,IAAI,gBAAgB,EAAE;AACtB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5C,QAAQ,OAAO,CAAC,UAAU,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC;AACjD,QAAQ,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7C;AACA;;ACTA;AACA;AACA;AACK,MAAC,YAAY,GAAG;AACrB,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACnC,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,UAAU;AAC1B;AACA,YAAY,OAAO,CAAC;AACpB,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,UAAU;AACzB,YAAY,OAAO,EAAE;AACrB,QAAQ;AACR;AACA;;ACdA;AACA;AACA;AACK,MAAC,gBAAgB,GAAG;AACzB,IAAI,gBAAgB,EAAE;AACtB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,gBAAgB,SAAS,EAAE,QAAQ,EAAE,QAAQ;AAC7C,gBAAgB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;AACjD,gBAAgB,KAAK,EAAE,KAAK;AAC5B,gBAAgB,MAAM;AACtB,gBAAgB,aAAa,EAAE,mBAAmB,EAAE,UAAU;AAC9D,gBAAgB,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY;AAC5E,gBAAgB,aAAa,EAAE,YAAY,EAAE,aAAa;AAC1D,gBAAgB,cAAc,EAAE,cAAc;AAC9C,gBAAgB,SAAS;AACzB,gBAAgB,iBAAiB,EAAE,gBAAgB;AACnD,gBAAgB,cAAc,EAAE,cAAc;AAC9C,gBAAgB,SAAS,EAAE,SAAS;AACpC,gBAAgB,SAAS,EAAE;AAC3B,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACtC,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,aAAa;AAC7B;AACA,QAAQ;AACR;AACA;;AChCA;AACA;AACA;;AAGA;AACA;AACA;AACK,MAAC,gBAAgB,GAAG;AACzB;AACA,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;AACvE,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,KAAK;AACL;AACA,IAAI,aAAa,EAAE;AACnB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS;AAC/C,gBAAgB,OAAO,CAAC,KAAK,QAAQ;AACrC,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB;AACA,YAAY,OAAO,CAAC,CAAC,OAAO,EAAE;AAC9B,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB;AACA,YAAY,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC;AACjC,QAAQ;AACR,KAAK;AACL;AACA,IAAI,YAAY,EAAE;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;AACvE,QAAQ,CAAC;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE;AACjC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACjC,gBAAgB,OAAO,KAAK;AAC5B,YAAY;AACZ,YAAY,IAAI,CAAC,KAAK,QAAQ,EAAE;AAChC,gBAAgB,OAAO,UAAU;AACjC,YAAY;AACZ,YAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACjC,gBAAgB,OAAO,WAAW;AAClC,YAAY;AACZ,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;AAClC;AACA;AACA;AACA;AACA,gBAAgB,OAAO,IAAI;AAC3B,YAAY;AACZ,YAAY,OAAO,CAAC;AACpB,QAAQ,CAAC;AACT;AACA,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,IAAI,CAAC,KAAK,KAAK,EAAE;AAC7B,gBAAgB,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;AACtC,YAAY;AACZ,YAAY,IAAI,CAAC,KAAK,UAAU,EAAE;AAClC,gBAAgB,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC;AAC3C,YAAY;AACZ,YAAY,IAAI,CAAC,KAAK,WAAW,EAAE;AACnC,gBAAgB,OAAO,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC;AAC5C,YAAY;AACZ,YAAY,IAAI,CAAC,KAAK,IAAI,EAAE;AAC5B,gBAAgB,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC;AACrC,YAAY;AACZ,YAAY,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;AAChC,QAAQ;AACR;AACA;;ACjFA;AACA;AACA;AACK,MAAC,OAAO,GAAG;AAChB,IAAI,OAAO,EAAE;AACb,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS;AAC/C,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC,CAAC,IAAI,EAAE;AAC5B,YAAY,OAAO,IAAI,cAAc,CAAC,OAAO,OAAO,KAAK;AACzD,gBAAgB,IAAI;AACpB,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB,KAAK,EAAE,MAAM;AACrC,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,CAAC,OAAO,KAAK,EAAE;AAChC,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB;AACxB,qBAAqB,CAAC;AACtB,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,CAAC,CAAC;AACrB,kBAAkB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;AACxC,kBAAkB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,QAAQ;AACR;AACA;;AC3BA;AACA;AACA;AACK,MAAC,kBAAkB,GAAG;AAC3B,IAAI,kBAAkB,EAAE;AACxB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC;AACpE,QAAQ,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE;AAC9C,YAAY,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC;AAC9C,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE;AAC7C;AACA,YAAY,MAAM,OAAO,GAAG,EAAE;AAC9B,YAAY,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvD,gBAAgB,OAAO,CAAC,KAAK,GAAG,KAAK;AACrC,YAAY;AACZ,YAAY,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;AAC/D,gBAAgB,OAAO,CAAC,SAAS,GAAG,SAAS;AAC7C,YAAY;AACZ,YAAY,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;AAC3D,QAAQ;AACR;AACA;;ACrBA;AACA;AACA;AACK,MAAC,MAAM,GAAG;AACf,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC,CAAC,IAAI,EAAE;AACvB,YAAY,OAAO;AACnB,gBAAgB,MAAM,EAAE,IAAI,CAAC,MAAM;AACnC,gBAAgB,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE;AAC9C,qBAAqB,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC;AAChD,qBAAqB,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,EAAE,CAAC;AAC/C,qBAAqB,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;AAC5C,qBAAqB,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;AAC7C,qBAAqB,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,EAAE,CAAC;AACjD,qBAAqB,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC;AAChD,qBAAqB,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE;AAC3C,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE;AACA;;ACvBA;AACA;AACA;AACA;;;AAIA;AACA;AACA;AACA,MAAM,0BAA0B,GAAG,EAAE;;AAErC;AACA;AACA;AACK,MAAC,aAAa,GAAG;AACtB,IAAI,aAAa,EAAE;AACnB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,CAAC;AACpB,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACjC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnE,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,SAAS,EAAE;AAC5B,YAAY,MAAM,IAAI,GAAG,YAAY,EAAE;AACvC,YAAY,0BAA0B,CAAC,IAAI,CAAC,GAAG,SAAS;AACxD,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,uBAAuB,EAAE;AACzC,YAAY,OAAO,0BAA0B,CAAC,uBAAuB,CAAC;AACtE,QAAQ;AACR;AACA;;AC7BA;AACA;AACA;AACK,MAAC,GAAG,GAAG;AACZ,IAAI,GAAG,EAAE;AACT,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;AACrD,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB,YAAY,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;AACxC,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,MAAM,EAAE;AACxB,YAAY,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC;AAClC,QAAQ;AACR;AACA;;ACfA;AACA;AACA;AACK,MAAC,MAAM,GAAG;AACf,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,OAAO,CAAC,KAAK,QAAQ;AACxC,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,CAAC,GAAG,EAAE;AACtB,YAAY,OAAO;AACnB,gBAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;AACxD,gBAAgB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;AAC5C,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/D,QAAQ;AACR;AACA;;AChBA;;AAEA;AACA;AACA;AACK,MAAC,mBAAmB,GAAG;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAM,EAAE,UAAU,EAAE;AAC7B,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI;AACpC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG;AAClD,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAY,OAAO,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC;AACtC,gBAAgB,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC;AAC1C,kBAAkB;AAClB;AACA;AACA;AACA;AACA,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM;AACpC,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,GAAG,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK;AACxC,kBAAkB,IAAI,UAAU,CAAC,GAAG;AACpC,kBAAkB,GAAG;AACrB,QAAQ;AACR,KAAK;AACL;;AAEA,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;AACrC;AACA;;AAEA,IAAI;AACJ,QAAQ,SAAS;AACjB,QAAQ,UAAU;AAClB,QAAQ,iBAAiB;AACzB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,YAAY;AACpB,QAAQ,YAAY;AACpB,QAAQ,IAAI,OAAO,aAAa,KAAK;AACrC,cAAc,CAAC,aAAa,EAAE,cAAc;AAC5C;AACA,cAAc,EAAE,CAAC;AACjB,QAAQ,IAAI,OAAO,YAAY,KAAK;AACpC,cAAc,CAAC,YAAY;AAC3B;AACA,cAAc,EAAE;AAChB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,KAAKA,QAAM,CAAC,UAAU,CAAC,CAAC;AACjD;;ACnEA;AACA;AACA;AACK,MAAC,WAAW,GAAG;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,MAAM,EAAE,UAAU,EAAE;AAC7B,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI;;AAEpC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG;AAC1C,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC;AAChB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;AAC1D,YAAY,IAAI,KAAK,KAAK,EAAE,EAAE;AAC9B,gBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,YAAY;AACZ,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACzC,YAAY,OAAO;AACnB,gBAAgB,aAAa,EAAE,MAAM,CAAC,aAAa;AACnD,gBAAgB,SAAS,EAAE,MAAM,CAAC,SAAS;AAC3C,gBAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;AACvC,gBAAgB,UAAU;AAC1B,gBAAgB,MAAM,EAAE;AACxB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC;AACf,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,UAAU;AACV,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACnC,gBAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;AACrC,YAAY;AACZ,YAAY,MAAM;AAClB,gBAAgB,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa;AACtE,gBAAgB;AAChB,aAAa,GAAG,MAAM;AACtB,YAAY,IAAI,MAAM;AACtB,YAAY,IAAI,OAAO,IAAI,MAAM,EAAE;AACnC,gBAAgB,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAChD,YAAY,CAAC,MAAM;AACnB,gBAAgB,MAAM,GAAG,MAAM;AAC/B,oBAAoB,OAAO;AAC3B,oBAAoB;AACpB,0BAA0B,CAAC,aAAa;AACxC,0BAA0B;AAC1B,iBAAiB;AACjB,gBAAgB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,YAAY;;AAEZ,YAAY,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC;AAC1D,QAAQ;AACR,KAAK;AACL;;AAEA,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;AACrC;AACA;AACA,IAAI;AACJ,QAAQ,SAAS;AACjB,QAAQ,UAAU;AAClB,QAAQ,iBAAiB;AACzB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,YAAY;AACpB,QAAQ,YAAY;AACpB,QAAQ,IAAI,OAAO,aAAa,KAAK;AACrC,cAAc,CAAC,aAAa,EAAE,cAAc;AAC5C;AACA,cAAc,EAAE,CAAC;AACjB,QAAQ,IAAI,OAAO,YAAY,KAAK;AACpC,cAAc,CAAC,YAAY;AAC3B;AACA,cAAc,EAAE;AAChB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;AACjD;;AC7GA;AACA;;AAGA;AACA;AACA;AACK,MAACC,OAAK,GAAG;AACd,IAAI,KAAK,EAAE;AACX,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC3B,YAAY,OAAO,OAAO,CAAC,KAAK,WAAW;AAC3C,iBAAiB,QAAQ,CAAC,OAAO,IAAI,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAC;AAC9D,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACvC,QAAQ,MAAM,CAAC,UAAU;AACzB;AACA;AACA,YAAY,OAAO,IAAI,SAAS,EAAE;AAClC,QAAQ;AACR;AACA;;AClBA;AACA;AACA;AACK,MAAC,UAAU,GAAG;AACnB,IAAI,UAAU,EAAE;AAChB,QAAQ,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/B;AACA;;ACXA;;AAGA;AACA;AACA;AACK,MAAC,UAAU,GAAG;AACnB,IAAI,UAAU,EAAE;AAChB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,YAAY,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,YAAY;AAClD,QAAQ,CAAC;AACT,QAAQ,YAAY,CAAC,CAAC,KAAK,EAAE;AAC7B,YAAY,OAAO,IAAI,cAAc,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AACjE,gBAAgB,IAAI;AACpB,oBAAoB,MAAM;AAC1B,wBAAwB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;AAC5E,wBAAwB,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE;AAClE,qBAAqB,GAAG,KAAK;;AAE7B,oBAAoB,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;AACxE,oBAAoB,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;;AAE5C,oBAAoB,OAAO,CAAC;AAC5B,wBAAwB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;AAC5E,wBAAwB,WAAW,EAAE;AACrC,4BAA4B,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5C,4BAA4B,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5C,4BAA4B,KAAK,EAAE,WAAW,CAAC,KAAK;AACpD,4BAA4B,MAAM,EAAE,WAAW,CAAC;AAChD,yBAAyB;AACzB,wBAAwB,YAAY,EAAE,aAAa;AACnD,wBAAwB,UAAU,EAAE;AACpC,4BAA4B,SAAS,EAAE,UAAU,CAAC,SAAS;AAC3D,4BAA4B,QAAQ,EAAE,UAAU,CAAC,QAAQ;AACzD,4BAA4B,MAAM,EAAE,UAAU,CAAC,MAAM;AACrD,4BAA4B,SAAS,EAAE,UAAU,CAAC;AAClD,yBAAyB;AACzB,wBAAwB;AACxB,qBAAqB,CAAC;AACtB;AACA,gBAAgB,CAAC,CAAC,OAAO,GAAG,EAAE;AAC9B,oBAAoB,MAAM,CAAC,GAAG,CAAC;AAC/B,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC;AAChB,YAAY,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;AAChE,YAAY,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE;AAClE,SAAS,EAAE;AACX,YAAY,OAAO,IAAI,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACxD,gBAAgB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;AACpE,gBAAgB,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE;AAC1D,aAAa,CAAC;AACd,QAAQ;AACR;AACA;;ACvDA;;AAGA;AACA;AACA;AACK,MAAC,iBAAiB,GAAG;AAC1B,IAAI,iBAAiB,EAAE;AACvB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC;AACnE;AACA;AACA,QAAQ,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE;AAC7C,YAAY,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;AAC7C,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE;AAC5C;AACA;AACA;AACA;AACA,YAAY,OAAO,IAAI,iBAAiB,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACpE,QAAQ;AACR;AACA;;ACtBA;AACA;AACA;AACK,MAAC,iBAAiB,GAAG;AAC1B,IAAI;AACJ,QAAQ,iBAAiB,EAAE;AAC3B,YAAY,gBAAgB,EAAE,IAAI;AAClC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC/B,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACtC,oBAAoB;AACpB;AACA;AACA;AACA;AACA,wBAAwB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,wBAAwB,CAAC;AACzB,sBAAsB;AACtB,wBAAwB,QAAQ,CAAC,SAAS,GAAG,QAAQ;AACrD,wBAAwB,QAAQ,CAAC,SAAS,GAAG,IAAI;AACjD,oBAAoB;AACpB,oBAAoB,OAAO,IAAI;AAC/B,gBAAgB;AAChB,gBAAgB,OAAO,KAAK;AAC5B,YAAY,CAAC;AACb,YAAY,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAClC;AACA,gBAAgB,QAAQ,CAAC,mBAAmB,GAAG,IAAI;AACnD,gBAAgB,OAAO,CAAC;AACxB,YAAY,CAAC;AACb,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE;AACvB,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACtC,oBAAoB,OAAO,CAAC;AAC5B,gBAAgB;;AAEhB;AACA;AACA;AACA,gBAAgB,MAAM,GAAG,GAAG,EAAE;AAC9B;AACA;AACA,gBAAgB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK;AAC1D,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG;AAClC,gBAAgB,CAAC,CAAC;AAClB,gBAAgB,OAAO,GAAG;AAC1B,YAAY;AACZ;AACA,KAAK;AACL,IAAI;AACJ,QAAQ,eAAe,EAAE;AACzB,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC/B,gBAAgB,OAAO,OAAO,CAAC,KAAK,WAAW,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK;AAC7E,YAAY,CAAC;AACb,YAAY,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAY,MAAM,CAAC,UAAU,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC;AAClD;AACA;AACA;;AC3DA;AACA;AACA;AACK,MAAC,cAAc,GAAG;AACvB,IAAI,GAAG;AACP,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI;AACJ;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAmBA;AACA;AACA;AACK,MAACC,QAAM,GAAG;AACf,IAAID,OAAK;AACT;AACA,IAAI,iBAAiB,EAAE,gBAAgB,EAAE,cAAc;AACvD,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;AACzB,CAAC,CAAC,MAAM;AACR;AACA;AACA,IAAI,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,EAAE;AACxC;AACA,IAAI,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,EAAE;AACxC;AACA,IAAI,OAAO,WAAW,KAAK,UAAU,GAAG,WAAW,GAAG,EAAE;AACxD;AACA,IAAI,OAAO,UAAU,KAAK,UAAU,GAAG,WAAW,GAAG,EAAE;AACvD;AACA,IAAI,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,GAAG,EAAE;AAClD;AACA,IAAI,OAAO,IAAI,KAAK,WAAW,GAAG,SAAS,GAAG,EAAE;;AAEhD;AACA,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG;AAC7D;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAKA;AACA;AACA;AACK,MAAC,WAAW,GAAG;AACpB,IAAI,KAAK;AACT,IAAI;AACJ;;ACvBA;AACA;AACA;AACK,MAAC,QAAQ,GAAG;AACjB,IAAIE,QAAO;AACX;AACA,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;AACvB;AACA,IAAI;AACJ;;ACZA;AACA;AACA;AACK,MAAC,eAAe,GAAG;AACxB,IAAI;AACJ,QAAQ,YAAY,EAAE;AACtB,YAAY,gBAAgB,EAAE,IAAI;AAClC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,YAAY,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAClC,gBAAgB,QAAQ,CAAC,mBAAmB,GAAG,IAAI;AACnD,gBAAgB,OAAO,CAAC;AACxB,YAAY;AACZ;AACA,KAAK;AACL,IAAI;AACJ,QAAQ,eAAe,EAAE;AACzB,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AAC/B,gBAAgB,OAAO,OAAO,CAAC,KAAK,WAAW,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK;AAC7E,YAAY,CAAC;AACb,YAAY,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAY,MAAM,CAAC,UAAU,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC;AAClD;AACA;AACA;;ACvBA;;;AAsCA;AACA;AACA;AACK,MAAC,MAAM,GAAG;AACf;AACA,IAAI,UAAU;;AAEd,IAAIF,OAAK;AACT,IAAI,iBAAiB,EAAE,gBAAgB,EAAE,cAAc;AACvD,IAAI,IAAI,EAAE,MAAM;;AAEhB;AACA,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI;AACJ,CAAC,CAAC,MAAM;AACR;AACA;AACA,IAAI,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,EAAE;AACxC;AACA,IAAI,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,EAAE;AACxC;AACA,IAAI,OAAO,WAAW,KAAK,UAAU,GAAG,WAAW,GAAG,EAAE;AACxD;AACA,IAAI,OAAO,UAAU,KAAK,UAAU,GAAG,WAAW,GAAG,EAAE;AACvD;AACA,IAAI,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,GAAG,EAAE;AAClD;AACA,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,SAAS,GAAG,EAAE;AAClD;AACA,IAAI,OAAO,MAAM,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE;AAC/D;AACA,IAAI,OAAO,YAAY,KAAK,WAAW,GAAG,YAAY,GAAG,EAAE;AAC3D;AACA,IAAI,OAAO,kBAAkB,KAAK,WAAW,GAAG,kBAAkB,GAAG,EAAE;AACvE;AACA,IAAI,OAAO,iBAAiB,KAAK,WAAW,GAAG,iBAAiB,GAAG,EAAE;AACrE;AACA,IAAI,OAAO,OAAO,KAAK,WAAW,GAAG,OAAO,GAAG,EAAE;AACjD;AACA,IAAI,OAAO,QAAQ,KAAK,WAAW,GAAG,QAAQ,GAAG,EAAE;AACnD;AACA,IAAI,OAAO,OAAO,KAAK,WAAW,GAAG,OAAO,GAAG,EAAE;AACjD;AACA,IAAI,OAAO,SAAS,KAAK,WAAW,GAAG,SAAS,GAAG,EAAE;AACrD;AACA,IAAI,OAAO,SAAS,KAAK,WAAW,GAAG,SAAS,GAAG,EAAE;AACrD;AACA,IAAI,OAAO,iBAAiB,KAAK,WAAW,GAAG,iBAAiB,GAAG,EAAE;AACrE;AACA,IAAI,OAAO,iBAAiB,KAAK,WAAW,GAAG,iBAAiB,GAAG,EAAE;AACrE;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,GAAG,UAAU,GAAG;AACrD;;AC7FA;AACA;AACA;AACA;AACA,SAAS,gBAAgB,EAAE,MAAM,EAAE;AACnC;AACA;AACA,IAAI,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC9C;AACA,QAAQ,OAAO,MAAM,CAAC,QAAQ;AAC9B,IAAI;AACJ;;AAEA;AACA,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE;AACjC,QAAQ,OAAO,KAAK;AACpB,IAAI;;AAEJ,IAAI,IAAI;AACR;AACA;AACA,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC;AAC9B,QAAQ,OAAO,KAAK;AACpB,IAAI,CAAC,CAAC,MAAM;AACZ,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ;;AAEA;AACA;AACA;AACK,MAAC,yBAAyB,GAAGG,MAAiB,CAAC,MAAM,CAAC;AAC3D,IAAI,uBAAuB,EAAE;AAC7B,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClE,YAAY;AACZ,gBAAgB;AAChB;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC;AACtC,gBAAgB;AAChB;AACA,oBAAoB,WAAW;AAC/B;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,oBAAoB,SAAS;;AAE7B;AACA,oBAAoB,OAAO;AAC3B;AACA,oBAAoB,gBAAgB;AACpC,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI;AAC3C,oBAAoB,gBAAgB,EAAE;AACtC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACjD;AACA;AACA,iBAAiB;AACjB,oBAAoB,aAAa;AACjC,oBAAoB,UAAU;AAC9B,oBAAoB,WAAW;AAC/B,oBAAoB,YAAY;AAChC,oBAAoB,mBAAmB;AACvC,oBAAoB,YAAY;AAChC,oBAAoB,aAAa;AACjC,oBAAoB,YAAY;AAChC,oBAAoB,aAAa;AACjC,oBAAoB,cAAc;AAClC,oBAAoB,cAAc;AAClC,oBAAoB,eAAe;AACnC,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA,iBAAiB,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;AAC/C;AACA;AACA,oBAAoB,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;AACpD,oBAAoB,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU;AAC1D,cAAc;AACd,gBAAgB,MAAM,IAAI,YAAY;AACtC,oBAAoB,8BAA8B,EAAE;AACpD,iBAAiB;AACjB,YAAY;AACZ,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR;AACA,CAAC;;ACpID;AACA;AACA;AACK,MAAC,KAAK,GAAG;AACd,IAAI,eAAe;AACnB,IAAIC;AACJ;;ACPA;AACA;AACA;AACK,MAAC,SAAS,GAAG;AAClB,IAAIF;AACJ;AACA;AACA;;;;","x_google_ignoreList":[0,1]}