UNPKG

@thorvg/lottie-player

Version:

A web lottie player using ThorVG as a renderer

1 lines 103 kB
const e=globalThis,t=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),n=new WeakMap;let i=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const r=this.t;if(t&&void 0===e){const t=void 0!==r&&1===r.length;t&&(e=n.get(r)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),t&&n.set(r,e))}return e}toString(){return this.cssText}};const a=t?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const r of e.cssRules)t+=r.cssText;return(e=>new i("string"==typeof e?e:e+"",void 0,r))(t)})(e):e,{is:o,defineProperty:s,getOwnPropertyDescriptor:c,getOwnPropertyNames:d,getOwnPropertySymbols:l,getPrototypeOf:u}=Object,h=globalThis,f=h.trustedTypes,p=f?f.emptyScript:"",m=h.reactiveElementPolyfillSupport,v=(e,t)=>e,g={toAttribute(e,t){switch(t){case Boolean:e=e?p:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch(e){r=null}}return r}},y=(e,t)=>!o(e,t),w={attribute:!0,type:String,converter:g,reflect:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),h.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=w){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const r=Symbol(),n=this.getPropertyDescriptor(e,r,t);void 0!==n&&s(this.prototype,e,n)}}static getPropertyDescriptor(e,t,r){const{get:n,set:i}=c(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return n?.call(this)},set(t){const a=n?.call(this);i.call(this,t),this.requestUpdate(e,a,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??w}static _$Ei(){if(this.hasOwnProperty(v("elementProperties")))return;const e=u(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(v("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(v("properties"))){const e=this.properties,t=[...d(e),...l(e)];for(const r of t)this.createProperty(r,e[r])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,r]of t)this.elementProperties.set(e,r)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const r=this._$Eu(e,t);void 0!==r&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const e of r)t.unshift(a(e))}else void 0!==e&&t.push(a(e));return t}static _$Eu(e,t){const r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const r=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((r,n)=>{if(t)r.adoptedStyleSheets=n.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const t of n){const n=document.createElement("style"),i=e.litNonce;void 0!==i&&n.setAttribute("nonce",i),n.textContent=t.cssText,r.appendChild(n)}})(r,this.constructor.elementStyles),r}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$EC(e,t){const r=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,r);if(void 0!==n&&!0===r.reflect){const i=(void 0!==r.converter?.toAttribute?r.converter:g).toAttribute(t,r.type);this._$Em=e,null==i?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,t){const r=this.constructor,n=r._$Eh.get(e);if(void 0!==n&&this._$Em!==n){const e=r.getPropertyOptions(n),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:g;this._$Em=n,this[n]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,r){if(void 0!==e){if(r??=this.constructor.getPropertyOptions(e),!(r.hasChanged??y)(this[e],t))return;this.P(e,t,r)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,r){this._$AL.has(e)||this._$AL.set(e,t),!0===r.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,r]of e)!0!==r.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],r)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[v("elementProperties")]=new Map,b[v("finalized")]=new Map,m?.({ReactiveElement:b}),(h.reactiveElementVersions??=[]).push("2.0.4");const _=globalThis,x=_.trustedTypes,A=x?x.createPolicy("lit-html",{createHTML:e=>e}):void 0,E="$lit$",$=`lit$${Math.random().toFixed(9).slice(2)}$`,S="?"+$,C=`<${S}>`,T=document,k=()=>T.createComment(""),P=e=>null===e||"object"!=typeof e&&"function"!=typeof e,B=Array.isArray,F="[ \t\n\f\r]",O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,U=/-->/g,z=/>/g,L=RegExp(`>|${F}(?:([^\\s"'>=/]+)(${F}*=${F}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),R=/'/g,D=/"/g,M=/^(?:script|style|textarea|title)$/i,j=(e,...t)=>({_$litType$:1,strings:e,values:t}),I=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),G=new WeakMap,N=T.createTreeWalker(T,129);function V(e,t){if(!B(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==A?A.createHTML(t):t}class H{constructor({strings:e,_$litType$:t},r){let n;this.parts=[];let i=0,a=0;const o=e.length-1,s=this.parts,[c,d]=((e,t)=>{const r=e.length-1,n=[];let i,a=2===t?"<svg>":3===t?"<math>":"",o=O;for(let t=0;t<r;t++){const r=e[t];let s,c,d=-1,l=0;for(;l<r.length&&(o.lastIndex=l,c=o.exec(r),null!==c);)l=o.lastIndex,o===O?"!--"===c[1]?o=U:void 0!==c[1]?o=z:void 0!==c[2]?(M.test(c[2])&&(i=RegExp("</"+c[2],"g")),o=L):void 0!==c[3]&&(o=L):o===L?">"===c[0]?(o=i??O,d=-1):void 0===c[1]?d=-2:(d=o.lastIndex-c[2].length,s=c[1],o=void 0===c[3]?L:'"'===c[3]?D:R):o===D||o===R?o=L:o===U||o===z?o=O:(o=L,i=void 0);const u=o===L&&e[t+1].startsWith("/>")?" ":"";a+=o===O?r+C:d>=0?(n.push(s),r.slice(0,d)+E+r.slice(d)+$+u):r+$+(-2===d?t:u)}return[V(e,a+(e[r]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),n]})(e,t);if(this.el=H.createElement(c,r),N.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=N.nextNode())&&s.length<o;){if(1===n.nodeType){if(n.hasAttributes())for(const e of n.getAttributeNames())if(e.endsWith(E)){const t=d[a++],r=n.getAttribute(e).split($),o=/([.?@])?(.*)/.exec(t);s.push({type:1,index:i,name:o[2],strings:r,ctor:"."===o[1]?Q:"?"===o[1]?Y:"@"===o[1]?Z:K}),n.removeAttribute(e)}else e.startsWith($)&&(s.push({type:6,index:i}),n.removeAttribute(e));if(M.test(n.tagName)){const e=n.textContent.split($),t=e.length-1;if(t>0){n.textContent=x?x.emptyScript:"";for(let r=0;r<t;r++)n.append(e[r],k()),N.nextNode(),s.push({type:2,index:++i});n.append(e[t],k())}}}else if(8===n.nodeType)if(n.data===S)s.push({type:2,index:i});else{let e=-1;for(;-1!==(e=n.data.indexOf($,e+1));)s.push({type:7,index:i}),e+=$.length-1}i++}}static createElement(e,t){const r=T.createElement("template");return r.innerHTML=e,r}}function q(e,t,r=e,n){if(t===I)return t;let i=void 0!==n?r.o?.[n]:r.l;const a=P(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),void 0===a?i=void 0:(i=new a(e),i._$AT(e,r,n)),void 0!==n?(r.o??=[])[n]=i:r.l=i),void 0!==i&&(t=q(e,i._$AS(e,t.values),i,n)),t}class X{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:r}=this._$AD,n=(e?.creationScope??T).importNode(t,!0);N.currentNode=n;let i=N.nextNode(),a=0,o=0,s=r[0];for(;void 0!==s;){if(a===s.index){let t;2===s.type?t=new J(i,i.nextSibling,this,e):1===s.type?t=new s.ctor(i,s.name,s.strings,this,e):6===s.type&&(t=new ee(i,this,e)),this._$AV.push(t),s=r[++o]}a!==s?.index&&(i=N.nextNode(),a++)}return N.currentNode=T,n}p(e){let t=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}}class J{get _$AU(){return this._$AM?._$AU??this.v}constructor(e,t,r,n){this.type=2,this._$AH=W,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=n,this.v=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=q(this,e,t),P(e)?e===W||null==e||""===e?(this._$AH!==W&&this._$AR(),this._$AH=W):e!==this._$AH&&e!==I&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):(e=>B(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==W&&P(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:r}=e,n="number"==typeof r?this._$AC(e):(void 0===r.el&&(r.el=H.createElement(V(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(t);else{const e=new X(n,this),r=e.u(this.options);e.p(t),this.T(r),this._$AH=e}}_$AC(e){let t=G.get(e.strings);return void 0===t&&G.set(e.strings,t=new H(e)),t}k(e){B(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let r,n=0;for(const i of e)n===t.length?t.push(r=new J(this.O(k()),this.O(k()),this,this.options)):r=t[n],r._$AI(i),n++;n<t.length&&(this._$AR(r&&r._$AB.nextSibling,n),t.length=n)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e&&e!==this._$AB;){const t=e.nextSibling;e.remove(),e=t}}setConnected(e){void 0===this._$AM&&(this.v=e,this._$AP?.(e))}}class K{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,n,i){this.type=1,this._$AH=W,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=W}_$AI(e,t=this,r,n){const i=this.strings;let a=!1;if(void 0===i)e=q(this,e,t,0),a=!P(e)||e!==this._$AH&&e!==I,a&&(this._$AH=e);else{const n=e;let o,s;for(e=i[0],o=0;o<i.length-1;o++)s=q(this,n[r+o],t,o),s===I&&(s=this._$AH[o]),a||=!P(s)||s!==this._$AH[o],s===W?e=W:e!==W&&(e+=(s??"")+i[o+1]),this._$AH[o]=s}a&&!n&&this.j(e)}j(e){e===W?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class Q extends K{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===W?void 0:e}}class Y extends K{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==W)}}class Z extends K{constructor(e,t,r,n,i){super(e,t,r,n,i),this.type=5}_$AI(e,t=this){if((e=q(this,e,t,0)??W)===I)return;const r=this._$AH,n=e===W&&r!==W||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,i=e!==W&&(r===W||n);n&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class ee{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){q(this,e)}}const te=_.litHtmlPolyfillSupport;te?.(H,J),(_.litHtmlVersions??=[]).push("3.2.0");class re extends b{constructor(){super(...arguments),this.renderOptions={host:this},this.o=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this.o=((e,t,r)=>{const n=r?.renderBefore??t;let i=n._$litPart$;if(void 0===i){const e=r?.renderBefore??null;n._$litPart$=i=new J(t.insertBefore(k(),e),e,void 0,r??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this.o?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this.o?.setConnected(!1)}render(){return I}}re._$litElement$=!0,re.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:re});const ne=globalThis.litElementPolyfillSupport;ne?.({LitElement:re}),(globalThis.litElementVersions??=[]).push("4.1.0");const ie={attribute:!0,type:String,converter:g,reflect:!1,hasChanged:y},ae=(e=ie,t,r)=>{const{kind:n,metadata:i}=r;let a=globalThis.litPropertyMetadata.get(i);if(void 0===a&&globalThis.litPropertyMetadata.set(i,a=new Map),a.set(r.name,e),"accessor"===n){const{name:n}=r;return{set(r){const i=t.get.call(this);t.set.call(this,r),this.requestUpdate(n,i,e)},init(t){return void 0!==t&&this.P(n,void 0,e),t}}}if("setter"===n){const{name:n}=r;return function(r){const i=this[n];t.call(this,r),this.requestUpdate(n,i,e)}}throw Error("Unsupported decorator location: "+n)};function oe(e){return(t,r)=>"object"==typeof r?ae(e,t,r):((e,t,r)=>{const n=t.hasOwnProperty(r);return t.constructor.createProperty(r,n?{...e,wrapped:!0}:e),n?Object.getOwnPropertyDescriptor(t,r):void 0})(e,t,r)}for(var se,ce=[],de=0;de<256;++de)ce.push((de+256).toString(16).slice(1));var le=new Uint8Array(16);function ue(){if(!se&&!(se="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return se(le)}var he={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function fe(e,t,r){if(he.randomUUID&&!t&&!e)return he.randomUUID();var n=(e=e||{}).random||(e.rng||ue)();return n[6]=15&n[6]|64,n[8]=63&n[8]|128,function(e,t=0){return(ce[e[t+0]]+ce[e[t+1]]+ce[e[t+2]]+ce[e[t+3]]+"-"+ce[e[t+4]]+ce[e[t+5]]+"-"+ce[e[t+6]]+ce[e[t+7]]+"-"+ce[e[t+8]]+ce[e[t+9]]+"-"+ce[e[t+10]]+ce[e[t+11]]+ce[e[t+12]]+ce[e[t+13]]+ce[e[t+14]]+ce[e[t+15]]).toLowerCase()}(n)}var pe,me=(pe=import.meta.url,async function(e={}){var t,r,n=e,i=new Promise(((e,n)=>{t=e,r=n})),a="object"==typeof window,o="undefined"!=typeof WorkerGlobalScope,s="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;if(s){const{createRequire:e}=await Promise.resolve().then((function(){return Be}));let t=import.meta.url;t.startsWith("data:")&&(t="/");var c=e(t)}var d,l,u=Object.assign({},n),h="./this.program",f=(e,t)=>{throw t},p="";if(s){var m=c("fs"),v=c("path");import.meta.url.startsWith("data:")||(p=v.dirname(c("url").fileURLToPath(import.meta.url))+"/"),l=e=>(e=V(e)?new URL(e):e,m.readFileSync(e)),d=async e=>(e=V(e)?new URL(e):e,m.readFileSync(e,void 0)),!n.thisProgram&&1<process.argv.length&&(h=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),f=(e,t)=>{throw process.exitCode=e,t}}else(a||o)&&(o?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),pe&&(p=pe),p=p.startsWith("blob:")?"":p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1),o&&(l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),d=async e=>{if(V(e))return new Promise(((t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r(n.status)},n.onerror=r,n.send(null)}));var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)});var g=n.print||void 0,y=n.printErr||void 0;Object.assign(n,u),u=null,n.thisProgram&&(h=n.thisProgram);var w,b,_,x,A,E,$,S,C,T,k=n.wasmBinary,P=!1;function B(){var e=w.buffer;n.HEAP8=_=new Int8Array(e),n.HEAP16=A=new Int16Array(e),n.HEAPU8=x=new Uint8Array(e),n.HEAPU16=E=new Uint16Array(e),n.HEAP32=$=new Int32Array(e),n.HEAPU32=S=new Uint32Array(e),n.HEAPF32=C=new Float32Array(e),n.HEAPF64=T=new Float64Array(e)}var F=[],O=[],U=[];function z(){var e=n.preRun.shift();F.unshift(e)}var L=0,R=null;function D(){L++,n.monitorRunDependencies?.(L)}function M(){if(L--,n.monitorRunDependencies?.(L),0==L&&R){var e=R;R=null,e()}}function j(e){throw n.onAbort?.(e),y(e="Aborted("+e+")"),P=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),r(e),e}var I,W,G,N=e=>e.startsWith("data:application/octet-stream;base64,"),V=e=>e.startsWith("file://");class H{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var q=e=>{for(;0<e.length;)e.shift()(n)},X=n.noExitRuntime||!0,J="undefined"!=typeof TextDecoder?new TextDecoder:void 0,K=(e,t=0,r=NaN)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&J)return J.decode(e.subarray(t,r));for(n="";t<r;){var i=e[t++];if(128&i){var a=63&e[t++];if(192==(224&i))n+=String.fromCharCode((31&i)<<6|a);else{var o=63&e[t++];65536>(i=224==(240&i)?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&e[t++])?n+=String.fromCharCode(i):(i-=65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else n+=String.fromCharCode(i)}return n},Q=()=>{var e=$[+Ge>>2];return Ge+=4,e},Y=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},Z=e=>{var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=Y(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},ee=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&=t.substr(0,t.length-1),e+t):"."},te=e=>{if("/"===e)return"/";var t=(e=(e=Z(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},re=e=>(re=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(s)try{var e=c("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}j("initRandomDevice")})())(e),ne=(...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:We.cwd()))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return t=Y(t.split("/").filter((e=>!!e)),!r).join("/"),(r?"/":"")+t||"."},ie=(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;0<=r&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ne(e).substr(1),t=ne(t).substr(1),e=r(e.split("/")),t=r(t.split("/"));for(var n=Math.min(e.length,t.length),i=n,a=0;a<n;a++)if(e[a]!==t[a]){i=a;break}for(n=[],a=i;a<e.length;a++)n.push("..");return(n=n.concat(t.slice(i))).join("/")},ae=[],oe=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},se=(e,t,r,n)=>{if(!(0<n))return 0;var i=r;n=r+n-1;for(var a=0;a<e.length;++a){var o=e.charCodeAt(a);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),127>=o){if(r>=n)break;t[r++]=o}else{if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63}t[r++]=128|o>>6&63}t[r++]=128|63&o}}return t[r]=0,r-i};function ce(e){var t=Array(oe(e)+1);return e=se(e,t,0,t.length),t.length=e,t}var de=[];function le(e,t){de[e]={input:[],output:[],Xc:t},_e(e,ue)}var ue={open(e){var t=de[e.node.rdev];if(!t)throw new We.xc(43);e.tty=t,e.seekable=!1},close(e){e.tty.Xc.fsync(e.tty)},fsync(e){e.tty.Xc.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.Xc.je)throw new We.xc(60);for(var i=0,a=0;a<n;a++){try{var o=e.tty.Xc.je(e.tty)}catch(e){throw new We.xc(29)}if(void 0===o&&0===i)throw new We.xc(6);if(null==o)break;i++,t[r+a]=o}return i&&(e.node.atime=Date.now()),i},write(e,t,r,n){if(!e.tty||!e.tty.Xc.Qd)throw new We.xc(60);try{for(var i=0;i<n;i++)e.tty.Xc.Qd(e.tty,t[r+i])}catch(e){throw new We.xc(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),i}},he={je(){e:{if(!ae.length){var e=null;if(s){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=m.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}0<r&&(e=t.slice(0,r).toString("utf-8"))}else"undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e){e=null;break e}ae=ce(e)}e=ae.shift()}return e},Qd(e,t){null===t||10===t?(g(K(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&0<e.output.length&&(g(K(e.output)),e.output=[])},Re:()=>({mf:25856,pf:5,lf:191,nf:35387,kf:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Se:()=>0,Te:()=>[24,80]},fe={Qd(e,t){null===t||10===t?(y(K(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&0<e.output.length&&(y(K(e.output)),e.output=[])}};function me(e,t){var r=e.Bc?e.Bc.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.Bc,e.Bc=new Uint8Array(t),0<e.Ec&&e.Bc.set(r.subarray(0,e.Ec),0))}var ve={Uc:null,Fc:()=>ve.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||We.isFIFO(r))throw new We.xc(63);return ve.Uc||(ve.Uc={dir:{node:{Sc:ve.zc.Sc,Ic:ve.zc.Ic,lookup:ve.zc.lookup,Wc:ve.zc.Wc,rename:ve.zc.rename,unlink:ve.zc.unlink,rmdir:ve.zc.rmdir,readdir:ve.zc.readdir,symlink:ve.zc.symlink},stream:{Mc:ve.Ac.Mc}},file:{node:{Sc:ve.zc.Sc,Ic:ve.zc.Ic},stream:{Mc:ve.Ac.Mc,read:ve.Ac.read,write:ve.Ac.write,md:ve.Ac.md,jd:ve.Ac.jd,rd:ve.Ac.rd}},link:{node:{Sc:ve.zc.Sc,Ic:ve.zc.Ic,readlink:ve.zc.readlink},stream:{}},$d:{node:{Sc:ve.zc.Sc,Ic:ve.zc.Ic},stream:We.De}}),xe((r=We.createNode(e,t,r,n)).mode)?(r.zc=ve.Uc.dir.node,r.Ac=ve.Uc.dir.stream,r.Bc={}):We.isFile(r.mode)?(r.zc=ve.Uc.file.node,r.Ac=ve.Uc.file.stream,r.Ec=0,r.Bc=null):40960==(61440&r.mode)?(r.zc=ve.Uc.link.node,r.Ac=ve.Uc.link.stream):8192==(61440&r.mode)&&(r.zc=ve.Uc.$d.node,r.Ac=ve.Uc.$d.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.Bc[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Cf:e=>e.Bc?e.Bc.subarray?e.Bc.subarray(0,e.Ec):new Uint8Array(e.Bc):new Uint8Array(0),zc:{Sc(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,t.size=xe(e.mode)?4096:We.isFile(e.mode)?e.Ec:40960==(61440&e.mode)?e.link.length:0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.Be=4096,t.blocks=Math.ceil(t.size/t.Be),t},Ic(e,t){for(var r of["mode","atime","mtime","ctime"])t[r]&&(e[r]=t[r]);void 0!==t.size&&e.Ec!=(t=t.size)&&(0==t?(e.Bc=null,e.Ec=0):(r=e.Bc,e.Bc=new Uint8Array(t),r&&e.Bc.set(r.subarray(0,Math.min(t,e.Ec))),e.Ec=t))},lookup(){throw ve.he},Wc:(e,t,r,n)=>ve.createNode(e,t,r,n),rename(e,t,r){try{var n=Ae(t,r)}catch(e){}if(n){if(xe(e.mode))for(var i in n.Bc)throw new We.xc(55);Ee(n)}delete e.parent.Bc[e.name],t.Bc[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Bc[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=Ae(e,t);for(r in n.Bc)throw new We.xc(55);delete e.Bc[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.Bc)],symlink:(e,t,r)=>((e=ve.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new We.xc(28);return e.link}},Ac:{read(e,t,r,n,i){var a=e.node.Bc;if(i>=e.node.Ec)return 0;if(8<(e=Math.min(e.node.Ec-i,n))&&a.subarray)t.set(a.subarray(i,i+e),r);else for(n=0;n<e;n++)t[r+n]=a[i+n];return e},write(e,t,r,n,i,a){if(t.buffer===_.buffer&&(a=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.Bc||e.Bc.subarray)){if(a)return e.Bc=t.subarray(r,r+n),e.Ec=n;if(0===e.Ec&&0===i)return e.Bc=t.slice(r,r+n),e.Ec=n;if(i+n<=e.Ec)return e.Bc.set(t.subarray(r,r+n),i),n}if(me(e,i+n),e.Bc.subarray&&t.subarray)e.Bc.set(t.subarray(r,r+n),i);else for(a=0;a<n;a++)e.Bc[i+a]=t[r+a];return e.Ec=Math.max(e.Ec,i+n),n},Mc(e,t,r){if(1===r?t+=e.position:2===r&&We.isFile(e.node.mode)&&(t+=e.node.Ec),0>t)throw new We.xc(28);return t},md(e,t,r){me(e.node,t+r),e.node.Ec=Math.max(e.node.Ec,t+r)},jd(e,t,r,n,i){if(!We.isFile(e.node.mode))throw new We.xc(43);if(e=e.node.Bc,2&i||!e||e.buffer!==_.buffer){if(n=!0,j(),!(i=void 0))throw new We.xc(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),_.set(e,i))}else n=!1,i=e.byteOffset;return{Cc:i,ff:n}},rd:(e,t,r,n)=>(ve.Ac.write(e,t,0,n,r,!1),0)}},ge=n.preloadPlugins||[],ye=(e,t,r,n,i,a,o,s,c,l)=>{function u(r){function d(r){l?.(),s||We.Hd(e,t,r,n,i,c),a?.(),M()}((e,t,r,n)=>{"undefined"!=typeof Browser&&be();var i=!1;return ge.forEach((a=>{!i&&a.canHandle(t)&&(a.handle(e,t,r,n),i=!0)})),i})(r,h,d,(()=>{o?.(),M()}))||d(r)}var h=t?ne(Z(e+"/"+t)):e;D(),"string"==typeof r?(async e=>(e=await d(e),new Uint8Array(e)))(r).then(u,o):u(r)},we=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r};function be(){var e,t,r;We.Kd=!0,e??=n.stdin,t??=n.stdout,r??=n.stderr,e?We.Vc("/dev","stdin",e):We.symlink("/dev/tty","/dev/stdin"),t?We.Vc("/dev","stdout",null,t):We.symlink("/dev/tty","/dev/stdout"),r?We.Vc("/dev","stderr",null,r):We.symlink("/dev/tty1","/dev/stderr"),We.open("/dev/stdin",0),We.open("/dev/stdout",1),We.open("/dev/stderr",1)}function _e(e,t){We.fe[e]={Ac:t}}function xe(e){return 16384==(61440&e)}function Ae(e,t){var r=xe(e.mode)?(r=Pe(e,"x"))?r:e.zc.lookup?0:2:54;if(r)throw new We.xc(r);for(r=We.Tc[Ce(e.id,t)];r;r=r.cd)if(r.parent.id===e.id&&r.name===t)return r;return We.lookup(e,t)}function Ee(e){var t=Ce(e.parent.id,e.name);if(We.Tc[t]===e)We.Tc[t]=e.cd;else for(t=We.Tc[t];t;){if(t.cd===e){t.cd=e.cd;break}t=t.cd}}function $e(e,t={}){if(!e)return{path:"",node:null};t.yd??(t.yd=!0),"/"===e.charAt(0)||(e=We.cwd()+"/"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter((e=>!!e&&"."!==e));for(var n=We.root,i="/",a=0;a<e.length;a++){var o=a===e.length-1;if(o&&t.parent)break;if(".."===e[a])i=ee(i),n=n.parent;else{i=Z(i+"/"+e[a]);try{n=Ae(n,e[a])}catch(e){if(44===e?.Rc&&o&&t.We)return{path:i};throw e}if(!n.Pc||o&&!t.yd||(n=n.Pc.root),40960==(61440&n.mode)&&(!o||t.Oc)){if(!n.zc.readlink)throw new We.xc(52);"/"===(n=n.zc.readlink(n)).charAt(0)||(n=ee(i)+"/"+n),e=n+"/"+e.slice(a+1).join("/");continue e}}}return{path:i,node:n}}throw new We.xc(32)}function Se(e){for(var t;;){if(We.le(e))return e=e.Fc.ne,t?"/"!==e[e.length-1]?`${e}/${t}`:e+t:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function Ce(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%We.Tc.length}function Te(e){var t=Ce(e.parent.id,e.name);e.cd=We.Tc[t],We.Tc[t]=e}function ke(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function Pe(e,t){return We.ke?0:!t.includes("r")||292&e.mode?t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0:2}function Fe(e,t){if(!xe(e.mode))return 54;try{return Ae(e,t),20}catch(e){}return Pe(e,"wx")}function Oe(e,t,r){try{var n=Ae(e,t)}catch(e){return e.Rc}if(e=Pe(e,"wx"))return e;if(r){if(!xe(n.mode))return 54;if(We.le(n)||Se(n)===We.cwd())return 10}else if(xe(n.mode))return 31;return 0}function Ue(e){if(!(e=We.Oe(e)))throw new We.xc(8);return e}function ze(e,t=-1){if(e=Object.assign(new We.ye,e),-1==t)e:{for(t=0;t<=We.Ae;t++)if(!We.streams[t])break e;throw new We.xc(33)}return e.fd=t,We.streams[t]=e}function Le(e){var t=[];for(e=[e];e.length;){var r=e.pop();t.push(r),e.push(...r.qd)}return t}function Re(e,t,r){return void 0===r&&(r=t,t=438),We.Wc(e,8192|t,r)}function De(e){if(!(e.Ue||e.Ve||e.link||e.Bc)){if("undefined"!=typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.Bc=l(e.url),e.Ec=e.Bc.length}catch(e){throw new We.xc(29)}}}var Me,je,Ie,We={root:null,qd:[],fe:{},streams:[],Pd:1,Tc:null,ce:"/",Kd:!1,ke:!0,xc:class{name="ErrnoError";constructor(e){this.Rc=e}},Ke:null,Fd:0,qe:{},ye:class{Kc={};node=null;get object(){return this.node}set object(e){this.node=e}get flags(){return this.Kc.flags}set flags(e){this.Kc.flags=e}get position(){return this.Kc.position}set position(e){this.Kc.position=e}},xe:class{zc={};Ac={};Pc=null;constructor(e,t,r,n){e||=this,this.parent=e,this.Fc=e.Fc,this.id=We.Pd++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return!(365&~this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return!(146&~this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}get Ve(){return xe(this.mode)}get Ue(){return 8192==(61440&this.mode)}},createNode:(e,t,r,n)=>(Te(e=new We.xe(e,t,r,n)),e),le:e=>e===e.parent,isFile:e=>32768==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),Ae:4096,Oe:e=>We.streams[e],De:{open(e){e.Ac=We.Me(e.node.rdev).Ac,e.Ac.open?.(e)},Mc(){throw new We.xc(70)}},Nd:e=>e>>8,Gf:e=>255&e,bd:(e,t)=>e<<8|t,Me:e=>We.fe[e],se(e,t){function r(e){return We.Fd--,t(e)}function n(e){if(e){if(!n.Ie)return n.Ie=!0,r(e)}else++a>=i.length&&r(null)}"function"==typeof e&&(t=e,e=!1),We.Fd++,1<We.Fd&&y(`warning: ${We.Fd} FS.syncfs operations in flight at once, probably just doing extra work`);var i=Le(We.root.Fc),a=0;i.forEach((t=>{if(!t.type.se)return n(null);t.type.se(t,e,n)}))},Fc(e,t,r){var n="/"===r;if(n&&We.root)throw new We.xc(10);if(!n&&r){var i=$e(r,{yd:!1});if(r=i.path,(i=i.node).Pc)throw new We.xc(10);if(!xe(i.mode))throw new We.xc(54)}return(e=e.Fc(t={type:e,Xe:t,ne:r,qd:[]})).Fc=t,t.root=e,n?We.root=e:i&&(i.Pc=t,i.Fc&&i.Fc.qd.push(t)),e},Sf(e){if(!(e=$e(e,{yd:!1})).node.Pc)throw new We.xc(28);var t=(e=e.node).Pc,r=Le(t);Object.keys(We.Tc).forEach((e=>{for(e=We.Tc[e];e;){var t=e.cd;r.includes(e.Fc)&&Ee(e),e=t}})),e.Pc=null,e.Fc.qd.splice(e.Fc.qd.indexOf(t),1)},lookup:(e,t)=>e.zc.lookup(e,t),Wc(e,t,r){var n=$e(e,{parent:!0}).node;if(!(e=te(e))||"."===e||".."===e)throw new We.xc(28);var i=Fe(n,e);if(i)throw new We.xc(i);if(!n.zc.Wc)throw new We.xc(63);return n.zc.Wc(n,e,t,r)},re(e){var t={jf:4096,zf:4096,blocks:1e6,hf:5e5,gf:5e5,files:We.Pd,xf:We.Pd-1,Af:42,flags:2,Kf:255};return e=$e(e,{Oc:!0}).node,e?.zc.re&&Object.assign(t,e.zc.re(e.Fc.Xe.root)),t},create:(e,t=438)=>We.Wc(e,4095&t|32768,0),mkdir:(e,t=511)=>We.Wc(e,1023&t|16384,0),If(e,t){e=e.split("/");for(var r="",n=0;n<e.length;++n)if(e[n]){r+="/"+e[n];try{We.mkdir(r,t)}catch(e){if(20!=e.Rc)throw e}}},symlink(e,t){if(!ne(e))throw new We.xc(44);var r=$e(t,{parent:!0}).node;if(!r)throw new We.xc(44);var n=Fe(r,t=te(t));if(n)throw new We.xc(n);if(!r.zc.symlink)throw new We.xc(63);return r.zc.symlink(r,t,e)},rename(e,t){var r=ee(e),n=ee(t),i=te(e),a=te(t),o=$e(e,{parent:!0}),s=o.node;if(o=(o=$e(t,{parent:!0})).node,!s||!o)throw new We.xc(44);if(s.Fc!==o.Fc)throw new We.xc(75);var c=Ae(s,i);if("."!==(e=ie(e,n)).charAt(0))throw new We.xc(28);if("."!==(e=ie(t,r)).charAt(0))throw new We.xc(55);try{var d=Ae(o,a)}catch(e){}if(c!==d){if(i=Oe(s,i,t=xe(c.mode)))throw new We.xc(i);if(i=d?Oe(o,a,t):Fe(o,a))throw new We.xc(i);if(!s.zc.rename)throw new We.xc(63);if(c.Pc||d&&d.Pc)throw new We.xc(10);if(o!==s&&(i=Pe(s,"w")))throw new We.xc(i);Ee(c);try{s.zc.rename(c,o,a),c.parent=o}catch(e){throw e}finally{Te(c)}}},rmdir(e){var t=$e(e,{parent:!0}).node,r=Ae(t,e=te(e)),n=Oe(t,e,!0);if(n)throw new We.xc(n);if(!t.zc.rmdir)throw new We.xc(63);if(r.Pc)throw new We.xc(10);t.zc.rmdir(t,e),Ee(r)},readdir(e){if(!(e=$e(e,{Oc:!0}).node).zc.readdir)throw new We.xc(54);return e.zc.readdir(e)},unlink(e){var t=$e(e,{parent:!0}).node;if(!t)throw new We.xc(44);var r=Ae(t,e=te(e)),n=Oe(t,e,!1);if(n)throw new We.xc(n);if(!t.zc.unlink)throw new We.xc(63);if(r.Pc)throw new We.xc(10);t.zc.unlink(t,e),Ee(r)},readlink(e){if(!(e=$e(e).node))throw new We.xc(44);if(!e.zc.readlink)throw new We.xc(28);return e.zc.readlink(e)},stat(e,t){if(!(e=$e(e,{Oc:!t}).node))throw new We.xc(44);if(!e.zc.Sc)throw new We.xc(63);return e.zc.Sc(e)},lstat:e=>We.stat(e,!0),chmod(e,t,r){if(!(e="string"==typeof e?$e(e,{Oc:!r}).node:e).zc.Ic)throw new We.xc(63);e.zc.Ic(e,{mode:4095&t|-4096&e.mode,ctime:Date.now()})},lchmod(e,t){We.chmod(e,t,!0)},fchmod(e,t){e=Ue(e),We.chmod(e.node,t)},chown(e,t,r,n){if(!(e="string"==typeof e?$e(e,{Oc:!n}).node:e).zc.Ic)throw new We.xc(63);e.zc.Ic(e,{timestamp:Date.now()})},lchown(e,t,r){We.chown(e,t,r,!0)},fchown(e,t,r){e=Ue(e),We.chown(e.node,t,r)},truncate(e,t){if(0>t)throw new We.xc(28);if(!(e="string"==typeof e?$e(e,{Oc:!0}).node:e).zc.Ic)throw new We.xc(63);if(xe(e.mode))throw new We.xc(31);if(!We.isFile(e.mode))throw new We.xc(28);var r=Pe(e,"w");if(r)throw new We.xc(r);e.zc.Ic(e,{size:t,timestamp:Date.now()})},Bf(e,t){if(!(2097155&(e=Ue(e)).flags))throw new We.xc(28);We.truncate(e.node,t)},Uf(e,t,r){(e=$e(e,{Oc:!0}).node).zc.Ic(e,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new We.xc(44);if("string"==typeof t){var i={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===i)throw Error(`Unknown file open mode: ${t}`);t=i}r=64&t?4095&r|32768:0,"object"==typeof e?i=e:(i=(e=$e(e,{Oc:!(131072&t),We:!0})).node,e=e.path);var a=!1;if(64&t)if(i){if(128&t)throw new We.xc(20)}else i=We.Wc(e,r,0),a=!0;if(!i)throw new We.xc(44);if(8192==(61440&i.mode)&&(t&=-513),65536&t&&!xe(i.mode))throw new We.xc(54);if(!a&&(r=i?40960==(61440&i.mode)?32:xe(i.mode)&&("r"!==ke(t)||512&t)?31:Pe(i,ke(t)):44))throw new We.xc(r);return 512&t&&!a&&We.truncate(i,0),t&=-131713,(r=ze({node:i,path:Se(i),flags:t,seekable:!0,position:0,Ac:i.Ac,ef:[],error:!1})).Ac.open&&r.Ac.open(r),!n.logReadFiles||1&t||e in We.qe||(We.qe[e]=1),r},close(e){if(null===e.fd)throw new We.xc(8);e.Jd&&(e.Jd=null);try{e.Ac.close&&e.Ac.close(e)}catch(e){throw e}finally{We.streams[e.fd]=null}e.fd=null},Mc(e,t,r){if(null===e.fd)throw new We.xc(8);if(!e.seekable||!e.Ac.Mc)throw new We.xc(70);if(0!=r&&1!=r&&2!=r)throw new We.xc(28);return e.position=e.Ac.Mc(e,t,r),e.ef=[],e.position},read(e,t,r,n,i){if(0>n||0>i)throw new We.xc(28);if(null===e.fd)throw new We.xc(8);if(1==(2097155&e.flags))throw new We.xc(8);if(xe(e.node.mode))throw new We.xc(31);if(!e.Ac.read)throw new We.xc(28);var a=void 0!==i;if(a){if(!e.seekable)throw new We.xc(70)}else i=e.position;return t=e.Ac.read(e,t,r,n,i),a||(e.position+=t),t},write(e,t,r,n,i,a){if(0>n||0>i)throw new We.xc(28);if(null===e.fd)throw new We.xc(8);if(!(2097155&e.flags))throw new We.xc(8);if(xe(e.node.mode))throw new We.xc(31);if(!e.Ac.write)throw new We.xc(28);e.seekable&&1024&e.flags&&We.Mc(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new We.xc(70)}else i=e.position;return t=e.Ac.write(e,t,r,n,i,a),o||(e.position+=t),t},md(e,t,r){if(null===e.fd)throw new We.xc(8);if(0>t||0>=r)throw new We.xc(28);if(!(2097155&e.flags))throw new We.xc(8);if(!We.isFile(e.node.mode)&&!xe(e.node.mode))throw new We.xc(43);if(!e.Ac.md)throw new We.xc(138);e.Ac.md(e,t,r)},jd(e,t,r,n,i){if(2&n&&!(2&i)&&2!=(2097155&e.flags))throw new We.xc(2);if(1==(2097155&e.flags))throw new We.xc(2);if(!e.Ac.jd)throw new We.xc(43);if(!t)throw new We.xc(28);return e.Ac.jd(e,t,r,n,i)},rd:(e,t,r,n,i)=>e.Ac.rd?e.Ac.rd(e,t,r,n,i):0,Ld(e,t,r){if(!e.Ac.Ld)throw new We.xc(59);return e.Ac.Ld(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw Error(`Invalid encoding type "${t.encoding}"`);var r,n=We.open(e,t.flags);e=We.stat(e).size;var i=new Uint8Array(e);return We.read(n,i,0,e,0),"utf8"===t.encoding?r=K(i):"binary"===t.encoding&&(r=i),We.close(n),r},writeFile(e,t,r={}){if(r.flags=r.flags||577,e=We.open(e,r.flags,r.mode),"string"==typeof t){var n=new Uint8Array(oe(t)+1);t=se(t,n,0,n.length),We.write(e,n,0,t,void 0,r.Ce)}else{if(!ArrayBuffer.isView(t))throw Error("Unsupported data type");We.write(e,t,0,t.byteLength,void 0,r.Ce)}We.close(e)},cwd:()=>We.ce,chdir(e){if(null===(e=$e(e,{Oc:!0})).node)throw new We.xc(44);if(!xe(e.node.mode))throw new We.xc(54);var t=Pe(e.node,"x");if(t)throw new We.xc(t);We.ce=e.path},Nf(){We.Kd=!1;for(var e=0;e<We.streams.length;e++){var t=We.streams[e];t&&We.close(t)}},yf(e,t){try{var r=$e(e,{Oc:!t});e=r.path}catch(e){}var n=!1,i=null;try{r=$e(e,{parent:!0}),te(e),r=$e(e,{Oc:!t}),n=!0,i=r.node}catch(e){}return n?i:null},be(e,t){for(e="string"==typeof e?e:Se(e),t=t.split("/").reverse();t.length;){var r=t.pop();if(r){var n=Z(e+"/"+r);try{We.mkdir(n)}catch(e){}e=n}}return n},Hd(e,t,r,n,i,a){var o=t;if(e&&(e="string"==typeof e?e:Se(e),o=t?Z(e+"/"+t):e),e=we(n,i),o=We.create(o,e),r){if("string"==typeof r){for(t=Array(r.length),n=0,i=r.length;n<i;++n)t[n]=r.charCodeAt(n);r=t}We.chmod(o,146|e),t=We.open(o,577),We.write(t,r,0,r.length,0,a),We.close(t),We.chmod(o,e)}},Vc(e,t,r,n){var i;return e=((e,t)=>Z(e+"/"+t))("string"==typeof e?e:Se(e),t),t=we(!!r,!!n),(i=We.Vc).Nd??(i.Nd=64),_e(i=We.bd(We.Vc.Nd++,0),{open(e){e.seekable=!1},close(){n?.buffer?.length&&n(10)},read(e,t,n,i){for(var a=0,o=0;o<i;o++){try{var s=r()}catch(e){throw new We.xc(29)}if(void 0===s&&0===a)throw new We.xc(6);if(null==s)break;a++,t[n+o]=s}return a&&(e.node.atime=Date.now()),a},write(e,t,r,i){for(var a=0;a<i;a++)try{n(t[r+a])}catch(e){throw new We.xc(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),a}}),Re(e,t,i)},ae(e,t,r,n,i){class a{Vd=!1;Kc=[];Ud=void 0;Xd=0;Wd=0;get(e){if(!(e>this.length-1||0>e)){var t=e%this.chunkSize;return this.Ud(e/this.chunkSize|0)[t]}}we(e){this.Ud=e}Yd(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(200<=e.status&&300>e.status||304===e.status))throw Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t;e=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t;var a=1048576;i||(a=n);var o=this;o.we((e=>{var t=e*a,i=(e+1)*a-1;if(i=Math.min(i,n-1),void 0===o.Kc[e]){var s=o.Kc;if(t>i)throw Error("invalid range ("+t+", "+i+") or no bytes requested!");if(i>n-1)throw Error("only "+n+" bytes available! programmer error!");var c=new XMLHttpRequest;if(c.open("GET",r,!1),n!==a&&c.setRequestHeader("Range","bytes="+t+"-"+i),c.responseType="arraybuffer",c.overrideMimeType&&c.overrideMimeType("text/plain; charset=x-user-defined"),c.send(null),!(200<=c.status&&300>c.status||304===c.status))throw Error("Couldn't load "+r+". Status: "+c.status);t=void 0!==c.response?new Uint8Array(c.response||[]):ce(c.responseText||""),s[e]=t}if(void 0===o.Kc[e])throw Error("doXHR failed!");return o.Kc[e]})),!e&&n||(a=n=1,a=n=this.Ud(0).length,g("LazyFiles on gzip forces download of the whole file when length is accessed")),this.Xd=n,this.Wd=a,this.Vd=!0}get length(){return this.Vd||this.Yd(),this.Xd}get chunkSize(){return this.Vd||this.Yd(),this.Wd}}if("undefined"!=typeof XMLHttpRequest){if(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a,c=void 0}else c=r,s=void 0;var d=function(e,t,r,n){return e="string"==typeof e?e:Se(e),t=Z(e+"/"+t),We.create(t,we(r,n))}(e,t,n,i);s?d.Bc=s:c&&(d.Bc=null,d.url=c),Object.defineProperties(d,{Ec:{get:function(){return this.Bc.length}}});var l={};return Object.keys(d.Ac).forEach((e=>{var t=d.Ac[e];l[e]=(...e)=>(De(d),t(...e))})),l.read=(e,t,r,n,i)=>{if(De(d),i>=(e=e.node.Bc).length)t=0;else{if(n=Math.min(e.length-i,n),e.slice)for(var a=0;a<n;a++)t[r+a]=e[i+a];else for(a=0;a<n;a++)t[r+a]=e.get(i+a);t=n}return t},l.jd=()=>{throw De(d),j(),new We.xc(48)},d.Ac=l,d}},Ge=void 0,Ne=e=>{for(var t="";x[e];)t+=Me[x[e++]];return t},Ve={},He={},qe={},Xe=e=>{throw new je(e)},Je=(e,t,r)=>{function n(t){if((t=r(t)).length!==e.length)throw new Ie("Mismatched type converter count");for(var n=0;n<e.length;++n)Ke(e[n],t[n])}e.forEach((e=>qe[e]=t));var i=Array(t.length),a=[],o=0;t.forEach(((e,t)=>{He.hasOwnProperty(e)?i[t]=He[e]:(a.push(e),Ve.hasOwnProperty(e)||(Ve[e]=[]),Ve[e].push((()=>{i[t]=He[e],++o===a.length&&n(i)})))})),0===a.length&&n(i)};function Ke(e,t,r={}){return function(e,t,r={}){var n=t.name;if(!e)throw new je(`type "${n}" must have a positive integer typeid pointer`);if(He.hasOwnProperty(e)){if(r.Pe)return;throw new je(`Cannot register type '${n}' twice`)}He[e]=t,delete qe[e],Ve.hasOwnProperty(e)&&(t=Ve[e],delete Ve[e],t.forEach((e=>e())))}(e,t,r)}var Qe=e=>{throw new je(e.yc.Gc.Dc.name+" instance already deleted")},Ye=!1,Ze=()=>{},et=(e,t,r)=>t===r?e:void 0===r.Lc||null===(e=et(e,t,r.Lc))?null:r.He(e),tt={},rt={},nt=(e,t)=>{if(!t.Gc||!t.Cc)throw new Ie("makeClassHandle requires ptr and ptrType");if(!!t.Nc!=!!t.Jc)throw new Ie("Both smartPtrType and smartPtr must be specified");return t.count={value:1},it(Object.create(e,{yc:{value:t,writable:!0}}))},it=e=>"undefined"==typeof FinalizationRegistry?(it=e=>e,e):(Ye=new FinalizationRegistry((e=>{--(e=e.yc).count.value,0===e.count.value&&(e.Jc?e.Nc.Zc(e.Jc):e.Gc.Dc.Zc(e.Cc))})),it=e=>{var t=e.yc;return t.Jc&&Ye.register(e,{yc:t},e),e},Ze=e=>{Ye.unregister(e)},it(e));function at(){}var ot=(e,t)=>Object.defineProperty(t,"name",{value:e}),st=(e,t,r)=>{if(void 0===e[t].Hc){var n=e[t];e[t]=function(...n){if(!e[t].Hc.hasOwnProperty(n.length))throw new je(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].Hc})!`);return e[t].Hc[n.length].apply(this,n)},e[t].Hc=[],e[t].Hc[n.nd]=n}},ct=(e,t,r)=>{if(n.hasOwnProperty(e)){if(void 0===r||void 0!==n[e].Hc&&void 0!==n[e].Hc[r])throw new je(`Cannot register public name '${e}' twice`);if(st(n,e,e),n[e].Hc.hasOwnProperty(r))throw new je(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);n[e].Hc[r]=t}else n[e]=t,n[e].nd=r};function dt(e,t,r,n,i,a,o,s){this.name=e,this.constructor=t,this.hd=r,this.Zc=n,this.Lc=i,this.Le=a,this.vd=o,this.He=s,this.Ze=[]}var lt=(e,t,r)=>{for(;t!==r;){if(!t.vd)throw new je(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);e=t.vd(e),t=t.Lc}return e};function ut(e,t){if(null===t){if(this.Md)throw new je(`null is not a valid ${this.name}`);return 0}if(!t.yc)throw new je(`Cannot pass "${er(t)}" as a ${this.name}`);if(!t.yc.Cc)throw new je(`Cannot pass deleted object as a pointer of type ${this.name}`);return lt(t.yc.Cc,t.yc.Gc.Dc,this.Dc)}function ht(e,t){if(null===t){if(this.Md)throw new je(`null is not a valid ${this.name}`);if(this.Ad){var r=this.af();return null!==e&&e.push(this.Zc,r),r}return 0}if(!t||!t.yc)throw new je(`Cannot pass "${er(t)}" as a ${this.name}`);if(!t.yc.Cc)throw new je(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.zd&&t.yc.Gc.zd)throw new je(`Cannot convert argument of type ${t.yc.Nc?t.yc.Nc.name:t.yc.Gc.name} to parameter type ${this.name}`);if(r=lt(t.yc.Cc,t.yc.Gc.Dc,this.Dc),this.Ad){if(void 0===t.yc.Jc)throw new je("Passing raw pointer to smart pointer is illegal");switch(this.df){case 0:if(t.yc.Nc!==this)throw new je(`Cannot convert argument of type ${t.yc.Nc?t.yc.Nc.name:t.yc.Gc.name} to parameter type ${this.name}`);r=t.yc.Jc;break;case 1:r=t.yc.Jc;break;case 2:if(t.yc.Nc===this)r=t.yc.Jc;else{var n=t.clone();r=this.bf(r,Yt((()=>n.delete()))),null!==e&&e.push(this.Zc,r)}break;default:throw new je("Unsupporting sharing policy")}}return r}function ft(e,t){if(null===t){if(this.Md)throw new je(`null is not a valid ${this.name}`);return 0}if(!t.yc)throw new je(`Cannot pass "${er(t)}" as a ${this.name}`);if(!t.yc.Cc)throw new je(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.yc.Gc.zd)throw new je(`Cannot convert argument of type ${t.yc.Gc.name} to parameter type ${this.name}`);return lt(t.yc.Cc,t.yc.Gc.Dc,this.Dc)}function pt(e){return this.fromWireType(S[e>>2])}function mt(e,t,r,n,i,a,o,s,c,d,l){this.name=e,this.Dc=t,this.Md=r,this.zd=n,this.Ad=i,this.Ye=a,this.df=o,this.pe=s,this.af=c,this.bf=d,this.Zc=l,i||void 0!==t.Lc?this.toWireType=ht:(this.toWireType=n?ut:ft,this.Qc=null)}var vt,gt,yt=(e,t,r)=>{if(!n.hasOwnProperty(e))throw new Ie("Replacing nonexistent public symbol");void 0!==n[e].Hc&&void 0!==r?n[e].Hc[r]=t:(n[e]=t,n[e].nd=r)},wt=(e,t)=>{var r=(e=Ne(e)).includes("j")?((e,t)=>(...r)=>((e,t,r=[])=>(e.includes("j")?(e=e.replace(/p/g,"i"),t=(0,n["dynCall_"+e])(t,...r)):t=vt.get(t)(...r),t))(e,t,r))(e,t):vt.get(t);if("function"!=typeof r)throw new je(`unknown function pointer with signature ${e}: ${t}`);return r},bt=e=>{e=Fn(e);var t=Ne(e);return Pn(e),t},_t=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||He[t]||(qe[t]?qe[t].forEach(e):(r.push(t),n[t]=!0))})),new gt(`${e}: `+r.map(bt).join([", "]))},xt=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(S[t+4*n>>2]);return r},At=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Et(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].Qc)return!0;return!1}function $t(e,t,r,n,i,a){var o=t.length;if(2>o)throw new je("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==r,c=Et(t);for(r="void"!==t[0].name,n=[e,Xe,n,i,At,t[0],t[1]],i=0;i<o-2;++i)n.push(t[i+2]);if(!c)for(i=s?1:2;i<t.length;++i)null!==t[i].Qc&&n.push(t[i].Qc);c=Et(t),i=t.length-2;var d=[],l=["fn"];for(s&&l.push("thisWired"),o=0;o<i;++o)d.push(`arg${o}`),l.push(`arg${o}Wired`);d=d.join(","),l=l.join(","),d=`return function (${d}) {\n`,c&&(d+="var destructors = [];\n");var u=c?"destructors":"null",h="humanName throwBindingError invoker fn runDestructors retType classParam".split(" ");for(s&&(d+=`var thisWired = classParam['toWireType'](${u}, this);\n`),o=0;o<i;++o)d+=`var arg${o}Wired = argType${o}['toWireType'](${u}, arg${o});\n`,h.push(`argType${o}`);if(d+=(r||a?"var rv = ":"")+`invoker(${l});\n`,c)d+="runDestructors(destructors);\n";else for(o=s?1:2;o<t.length;++o)a=1===o?"thisWired":"arg"+(o-2)+"Wired",null!==t[o].Qc&&(d+=`${a}_dtor(${a});\n`,h.push(`${a}_dtor`));r&&(d+="var ret = retType['fromWireType'](rv);\nreturn ret;\n");let[f,p]=[h,d+"}\n"];return f.push(p),t=function(e){var t=Function;if(!(t instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof t} which is not a function`);var r=ot(t.name||"unknownFunctionName",(function(){}));return r.prototype=t.prototype,r=new r,(e=t.apply(r,e))instanceof Object?e:r}(f)(...n),ot(e,t)}var St,Ct,Tt,kt,Pt,Bt,Ft,Ot,Ut,zt,Lt,Rt,Dt,Mt,jt,It,Wt,Gt,Nt,Vt,Ht,qt,Xt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Jt=[],Kt=[],Qt=e=>{9<e&&0==--Kt[e+1]&&(Kt[e]=void 0,Jt.push(e))},Yt=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const t=Jt.pop()||Kt.length;return Kt[t]=e,Kt[t+1]=1,t}},Zt={name:"emscripten::val",fromWireType:e=>{if(!e)throw new je("Cannot use deleted val. handle = "+e);var t=Kt[e];return Qt(e),t},toWireType:(e,t)=>Yt(t),Yc:8,readValueFromPointer:pt,Qc:null},er=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},tr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(C[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},rr=(e,t,r)=>{switch(t){case 1:return r?e=>_[e]:e=>x[e];case 2:return r?e=>A[e>>1]:e=>E[e>>1];case 4:return r?e=>$[e>>2]:e=>S[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},nr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,ir=(e,t)=>{for(var r=e>>1,n=r+t/2;!(r>=n)&&E[r];)++r;if(32<(r<<=1)-e&&nr)return nr.decode(x.subarray(e,r));for(r="",n=0;!(n>=t/2);++n){var i=A[e+2*n>>1];if(0==i)break;r+=String.fromCharCode(i)}return r},ar=(e,t,r)=>{if(r??=2147483647,2>r)return 0;var n=t;r=(r-=2)<2*e.length?r/2:e.length;for(var i=0;i<r;++i)A[t>>1]=e.charCodeAt(i),t+=2;return A[t>>1]=0,t-n},or=e=>2*e.length,sr=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=$[e+4*r>>2];if(0==i)break;++r,65536<=i?(i-=65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i)):n+=String.fromCharCode(i)}return n},cr=(e,t,r)=>{if(r??=2147483647,4>r)return 0;var n=t;r=n+r-4;for(var i=0;i<e.length;++i){var a=e.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),$[t>>2]=a,(t+=4)+4>r)break}return $[t>>2]=0,t-n},dr=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);55296<=n&&57343>=n&&++r,t+=4}return t},lr=0,ur={},hr=e=>{b=e,X||0<lr||(n.onExit?.(e),P=!0),f(e,new H(e))},fr=e=>{if(!P)try{if(e(),!(X||0<lr))try{b=e=b,hr(e)}catch(e){e instanceof H||"unwind"==e||f(1,e)}}catch(e){e instanceof H||"unwind"==e||f(1,e)}},pr=e=>{var t="A