libpag 4.5.3 → 4.5.16

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/lib/libpag.min.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).libpag={})}(this,(function(e){"use strict";const t=(()=>{if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;if("undefined"!=typeof self)return self;throw new Error("unable to locate global object")})();let r;void 0===t.globalThis&&Object.defineProperty(t,"globalThis",{get:()=>t});function n(e){let t=Object.getOwnPropertyNames(e.prototype).filter((t=>"constructor"!==t&&"function"==typeof e.prototype[t]));const r=(t,r)=>{const n=t[r];t[r]=function(...t){if(!this.isDestroyed)return n.call(this,...t);console.error(`Don't call ${r} of the ${e.name} that is destroyed.`)}};t.forEach((t=>r(e.prototype,t)))}var a=(e=>(e[e.None=0]="None",e[e.Stretch=1]="Stretch",e[e.LetterBox=2]="LetterBox",e[e.Zoom=3]="Zoom",e))(a||{}),s=(e=>(e.onAnimationStart="onAnimationStart",e.onAnimationEnd="onAnimationEnd",e.onAnimationCancel="onAnimationCancel",e.onAnimationRepeat="onAnimationRepeat",e.onAnimationUpdate="onAnimationUpdate",e.onAnimationPlay="onAnimationPlay",e.onAnimationPause="onAnimationPause",e.onAnimationFlushed="onAnimationFlushed",e))(s||{}),o=(e=>(e[e.LeftJustify=0]="LeftJustify",e[e.CenterJustify=1]="CenterJustify",e[e.RightJustify=2]="RightJustify",e[e.FullJustifyLastLineLeft=3]="FullJustifyLastLineLeft",e[e.FullJustifyLastLineRight=4]="FullJustifyLastLineRight",e[e.FullJustifyLastLineCenter=5]="FullJustifyLastLineCenter",e[e.FullJustifyLastLineFull=6]="FullJustifyLastLineFull",e))(o||{}),i=(e=>(e[e.Default=0]="Default",e[e.Horizontal=1]="Horizontal",e[e.Vertical=2]="Vertical",e))(i||{}),l=(e=>(e[e.Unknown=0]="Unknown",e[e.Null=1]="Null",e[e.Solid=2]="Solid",e[e.Text=3]="Text",e[e.Shape=4]="Shape",e[e.Image=5]="Image",e[e.PreCompose=6]="PreCompose",e))(l||{}),u=(e=>(e[e.None=0]="None",e[e.Scale=1]="Scale",e[e.Repeat=2]="Repeat",e[e.RepeatInverted=3]="RepeatInverted",e))(u||{}),c=(e=>(e[e.a=0]="a",e[e.c=1]="c",e[e.tx=2]="tx",e[e.b=3]="b",e[e.d=4]="d",e[e.ty=5]="ty",e))(c||{}),h=(e=>(e[e.Success=0]="Success",e[e.TryAgainLater=-1]="TryAgainLater",e[e.Error=-2]="Error",e))(h||{}),d=(e=>(e[e.Unknown=0]="Unknown",e[e.ALPHA_8=1]="ALPHA_8",e[e.RGBA_8888=2]="RGBA_8888",e[e.BGRA_8888=3]="BGRA_8888",e))(d||{}),m=(e=>(e[e.Unknown=0]="Unknown",e[e.Opaque=1]="Opaque",e[e.Premultiplied=2]="Premultiplied",e[e.Unpremultiplied=3]="Unpremultiplied",e))(m||{});class f extends Array{constructor(...e){super(...e),this.isDeleted=!1,Object.setPrototypeOf(this,f.prototype)}static create(){return new f}get(e){if(this.ensureNotDeleted(),e<0||e>=this.length)throw new RangeError("Index out of bounds");return this[e]}push_back(e){this.ensureNotDeleted(),this.push(e)}size(){return this.ensureNotDeleted(),this.length}delete(){this.ensureNotDeleted(),this.length=0,this.isDeleted=!0}ensureNotDeleted(){if(this.isDeleted)throw new Error("This VecArray instance has been deleted.")}}var p=Object.freeze({__proto__:null,PAGScaleMode:a,PAGViewListenerEvent:s,ParagraphJustification:o,TextDirection:i,LayerType:l,PAGTimeStretchMode:u,MatrixIndex:c,DecoderResult:h,ColorType:d,AlphaType:m,VecArray:f}),g=Object.defineProperty,w=Object.getOwnPropertyDescriptor;let v=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static makeAll(e,t,n,a,s,o,i=0,l=0,u=1){const c=r._Matrix._MakeAll(e,t,n,a,s,o,i,l,u);if(!c)throw new Error("Matrix.makeAll fail, please check parameters valid!");return new v(c)}static makeScale(e,t){let n;if(n=void 0!==t?r._Matrix._MakeScale(e,t):r._Matrix._MakeScale(e),!n)throw new Error("Matrix.makeScale fail, please check parameters valid!");return new v(n)}static makeTrans(e,t){const n=r._Matrix._MakeTrans(e,t);if(!n)throw new Error("Matrix.makeTrans fail, please check parameters valid!");return new v(n)}get a(){return this.wasmIns?this.wasmIns._get(c.a):0}set a(e){this.wasmIns?._set(c.a,e)}get b(){return this.wasmIns?this.wasmIns._get(c.b):0}set b(e){this.wasmIns?._set(c.b,e)}get c(){return this.wasmIns?this.wasmIns._get(c.c):0}set c(e){this.wasmIns?._set(c.c,e)}get d(){return this.wasmIns?this.wasmIns._get(c.d):0}set d(e){this.wasmIns?._set(c.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(c.tx):0}set tx(e){this.wasmIns?._set(c.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(c.ty):0}set ty(e){this.wasmIns?._set(c.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}setAll(e,t,r,n,a,s){this.wasmIns?._setAll(e,t,r,n,a,s,0,0,1)}setAffine(e,t,r,n,a,s){this.wasmIns?._setAffine(e,t,r,n,a,s)}reset(){this.wasmIns?._reset()}setTranslate(e,t){this.wasmIns?._setTranslate(e,t)}setScale(e,t,r=0,n=0){this.wasmIns?._setScale(e,t,r,n)}setRotate(e,t=0,r=0){this.wasmIns?._setRotate(e,t,r)}setSinCos(e,t,r=0,n=0){this.wasmIns?._setSinCos(e,t,r,n)}setSkew(e,t,r=0,n=0){this.wasmIns?._setSkew(e,t,r,n)}setConcat(e,t){this.wasmIns?._setConcat(e.wasmIns,t.wasmIns)}preTranslate(e,t){this.wasmIns?._preTranslate(e,t)}preScale(e,t,r=0,n=0){this.wasmIns?._preScale(e,t,r,n)}preRotate(e,t=0,r=0){this.wasmIns?._preRotate(e,t,r)}preSkew(e,t,r=0,n=0){this.wasmIns?._preSkew(e,t,r,n)}preConcat(e){this.wasmIns?._preConcat(e.wasmIns)}postTranslate(e,t){this.wasmIns?._postTranslate(e,t)}postScale(e,t,r=0,n=0){this.wasmIns?._postScale(e,t,r,n)}postRotate(e,t=0,r=0){this.wasmIns?._postRotate(e,t,r)}postSkew(e,t,r=0,n=0){this.wasmIns?._postSkew(e,t,r,n)}postConcat(e){this.wasmIns?._postConcat(e.wasmIns)}destroy(){this.wasmIns.delete()}};v=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?w(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&g(t,r,s),s})([n],v);const y=(e,t,...r)=>e.call(t,...r),b=(e,t)=>new Proxy(e,{get(e,r,n){switch(r){case"get":return r=>{const n=y(e.get,e,r);return n?t(n):n};case"push_back":return t=>{y(e.push_back,e,t.wasmIns||t)};case"size":return()=>y(e.size,e);default:return Reflect.get(e,r,n)}}}),_=e=>{switch(y(e._layerType,e)){case l.Solid:return new r.PAGSolidLayer(e);case l.Text:return new r.PAGTextLayer(e);case l.Image:return new r.PAGImageLayer(e);default:return new r.PAGLayer(e)}},E=e=>e?.wasmIns?e.wasmIns:e,x=(e,t)=>void 0!==t&&e instanceof t;var C=Object.defineProperty,T=Object.getOwnPropertyDescriptor;let P=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}uniqueID(){return this.wasmIns._uniqueID()}layerType(){return this.wasmIns._layerType()}layerName(){return this.wasmIns._layerName()}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}resetMatrix(){this.wasmIns._resetMatrix()}getTotalMatrix(){if(!this.wasmIns._getTotalMatrix())throw new Error("Get total matrix fail!");return new v(this.wasmIns._getTotalMatrix())}alpha(){return this.wasmIns._alpha()}setAlpha(e){this.wasmIns._setAlpha(e)}visible(){return this.wasmIns._visible()}setVisible(e){this.wasmIns._setVisible(e)}editableIndex(){return this.wasmIns._editableIndex()}parent(){const e=this.wasmIns._parent();if(!e)throw new Error("Get total matrix fail!");return new A(e)}markers(){const e=this.wasmIns._markers();if(!e)throw new Error("Get markers fail!");return b(e,(e=>e))}localTimeToGlobal(e){return this.wasmIns._localTimeToGlobal(e)}globalToLocalTime(e){return this.wasmIns._globalToLocalTime(e)}duration(){return this.wasmIns._duration()}frameRate(){return this.wasmIns._frameRate()}startTime(){return this.wasmIns._startTime()}setStartTime(e){this.wasmIns._setStartTime(e)}currentTime(){return this.wasmIns._currentTime()}setCurrentTime(e){this.wasmIns._setCurrentTime(e)}getProgress(){return this.wasmIns._getProgress()}setProgress(e){this.wasmIns._setProgress(e)}preFrame(){this.wasmIns._preFrame()}nextFrame(){this.wasmIns._nextFrame()}getBounds(){return this.wasmIns._getBounds()}trackMatteLayer(){const e=this.wasmIns._trackMatteLayer();if(!e)throw new Error("Get track matte layer fail!");return _(e)}excludedFromTimeline(){return this.wasmIns._excludedFromTimeline()}setExcludedFromTimeline(e){this.wasmIns._setExcludedFromTimeline(e)}isPAGFile(){return this.wasmIns._isPAGFile()}asTypeLayer(){return _(this.wasmIns)}isDelete(){return this.wasmIns.isDelete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};P=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?T(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&C(t,r,s),s})([n],P);var k=Object.defineProperty,I=Object.getOwnPropertyDescriptor;let A=class extends P{static make(e,t){const n=r._PAGComposition._Make(e,t);if(!n)throw new Error("Make PAGComposition fail!");return new A(n)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}setContentSize(e,t){this.wasmIns._setContentSize(e,t)}numChildren(){return this.wasmIns._numChildren()}getLayerAt(e){const t=this.wasmIns._getLayerAt(e);if(!t)throw new Error(`Get layer at ${e} fail!`);return _(t)}getLayerIndex(e){return this.wasmIns._getLayerIndex(e.wasmIns)}setLayerIndex(e,t){return this.wasmIns._setLayerIndex(e.wasmIns,t)}addLayer(e){return this.wasmIns._addLayer(e.wasmIns)}addLayerAt(e,t){return this.wasmIns._addLayerAt(e.wasmIns,t)}contains(e){return this.wasmIns._contains(e.wasmIns)}removeLayer(e){const t=this.wasmIns._removeLayer(e.wasmIns);if(!t)throw new Error("Remove layer fail!");return _(t)}removeLayerAt(e){const t=this.wasmIns._removeLayerAt(e);if(!t)throw new Error(`Remove layer at ${e} fail!`);return _(t)}removeAllLayers(){this.wasmIns._removeAllLayers()}swapLayer(e,t){this.wasmIns._swapLayer(e.wasmIns,t.wasmIns)}swapLayerAt(e,t){this.wasmIns._swapLayerAt(e,t)}audioBytes(){return this.wasmIns._audioBytes()}audioMarkers(){const e=this.wasmIns._audioMarkers();if(!e)throw new Error("Get audioMarkers fail!");return b(e,(e=>e))}audioStartTime(){return this.wasmIns._audioStartTime()}getLayersByName(e){const t=this.wasmIns._getLayersByName(e);if(!t)throw new Error(`Get layers by ${e} fail!`);const r=f.create();for(const e of t)r.push(_(e));return r}getLayersUnderPoint(e,t){const r=this.wasmIns._getLayersUnderPoint(e,t);if(!r)throw new Error(`Get layers under point ${e},${t} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}};A=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?I(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&k(t,r,s),s})([n],A);const S=e=>new Promise((t=>{const r=new FileReader;r.onload=()=>{t(r.result)},r.onerror=()=>{console.error(r.error.message)},r.readAsArrayBuffer(e)}));var F=Object.defineProperty,L=Object.getOwnPropertyDescriptor;let $=class extends A{static async load(e){const t=await(e=>x(e,globalThis.File)?S(e):x(e,globalThis.Blob)?S(new File([e],"")):x(e,globalThis.ArrayBuffer)?Promise.resolve(e):Promise.resolve(null))(e);if(!t)throw new Error("Initialize PAGFile data type error, please put check data type must to be File | Blob | ArrayBuffer!");return $.loadFromBuffer(t)}static loadFromBuffer(e){if(!(e&&e.byteLength>0))throw new Error("Initialize PAGFile data not be empty!");const t=new Uint8Array(e),n=r._PAGFile._Load(t);if(!n)throw new Error("Load PAGFile fail!");return new $(n)}static maxSupportedTagLevel(){return r._PAGFile._MaxSupportedTagLevel()}tagLevel(){return this.wasmIns._tagLevel()}numTexts(){return this.wasmIns._numTexts()}numImages(){return this.wasmIns._numImages()}numVideos(){return this.wasmIns._numVideos()}getTextData(e){return this.wasmIns._getTextData(e)}replaceText(e,t){this.wasmIns._replaceText(e,t)}replaceImage(e,t){this.wasmIns._replaceImage(e,t.wasmIns)}getLayersByEditableIndex(e,t){const r=this.wasmIns._getLayersByEditableIndex(e,t);if(!r)throw new Error(`Get ${(e=>{switch(e){case l.Solid:return"Solid";case l.Text:return"Text";case l.Shape:return"Shape";case l.Image:return"Image";case l.PreCompose:return"PreCompose";default:return"Unknown"}})(t)} layers by ${e} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}getEditableIndices(e){return this.wasmIns._getEditableIndices(e)}timeStretchMode(){return this.wasmIns._timeStretchMode()}setTimeStretchMode(e){this.wasmIns._setTimeStretchMode(e)}setDuration(e){this.wasmIns._setDuration(e)}copyOriginal(){const e=this.wasmIns._copyOriginal();if(!e)throw new Error("Copy original fail!");return new $(e)}};$=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?L(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&F(t,r,s),s})([n],$);var D=Object.defineProperty,M=Object.getOwnPropertyDescriptor;let B=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static fromCanvas(e){const t=r._PAGSurface._FromCanvas(e);if(!t)throw new Error(`Make PAGSurface from canvas ${e} fail!`);return new B(t)}static fromTexture(e,t,n,a){const s=r._PAGSurface._FromTexture(e,t,n,a);if(!s)throw new Error(`Make PAGSurface from texture ${e} fail!`);return new B(s)}static fromRenderTarget(e,t,n,a){const s=r._PAGSurface._FromRenderTarget(e,t,n,a);if(!s)throw new Error(`Make PAGSurface from frameBuffer ${e} fail!`);return new B(s)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}updateSize(){this.wasmIns._updateSize()}clearAll(){return this.wasmIns._clearAll()}freeCache(){this.wasmIns._freeCache()}readPixels(e,t){if(e===d.Unknown)return null;const r=this.wasmIns._width()*(e===d.ALPHA_8?1:4);return this.wasmIns._readPixels(e,t,r)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};B=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?M(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&D(t,r,s),s})([n],B);var R=Object.defineProperty,G=Object.getOwnPropertyDescriptor;let O=class{constructor(e){this.isDestroyed=!1,this.videoReaders=[],this.wasmIns=e}static create(){const e=new r._PAGPlayer;if(!e)throw new Error("Create PAGPlayer fail!");return new O(e)}setProgress(e){this.wasmIns._setProgress(e)}async flush(){return r.webAssemblyQueue.exec(this.wasmIns._flush,this.wasmIns)}async flushInternal(e){const t=await r.webAssemblyQueue.exec((async()=>{r.currentPlayer=this;const t=await this.wasmIns._flush();return r.currentPlayer=null,e(t),t}),this.wasmIns);for(const e of this.videoReaders){const t=await e.getError();if(null!==t)throw t}return t}duration(){return this.wasmIns._duration()}getProgress(){return this.wasmIns._getProgress()}currentFrame(){return this.wasmIns._currentFrame()}videoEnabled(){return this.wasmIns._videoEnabled()}setVideoEnabled(e){this.wasmIns._setVideoEnabled(e)}cacheEnabled(){return this.wasmIns._cacheEnabled()}setCacheEnabled(e){this.wasmIns._setCacheEnabled(e)}cacheScale(){return this.wasmIns._cacheScale()}setCacheScale(e){this.wasmIns._setCacheScale(e)}maxFrameRate(){return this.wasmIns._maxFrameRate()}setMaxFrameRate(e){this.wasmIns._setMaxFrameRate(e)}scaleMode(){return this.wasmIns._scaleMode()}setScaleMode(e){this.wasmIns._setScaleMode(e)}setSurface(e){this.wasmIns._setSurface(E(e))}getComposition(){const e=this.wasmIns._getComposition();if(!e)throw new Error("Get composition fail!");return e._isPAGFile()?new $(e):new A(e)}setComposition(e){this.wasmIns._setComposition(E(e))}getSurface(){const e=this.wasmIns._getSurface();if(!e)throw new Error("Get surface fail!");return new B(e)}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}nextFrame(){this.wasmIns._nextFrame()}preFrame(){this.wasmIns._preFrame()}autoClear(){return this.wasmIns._autoClear()}setAutoClear(e){this.wasmIns._setAutoClear(e)}getBounds(e){return this.wasmIns._getBounds(e.wasmIns)}getLayersUnderPoint(e,t){const r=this.wasmIns._getLayersUnderPoint(e,t);if(!r)throw new Error(`Get layers under point, x: ${e} y:${t} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}hitTestPoint(e,t,r,n=!1){return this.wasmIns._hitTestPoint(e.wasmIns,t,r,n)}renderingTime(){return this.wasmIns._renderingTime()}imageDecodingTime(){return this.wasmIns._imageDecodingTime()}presentingTime(){return this.wasmIns._presentingTime()}graphicsMemory(){return this.wasmIns._graphicsMemory()}prepare(){return r.webAssemblyQueue.exec((async()=>{r.currentPlayer=this,await this.wasmIns._prepare(),r.currentPlayer=null}),this.wasmIns)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}linkVideoReader(e){this.videoReaders.push(e)}unlinkVideoReader(e){const t=this.videoReaders.indexOf(e);-1!==t&&this.videoReaders.splice(t,1)}};O=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?G(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&R(t,r,s),s})([n],O);var N=Object.defineProperty,j=Object.getOwnPropertyDescriptor;let U=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static async fromFile(e){return new Promise(((t,r)=>{const n=new Image;n.onload=async()=>{t(U.fromSource(n))},n.onerror=e=>{r(e)},n.src=URL.createObjectURL(e)}))}static fromSource(e){const t=r._PAGImage._FromNativeImage(e);if(!t)throw new Error("Make PAGImage from source fail!");return new U(t)}static fromPixels(e,t,n,a,s){const o=t*(a===d.ALPHA_8?1:4),i=r._PAGImage._FromPixels(e,t,n,o,a,s);if(!i)throw new Error("Make PAGImage from pixels fail!");return new U(i)}static fromTexture(e,t,n,a){const s=r._PAGImage._FromTexture(e,t,n,a);if(!s)throw new Error("Make PAGImage from texture fail!");return new U(s)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}scaleMode(){return this.wasmIns._scaleMode()}setScaleMode(e){this.wasmIns._setScaleMode(e)}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};U=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?j(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&N(t,r,s),s})([n],U);class W{constructor(){this.listenerMap=new Map}on(e,t){let r=[];this.listenerMap.has(e)&&(r=this.listenerMap.get(e)),r.push(t),this.listenerMap.set(e,r)}off(e,t){if(!this.listenerMap.has(e))return!1;const r=this.listenerMap.get(e);if(0===r.length)return!1;if(!t)return this.listenerMap.delete(e),!0;const n=r.indexOf(t);return-1!==n&&(r.splice(n,1),!0)}emit(e,t){if(!this.listenerMap.has(e))return!1;const r=this.listenerMap.get(e);return 0!==r.length&&(r.forEach((e=>e(t))),!0)}}const H=2560,V={depth:!1,stencil:!1,antialias:!1};class z{constructor(e,t=!1){this.isDestroyed=!1,this.oldHandle=0,this.handle=e,this.externallyOwned=t}static from(e){if(e instanceof z)return new z(e.handle,!0);{const t=x(e,globalThis.WebGL2RenderingContext)?2:1,{GL:n}=r;let a=0;return n.contexts.length>0&&(a=n.contexts.findIndex((t=>t?.GLctx===e))),a<1?(a=n.registerContext(e,{majorVersion:t,minorVersion:0,...V}),new z(a)):new z(a,!0)}}getContext(){return r.GL.getContext(this.handle).GLctx}makeCurrent(){return!this.isDestroyed&&(this.oldHandle=r.GL.currentContext?.handle||0,this.oldHandle===this.handle||r.GL.makeContextCurrent(this.handle))}clearCurrent(){this.isDestroyed||this.oldHandle!==this.handle&&(r.GL.makeContextCurrent(0),this.oldHandle&&r.GL.makeContextCurrent(this.oldHandle))}registerTexture(e){return this.register(r.GL.textures,e)}getTexture(e){return r.GL.textures[e]}unregisterTexture(e){r.GL.textures[e]=null}registerRenderTarget(e){return this.register(r.GL.framebuffers,e)}getRenderTarget(e){return r.GL.framebuffers[e]}unregisterRenderTarget(e){r.GL.framebuffers[e]=null}destroy(){this.externallyOwned||r.GL.deleteContext(this.handle)}register(e,t){const n=r.GL.getNewId(e);return e[n]=t,n}}const q=[];class X{constructor(e,t){this._canvas=null,this._glContext=null,this.retainCount=0,this._canvas=e;const r=e.getContext("webgl",{...V,...t});if(!r)throw new Error("Canvas context is not WebGL!");this._glContext=z.from(r)}static from(e,t){let r=q.find((t=>t.canvas===e));return r||(r=new X(e,t),q.push(r),r)}retain(){this.retainCount+=1}release(){if(this.retainCount-=1,0===this.retainCount){if(!this._glContext)return;this._glContext.destroy(),this._glContext=null,this._canvas=null}}get canvas(){return this._canvas}get glContext(){return this._glContext}}let J;try{J=performance.now.bind(performance)}catch(e){J=Date.now.bind(Date)}class K{constructor(){this.startTime=J(),this.markers={}}reset(){this.startTime=J(),this.markers={}}mark(e){e?Object.keys(this.markers).find((t=>t===e))?console.log(`Clock.mark(): The specified marker name '${e}' already exists!`):this.markers[e]=J():console.log("Clock.mark(): An empty marker name was specified!")}measure(e,t){let r,n;if(e){if(!Object.keys(this.markers).find((t=>t===e)))return console.log(`Clock.measure(): The specified makerFrom '${e}' does not exist!`),0;r=this.markers[e]}else r=this.startTime;if(t){if(!Object.keys(this.markers).find((e=>e===t)))return console.log(`Clock.measure(): The specified makerTo '${t}' does not exist!`),0;n=this.markers[t]}else n=J();return n-r}}const Q=(e,t)=>void 0!==t&&e instanceof t,Y=navigator?.userAgent||"",Z=/android|adr/i.test(Y),ee=/(mobile)/i.test(Y)&&Z;!/(mobile)/i.test(Y)&&!ee&&/Mac OS X/i.test(Y);const te=/(iphone|ipad|ipod)/i.test(Y);/MicroMessenger/i.test(Y);const re=/^((?!chrome|android).)*safari/i.test(Y)||te,ne="function"==typeof globalThis.importScripts,ae=new Array,se=e=>Q(e,globalThis.OffscreenCanvas),oe=(e,t)=>{let r=ae.pop()||le();return null!==r&&(r.width=e,r.height=t),r},ie=e=>{ae.length<10&&ae.push(e)},le=()=>{if(re&&!ne)return document.createElement("canvas");try{const e=new OffscreenCanvas(0,0);return"function"==typeof e.getContext("2d").measureText?e:document.createElement("canvas")}catch(e){return document.createElement("canvas")}};var ue=Object.defineProperty,ce=Object.getOwnPropertyDescriptor;let he=class{constructor(e,t){this.repeatCount=0,this.isPlaying=!1,this.isDestroyed=!1,this.pagViewOptions={useScale:!0,useCanvas2D:!1,firstFrame:!0},this.renderCanvas=null,this.pagGlContext=null,this.frameRate=0,this.pagSurface=null,this.playFrame=-1,this.timer=null,this.flushingNextFrame=!1,this.playTime=0,this.startTime=0,this.repeatedTimes=0,this.eventManager=new W,this.rawWidth=0,this.rawHeight=0,this.debugData={FPS:0,flushTime:0},this.fpsBuffer=[],this.player=e,this.canvasElement=t}static async init(e,t,n={}){let a=null;if("string"==typeof t?a=document.getElementById(t.substr(1)):("undefined"!=typeof window&&x(t,globalThis.HTMLCanvasElement)||se(t))&&(a=t),!a)throw new Error("Canvas is not found!");const s=r.PAGPlayer.create(),o=new he(s,a);return o.pagViewOptions={...o.pagViewOptions,...n},o.pagViewOptions.useCanvas2D?(r.globalCanvas.retain(),o.pagGlContext=z.from(r.globalCanvas.glContext)):(o.renderCanvas=X.from(a),o.renderCanvas.retain(),o.pagGlContext=z.from(o.renderCanvas.glContext)),o.resetSize(o.pagViewOptions.useScale),o.frameRate=e.frameRate(),o.pagSurface=this.makePAGSurface(o.pagGlContext,o.rawWidth,o.rawHeight),o.player.setSurface(o.pagSurface),o.player.setComposition(e),o.setProgress(0),o.pagViewOptions.firstFrame&&(await o.flush(),o.playFrame=0),o}static makePAGSurface(e,t,r){if(!e.makeCurrent())throw new Error("Make context current fail!");const n=B.fromRenderTarget(0,t,r,!0);return e.clearCurrent(),n}duration(){return this.player.duration()}addListener(e,t){return this.eventManager.on(e,t)}removeListener(e,t){return this.eventManager.off(e,t)}async play(){if(this.isPlaying)return;this.isPlaying=!0,this.startTime=1e3*this.getNowTime()-this.playTime;for(const e of this.player.videoReaders)e.isPlaying=!0;const e=this.playTime;await this.flushLoop(!0),0===e&&this.eventManager.emit("onAnimationStart",this),this.eventManager.emit("onAnimationPlay",this),0===this.playFrame&&this.eventManager.emit("onAnimationUpdate",this)}pause(){if(this.isPlaying){this.clearTimer();for(const e of this.player.videoReaders)e.pause();this.isPlaying=!1,this.eventManager.emit("onAnimationPause",this)}}async stop(e=!0){this.clearTimer(),this.playTime=0,this.player.setProgress(0),this.playFrame=0,await this.flush();for(const e of this.player.videoReaders)e.stop();this.isPlaying=!1,e&&this.eventManager.emit("onAnimationCancel",this)}setRepeatCount(e){this.repeatCount=e<0?0:e-1}getProgress(){return this.player.getProgress()}currentFrame(){return this.player.currentFrame()}setProgress(e){return this.playTime=e*this.duration(),this.startTime=1e3*this.getNowTime()-this.playTime,this.isPlaying||this.player.setProgress(e),e}videoEnabled(){return this.player.videoEnabled()}setVideoEnabled(e){this.player.setVideoEnabled(e)}cacheEnabled(){return this.player.cacheEnabled()}setCacheEnabled(e){this.player.setCacheEnabled(e)}cacheScale(){return this.player.cacheScale()}setCacheScale(e){this.player.setCacheScale(e)}maxFrameRate(){return this.player.maxFrameRate()}setMaxFrameRate(e){this.player.setMaxFrameRate(e)}scaleMode(){return this.player.scaleMode()}setScaleMode(e){this.player.setScaleMode(e)}async flush(){const e=new K,t=await this.player.flushInternal((t=>{if(this.pagViewOptions.useCanvas2D&&t&&r.globalCanvas.canvas){this.canvasContext||(this.canvasContext=this.canvasElement?.getContext("2d"));const e=this.canvasContext.globalCompositeOperation;this.canvasContext.globalCompositeOperation="copy",this.canvasContext?.drawImage(r.globalCanvas.canvas,0,r.globalCanvas.canvas.height-this.rawHeight,this.rawWidth,this.rawHeight,0,0,this.canvasContext.canvas.width,this.canvasContext.canvas.height),this.canvasContext.globalCompositeOperation=e}e.mark("flush"),this.setDebugData({flushTime:e.measure("","flush")}),this.updateFPS()}));return this.eventManager.emit("onAnimationUpdate",this),t&&this.eventManager.emit("onAnimationFlushed",this),t}freeCache(){this.pagSurface?.freeCache()}getComposition(){return this.player.getComposition()}setComposition(e){this.player.setComposition(e)}matrix(){return this.player.matrix()}setMatrix(e){this.player.setMatrix(e)}getLayersUnderPoint(e,t){return this.player.getLayersUnderPoint(e,t)}updateSize(){if(!this.canvasElement)throw new Error("Canvas element is not found!");if(this.rawWidth=this.canvasElement.width,this.rawHeight=this.canvasElement.height,!this.pagGlContext)return;const e=he.makePAGSurface(this.pagGlContext,this.rawWidth,this.rawHeight);this.player.setSurface(e),this.pagSurface?.destroy(),this.pagSurface=e}prepare(){return this.player.prepare()}async makeSnapshot(){return await createImageBitmap(this.canvasElement)}destroy(){this.clearTimer(),this.player.destroy(),this.pagSurface?.destroy(),this.pagViewOptions.useCanvas2D?r.globalCanvas.release():this.renderCanvas?.release(),this.pagGlContext?.destroy(),this.pagGlContext=null,this.canvasContext=null,this.canvasElement=null,this.isDestroyed=!0}getDebugData(){return this.debugData}setDebugData(e){this.debugData={...this.debugData,...e}}async flushLoop(e=!1){if(this.isPlaying&&(this.setTimer(),!this.flushingNextFrame))try{this.flushingNextFrame=!0,await this.flushNextFrame(e),this.flushingNextFrame=!1}catch(e){throw this.flushingNextFrame=!1,"The play() request was interrupted because the document was hidden!"!==e.message&&this.clearTimer(),e}}async flushNextFrame(e=!1){const t=this.duration();this.playTime=1e3*this.getNowTime()-this.startTime;const r=Math.floor(this.playTime/1e6*this.frameRate),n=Math.floor(this.playTime/t);if(!e&&this.repeatCount>=0&&n>this.repeatCount)return this.clearTimer(),this.player.setProgress(1),await this.flush(),this.playTime=0,this.isPlaying=!1,this.repeatedTimes=0,this.eventManager.emit("onAnimationEnd",this),!0;if(!e&&this.repeatedTimes===n&&this.playFrame===r)return!1;this.repeatedTimes<n&&this.eventManager.emit("onAnimationRepeat",this),this.player.setProgress(this.playTime%t/t);const a=await this.flush();return this.needResetStartTime()&&(this.startTime=1e3*this.getNowTime()-this.playTime),this.playFrame=r,this.repeatedTimes=n,a}getNowTime(){try{return performance.now()}catch(e){return Date.now()}}setTimer(){this.timer=globalThis.requestAnimationFrame((()=>{this.flushLoop()}))}clearTimer(){this.timer&&(globalThis.cancelAnimationFrame(this.timer),this.timer=null)}resetSize(e=!0){if(!this.canvasElement)throw new Error("Canvas element is not found!");if(!e||se(this.canvasElement))return this.rawWidth=this.canvasElement.width,void(this.rawHeight=this.canvasElement.height);const t=this.canvasElement,r=(e=>{const t=globalThis.getComputedStyle(e,null),r={width:Number(t.width.replace("px","")),height:Number(t.height.replace("px",""))};if(r.width>0&&r.height>0)return r;{const t={width:Number(e.style.width.replace("px","")),height:Number(e.style.height.replace("px",""))};return t.width>0&&t.height>0?t:{width:e.width,height:e.height}}})(t);t.style.width=`${r.width}px`,t.style.height=`${r.height}px`,this.rawWidth=r.width*globalThis.devicePixelRatio,this.rawHeight=r.height*globalThis.devicePixelRatio,t.width=this.rawWidth,t.height=this.rawHeight}updateFPS(){let e;try{e=performance.now()}catch(t){e=Date.now()}this.fpsBuffer=this.fpsBuffer.filter((t=>e-t<=1e3)),this.fpsBuffer.push(e),this.setDebugData({FPS:this.fpsBuffer.length})}needResetStartTime(){for(const e of this.player.videoReaders)if(e.isSought)return!0;return!1}};he=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?ce(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&ue(t,r,s),s})([n],he);const de=["emoji"].concat(...["Arial",'"Courier New"',"Georgia",'"Times New Roman"','"Trebuchet MS"',"Verdana"]);var me=Object.defineProperty,fe=Object.getOwnPropertyDescriptor;let pe=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e,this.fontFamily=this.wasmIns.fontFamily,this.fontStyle=this.wasmIns.fontStyle}static create(e,t){const n=r._PAGFont._create(e,t);if(!n)throw new Error("Create PAGFont fail!");return new pe(n)}static async registerFont(e,t){const r=await S(t);if(!(r&&r.byteLength>0))throw new Error("Initialize PAGFont data not be empty!");const n=new Uint8Array(r),a=new FontFace(e,n);document.fonts.add(a),await a.load()}static registerFallbackFontNames(e=[]){const t=new r.VectorString,n=e.concat(de);for(const e of n)t.push_back(e);r._PAGFont._SetFallbackFontNames(t),t.delete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};pe=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?fe(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&me(t,r,s),s})([n],pe);let ge={};const we=(e,t,r,n=!1)=>{t in ge||(ge[t]=[]),ge[t]?.push({node:e,handler:r,capture:n}),e.addEventListener(t,r,n)},ve=(e,t,r)=>{t in ge&&ge[t]?.filter((({node:t,handler:n})=>t===e&&n===r)).forEach((({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n)))},ye=(e,t)=>{t in ge&&(ge[t]?.filter((({node:t})=>t===e)).forEach((({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n))),ge[t]=ge[t]?.filter((({node:t})=>t!==e)))},be=navigator?.userAgent||"",_e=/android|adr/i.test(be),Ee=/(mobile)/i.test(be)&&_e;!/(mobile)/i.test(be)&&!Ee&&/Mac OS X/i.test(be);const xe=/(iphone|ipad|ipod)/i.test(be),Ce=/MicroMessenger/i.test(be),Te=/^((?!chrome|android).)*safari/i.test(be)||xe,Pe=e=>new Promise((t=>{const r=()=>{ve(e,"canplay",r),clearTimeout(n),t(!0)};we(e,"canplay",r);const n=setTimeout((()=>{ve(e,"canplay",r),t(!1)}),1e3)}));class ke{constructor(e,t,r,n,a){if(this.isSought=!1,this.isPlaying=!1,this.bitmap=null,this.videoEl=null,this.frameRate=0,this.canplay=!1,this.staticTimeRanges=null,this.disablePlaybackRate=!1,this.error=null,this.player=null,this.width=0,this.height=0,this.bitmapCanvas=null,this.bitmapCtx=null,this.currentFrame=0,x(e,globalThis.HTMLVideoElement))this.videoEl=e,this.canplay=!0;else{this.videoEl=document.createElement("video"),this.videoEl.style.display="none",this.videoEl.muted=!0,this.videoEl.playsInline=!0,this.videoEl.preload="auto",this.videoEl.width=t,this.videoEl.height=r,Pe(this.videoEl).then((()=>{this.canplay=!0}));const n=e.slice(),a=new Blob([n],{type:"video/mp4"});this.videoEl.src=URL.createObjectURL(a),xe&&this.videoEl.load()}this.frameRate=n,this.width=t,this.height=r,this.staticTimeRanges=new Ie(a),(3840<t||3840<r)&&(this.disablePlaybackRate=!0)}static create(e,t,r,n,a){return new ke(e,t,r,n,a)}async prepare(e,t){const r=new Promise((async(r,n)=>{this.setError(null),this.isSought=!1;const{currentTime:a}=this.videoEl,s=e/this.frameRate;if(0===a&&0===s)if(this.canplay||Te){try{await this.play()}catch(t){return this.setError(t),this.currentFrame=e,void n(t)}await new Promise((e=>{requestAnimationFrame((()=>{this.pause(),e()}))}))}else await Pe(this.videoEl);else if(Math.round(s*this.frameRate)===Math.round(a*this.frameRate));else{if(this.staticTimeRanges?.contains(e))return await this.seek(s,!1),this.currentFrame=e,void r();if(!(Math.abs(a-s)<1/this.frameRate*3))return this.isSought=!0,await this.seek(s),this.currentFrame=e,void r()}const o=Math.min(Math.max(t,.125),4);if(this.disablePlaybackRate||this.videoEl.playbackRate===o||(this.videoEl.playbackRate=o),this.isPlaying&&this.videoEl.paused)try{await this.play()}catch(t){return this.setError(t),this.currentFrame=e,void n(t)}this.currentFrame=e,r()}));await r}getCurrentFrame(){return this.currentFrame}getVideo(){return this.videoEl}async play(){if(this.videoEl.paused){if(Ce&&window.WeixinJSBridge&&await new Promise((e=>{window.WeixinJSBridge.invoke("getNetworkType",{},(()=>{e()}),(()=>{e()}))})),"visible"!==document.visibilityState){const e=()=>{"visible"===document.visibilityState&&(this.videoEl&&this.videoEl.play(),window.removeEventListener("visibilitychange",e))};throw window.addEventListener("visibilitychange",e),new Error("The play() request was interrupted because the document was hidden!")}await(this.videoEl?.play())}}pause(){this.isPlaying=!1,this.videoEl.paused||this.videoEl?.pause()}stop(){this.isPlaying=!1,this.videoEl.paused||this.videoEl?.pause(),this.videoEl.currentTime=0}getError(){return this.error}onDestroy(){this.player&&this.player.unlinkVideoReader(this),ye(this.videoEl,"playing"),ye(this.videoEl,"timeupdate"),this.videoEl=null,this.bitmapCanvas=null,this.bitmapCtx=null}seek(e,t=!0){return new Promise(((r,n)=>{if(!this.videoEl)return void n(new Error("Video element is not initialized."));const a=()=>{ve(this.videoEl,"seeked",a),clearTimeout(o),t?this.videoEl?.play().catch((e=>{this.setError(e)})):t||this.videoEl.paused||this.videoEl?.pause(),r()},s=()=>{ve(this.videoEl,"canplay",s),this.videoEl.currentTime=e,we(this.videoEl,"seeked",a)},o=setTimeout((()=>{ve(this.videoEl,"canplay",s),ve(this.videoEl,"seeked",a),n(new Error("Seek operation timed out."))}),1e3/this.frameRate*12);this.videoEl.readyState<HTMLMediaElement.HAVE_FUTURE_DATA?we(this.videoEl,"canplay",s):(this.videoEl.currentTime=e,we(this.videoEl,"seeked",a))}))}setError(e){this.error=e}linkPlayer(e){this.player=e,e&&e.linkVideoReader(this)}}class Ie{constructor(e){this.timeRanges=e}contains(e){if(0===this.timeRanges.length)return!1;for(let t of this.timeRanges)if(t.start<=e&&e<t.end)return!0;return!1}}class Ae{constructor(){this._canvas=null,this._glContext=null,this.width=H,this.height=H,this.retainCount=0}retain(){if(0===this.retainCount){try{this._canvas=new OffscreenCanvas(0,0)}catch(e){this._canvas=document.createElement("canvas")}this._canvas.width=this.width,this._canvas.height=this.height;const e=this._canvas.getContext("webgl",V);if(!e)throw new Error("Canvas context is not WebGL!");this._glContext=z.from(e)}this.retainCount+=1}release(){if(this.retainCount-=1,0===this.retainCount){if(!this._glContext)return;this._glContext.destroy(),this._glContext=null,this._canvas=null}}get canvas(){return this._canvas}get glContext(){return this._glContext}setCanvasSize(e=2560,t=2560){this.width=e,this.height=t,this._glContext&&this._canvas&&(this._canvas.width=e,this._canvas.height=t)}}var Se=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor;let Le=class extends P{static make(e,t,n=0,a="",s=""){return new Le("string"==typeof t?r._PAGTextLayer._Make(e,t,n,a,s):r._PAGTextLayer._Make(e,t))}fillColor(){return this.wasmIns._fillColor()}setFillColor(e){this.wasmIns._setFillColor(e)}font(){return new pe(this.wasmIns._font())}setFont(e){this.wasmIns._setFont(e.wasmIns)}fontSize(){return this.wasmIns._fontSize()}setFontSize(e){this.wasmIns._setFontSize(e)}strokeColor(){return this.wasmIns._strokeColor()}setStrokeColor(e){this.wasmIns._setStrokeColor(e)}text(){return this.wasmIns._text()}setText(e){this.wasmIns._setText(e)}reset(){this.wasmIns._reset()}};Le=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?Fe(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Se(t,r,s),s})([n],Le);var $e=Object.defineProperty,De=Object.getOwnPropertyDescriptor;let Me=class extends P{static make(e,t,n){const a=r._PAGImageLayer._Make(e,t,n);if(!a)throw new Error("Make PAGImageLayer fail!");return new Me(a)}contentDuration(){return this.wasmIns._contentDuration()}getVideoRanges(){return this.wasmIns._getVideoRanges()}replaceImage(e){this.wasmIns._replaceImage(e.wasmIns)}setImage(e){this.wasmIns._setImage(e.wasmIns)}layerTimeToContent(e){return this.wasmIns._layerTimeToContent(e)}contentTimeToLayer(e){return this.wasmIns._contentTimeToLayer(e)}imageBytes(){return this.wasmIns._imageBytes()}};Me=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?De(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&$e(t,r,s),s})([n],Me);var Be=Object.defineProperty,Re=Object.getOwnPropertyDescriptor;let Ge=class extends P{static make(e,t,n,a,s){const o=r._PAGSolidLayer._Make(e,t,n,a,s);if(!o)throw new Error("Make PAGSolidLayer fail!");return new Ge(o)}solidColor(){return this.wasmIns._solidColor()}setSolidColor(e){this.wasmIns._setSolidColor(e)}};Ge=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?Re(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Be(t,r,s),s})([n],Ge);let Oe;class Ne{constructor(e){this.bitmap=e}setBitmap(e){this.bitmap&&this.bitmap.close(),this.bitmap=e}}const je=e=>new Promise((t=>{const r=new Image;r.onload=function(){t(r)},r.onerror=function(){console.error("image create from bytes error."),t(null)},r.src=e}));var Ue=Object.freeze({__proto__:null,createImage:je,createImageFromBytes:e=>{const t=new Uint8Array(e),r=new Blob([t],{type:"image/*"});return je(URL.createObjectURL(r))},readImagePixels:(e,t,r,n)=>{if(!t)return null;const a=oe(r,n),s=a.getContext("2d",{willReadFrequently:!0});if(!s)return null;s.drawImage(t,0,0,r,n);const{data:o}=s.getImageData(0,0,r,n);return ie(a),0===o.length?null:new Uint8Array(o)},hasWebpSupport:()=>{try{return 0===document.createElement("canvas").toDataURL("image/webp",.5).indexOf("data:image/webp")}catch(e){return!1}},getSourceSize:e=>Q(e,globalThis.HTMLVideoElement)?{width:e.videoWidth,height:e.videoHeight}:{width:e.width,height:e.height},uploadToTexture:(e,t,r,n)=>{let a=t instanceof Ne?t.bitmap:t;if(!a)return;const s=e.currentContext?.GLctx;s.bindTexture(s.TEXTURE_2D,e.textures[r]),n?(s.pixelStorei(s.UNPACK_ALIGNMENT,1),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.ALPHA,s.UNSIGNED_BYTE,a)):(s.pixelStorei(s.UNPACK_ALIGNMENT,4),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,a),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1))},isAndroidMiniprogram:()=>{if("undefined"!=typeof wx&&wx.getSystemInfoSync)return"android"===wx.getSystemInfoSync().platform},releaseNativeImage:e=>{var t;Q(e,globalThis.ImageBitmap)?e.close():(se(t=e)||Q(t,globalThis.HTMLCanvasElement))&&ie(e)},getBytesFromPath:async(e,t)=>{const r=await fetch(t).then((e=>e.arrayBuffer()));return new Uint8Array(r)},createCanvas2D:oe});var We=(e=>(e[e.a=0]="a",e[e.c=1]="c",e[e.tx=2]="tx",e[e.b=3]="b",e[e.d=4]="d",e[e.ty=5]="ty",e))(We||{}),He=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor;let ze=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}get a(){return this.wasmIns?this.wasmIns._get(We.a):0}set a(e){this.wasmIns?._set(We.a,e)}get b(){return this.wasmIns?this.wasmIns._get(We.b):0}set b(e){this.wasmIns?._set(We.b,e)}get c(){return this.wasmIns?this.wasmIns._get(We.c):0}set c(e){this.wasmIns?._set(We.c,e)}get d(){return this.wasmIns?this.wasmIns._get(We.d):0}set d(e){this.wasmIns?._set(We.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(We.tx):0}set tx(e){this.wasmIns?._set(We.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(We.ty):0}set ty(e){this.wasmIns?._set(We.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}destroy(){this.wasmIns.delete()}};ze=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?Ve(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&He(t,r,s),s})([function(e){let t=Object.getOwnPropertyNames(e.prototype).filter((t=>"constructor"!==t&&"function"==typeof e.prototype[t]));const r=(t,r)=>{const n=t[r];t[r]=function(...t){if(!this.isDestroyed)return n.call(this,...t);console.error(`Don't call ${r} of the ${e.name} that is destroyed.`)}};t.forEach((t=>r(e.prototype,t)))}],ze);const qe=e=>{const t=new Int32Array(e.data.buffer);let r=Xe(t,e.width,e.height),n=Je(t,e.width,e.height),a=Ke(t,e.width,e.height),s=Qe(t,e.width,e.height);return(r>a||n>s)&&(r=0,n=0,a=0,s=0),{left:r,top:n,right:a,bottom:s}},Xe=(e,t,r)=>{const n=e.length/t,a=e.length/r;for(let r=0;r<a;r++)for(let a=0;a<n;a++)if(0!==e[r+a*t])return r;return a},Je=(e,t,r)=>{const n=e.length/t,a=e.length/r;for(let r=0;r<n;r++)for(let n=0;n<a;n++)if(0!==e[r*t+n])return r;return n},Ke=(e,t,r)=>{const n=e.length/t;for(let a=e.length/r-1;a>0;a--)for(let r=n-1;r>0;r--)if(0!==e[a+t*r])return a;return 0},Qe=(e,t,r)=>{const n=e.length/t,a=e.length/r;for(let r=n-1;r>0;r--)for(let n=a-1;n>0;n--)if(0!==e[r*t+n])return r;return 0},Ye=class{constructor(e,t,r){this.fontBoundingBoxMap=[],this.fontName=e,this.fontStyle=t,this.size=r,this.loadCanvas()}static getLineCap(e){switch(e){case Oe.TGFXLineCap.Round:return"round";case Oe.TGFXLineCap.Square:return"square";default:return"butt"}}static getLineJoin(e){switch(e){case Oe.TGFXLineJoin.Round:return"round";case Oe.TGFXLineJoin.Bevel:return"bevel";default:return"miter"}}static setCanvas(e){Ye.canvas=e}static setContext(e){Ye.context=e}static isUnicodePropertyEscapeSupported(){try{new RegExp("\\p{L}","u");return!0}catch(e){return!1}}static isEmoji(e){let t;return t=this.isUnicodePropertyEscapeSupported()?/\p{Extended_Pictographic}|[#*0-9]\uFE0F?\u20E3|[\uD83C\uDDE6-\uD83C\uDDFF]/u:/(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,t.test(e)}static measureDirectly(e){if(void 0===Ye.hasMeasureBoundsAPI){const t=e.measureText("x");Ye.hasMeasureBoundsAPI=t&&t.actualBoundingBoxAscent>0}return Ye.hasMeasureBoundsAPI}fontString(e,t){const r=[];t&&r.push("italic"),e&&r.push("bold"),r.push(`${this.size}px`);const n=de.concat();return n.unshift(...((e,t="")=>{if(!e)return[];const r=e.split(" ");let n=[];1===r.length?n.push(e):(n.push(r.join("")),n.push(r.join(" ")));const a=n.reduce(((e,r)=>(t?(e.push(`"${r} ${t}"`),e.push(`"${r}-${t}"`)):e.push(`"${r}"`),e)),[]);return""!==t&&a.push(`"${e}"`),a})(this.fontName,this.fontStyle)),r.push(`${n.join(",")}`),r.join(" ")}getFontMetrics(){if(this.fontMetrics)return this.fontMetrics;const{context:e}=Ye;e.font=this.fontString(!1,!1);const t=this.measureText(e,"H"),r=t.actualBoundingBoxAscent,n=this.measureText(e,"x").actualBoundingBoxAscent;return this.fontMetrics={ascent:-t.fontBoundingBoxAscent,descent:t.fontBoundingBoxDescent,xHeight:n,capHeight:r},this.fontMetrics}getBounds(e,t,r){const{context:n}=Ye;n.font=this.fontString(t,r);const a=this.measureText(n,e),s={left:Math.floor(-a.actualBoundingBoxLeft),top:Math.floor(-a.actualBoundingBoxAscent),right:Math.ceil(a.actualBoundingBoxRight),bottom:Math.ceil(a.actualBoundingBoxDescent)};return(s.left>=s.right||s.top>=s.bottom)&&(s.left=0,s.top=0,s.right=0,s.bottom=0),s}getAdvance(e){const{context:t}=Ye;return t.font=this.fontString(!1,!1),t.measureText(e).width}readPixels(e,t,r,n){const a=t.right-t.left,s=t.bottom-t.top,o=oe(a,s),i=o.getContext("2d",{willReadFrequently:!0});i.clearRect(0,0,a,s),i.font=this.fontString(r,!1),n?(i.lineJoin=Ye.getLineJoin(n.join),i.miterLimit=n.miterLimit,i.lineCap=Ye.getLineCap(n.cap),i.lineWidth=n.width,i.strokeText(e,-t.left,-t.top)):i.fillText(e,-t.left,-t.top);const{data:l}=i.getImageData(0,0,a,s);return ie(o),0===l.length?null:new Uint8Array(l)}loadCanvas(){Ye.canvas||(Ye.setCanvas(oe(10,10)),Ye.setContext(Ye.canvas.getContext("2d",{willReadFrequently:!0})))}measureText(e,t){if(Ye.measureDirectly(e))return e.measureText(t);e.canvas.width=1.5*this.size,e.canvas.height=1.5*this.size;const r=[0,this.size];e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,r[0],r[1]);const n=e.getImageData(0,0,e.canvas.width,e.canvas.height),{left:a,top:s,right:o,bottom:i}=qe(n);let l;e.clearRect(0,0,e.canvas.width,e.canvas.height);const u=this.fontBoundingBoxMap.find((e=>e.key===this.fontName));if(u)l=u.value;else{e.fillText("测",r[0],r[1]);const t=e.getImageData(0,0,e.canvas.width,e.canvas.height);l=qe(t),this.fontBoundingBoxMap.push({key:this.fontName,value:l}),e.clearRect(0,0,e.canvas.width,e.canvas.height)}return{actualBoundingBoxAscent:r[1]-s,actualBoundingBoxRight:o-r[0],actualBoundingBoxDescent:i-r[1],actualBoundingBoxLeft:r[0]-a,fontBoundingBoxAscent:l.bottom-l.top,fontBoundingBoxDescent:0,width:l.right-l.left}}};let Ze=Ye;Ze.hasMeasureBoundsAPI=void 0;class et{static readPixels(e,t,r,n){let a=oe(e,t);if(null==a)return null;let s=a.getContext("2d",{willReadFrequently:!0});s.setTransform(1,0,0,1,0,0),n===Oe.TGFXPathFillType.InverseWinding||n===Oe.TGFXPathFillType.InverseEvenOdd?(s.clip(r,n===Oe.TGFXPathFillType.InverseEvenOdd?"evenodd":"nonzero"),s.fillRect(0,0,e,t)):s.fill(r,n===Oe.TGFXPathFillType.EvenOdd?"evenodd":"nonzero");const{data:o}=s.getImageData(0,0,e,t);return ie(a),0===o.length?null:new Uint8Array(o)}}const tt=e=>{(e=>{Oe=e})(e),e.module=e,e.ScalerContext=Ze,e.WebMask=et,e.Matrix=ze,e.tgfx={...Ue}},rt=e=>{tt(e),(e=>{r=e})(e),e.module=e,e.PAGFile=$,e.PAGPlayer=O,e.PAGView=he,e.PAGFont=pe,e.PAGImage=U,e.PAGLayer=P,e.PAGComposition=A,e.PAGSurface=B,e.PAGTextLayer=Le,e.PAGImageLayer=Me,e.PAGSolidLayer=Ge,e.VideoReader=ke,e.GlobalCanvas=Ae,e.BackendContext=z,e.Matrix=v,e.RenderCanvas=X,(e=>{e.traceImage=function(e,t){const r=document.createElement("canvas");r.width=e.width,r.height=e.height;const n=r.getContext("2d"),a=new ImageData(new Uint8ClampedArray(t),r.width,r.height);n.putImageData(a,0,0),document.body.appendChild(r)},e.registerSoftwareDecoderFactory=function(t=null){e._registerSoftwareDecoderFactory(t)},e.SDKVersion=function(){return e._SDKVersion()},e.isIPhone=()=>xe})(e)};var nt,at=Object.defineProperty,st=(e,t,r)=>(((e,t,r)=>{t in e?at(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r),ot=(nt=import.meta.url,async function(e={}){var t,r,n=e,a=new Promise(((e,n)=>{t=e,r=n})),s="object"==typeof window,o="undefined"!=typeof WorkerGlobalScope;"object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&process.type;var i,l,u=Object.assign({},n),c="";(s||o)&&(o?c=self.location.href:"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),nt&&(c=nt),c=c.startsWith("blob:")?"":c.substr(0,c.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)}),i=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)});var h=n.print||console.log.bind(console),d=n.printErr||console.error.bind(console);Object.assign(n,u),u=null,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram;var m,f,p,g,w,v,y,b,_,E,x,C=n.wasmBinary,T=!1,P=e=>e.startsWith("data:application/octet-stream;base64,");function k(){var e=m.buffer;n.HEAP8=f=new Int8Array(e),n.HEAP16=g=new Int16Array(e),n.HEAPU8=p=new Uint8Array(e),n.HEAPU16=w=new Uint16Array(e),n.HEAP32=v=new Int32Array(e),n.HEAPU32=y=new Uint32Array(e),n.HEAPF32=b=new Float32Array(e),n.HEAPF64=x=new Float64Array(e),n.HEAP64=_=new BigInt64Array(e),n.HEAPU64=E=new BigUint64Array(e)}var I,A=[],S=[],F=[],L=0,$=null;function D(e){L++,n.monitorRunDependencies?.(L)}function M(e){if(L--,n.monitorRunDependencies?.(L),0==L&&$){var t=$;$=null,t()}}function B(e){n.onAbort?.(e),d(e="Aborted("+e+")"),T=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function R(){if(n.locateFile){var e="libpag.wasm";return P(e)?e:(t=e,n.locateFile?n.locateFile(t,c):c+t)}var t;return new URL("libpag.wasm",import.meta.url).href}async function G(e){if(!C)try{var t=await i(e);return new Uint8Array(t)}catch{}return function(e){if(e==I&&C)return new Uint8Array(C);if(l)return l(e);throw"both async and sync fetching of the wasm failed"}(e)}async function O(e,t,r){if(!e&&"function"==typeof WebAssembly.instantiateStreaming&&!P(t))try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){d(`wasm streaming compile failed: ${e}`),d("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await G(e);return await WebAssembly.instantiate(r,t)}catch(e){d(`failed to asynchronously prepare wasm: ${e}`),B(e)}}(t,r)}var N=e=>{for(;e.length>0;)e.shift()(n)};n.noExitRuntime;class j{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){y[this.ptr+4>>2]=e}get_type(){return y[this.ptr+4>>2]}set_destructor(e){y[this.ptr+8>>2]=e}get_destructor(){return y[this.ptr+8>>2]}set_caught(e){e=e?1:0,f[this.ptr+12]=e}get_caught(){return 0!=f[this.ptr+12]}set_rethrown(e){e=e?1:0,f[this.ptr+13]=e}get_rethrown(){return 0!=f[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){y[this.ptr+16>>2]=e}get_adjusted_ptr(){return y[this.ptr+16>>2]}}var U=()=>{var e=v[+oe.varargs>>2];return oe.varargs+=4,e},W=U,H={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=H.isAbs(e),r="/"===e.substr(-1);return(e=H.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=H.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>H.normalize(e.join("/")),join2:(e,t)=>H.normalize(e+"/"+t)},V=e=>{(V=e=>crypto.getRandomValues(e))(e)},z={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var a=n>=0?e[n]:ae.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");if(!a)return"";t=a+"/"+t,r=H.isAbs(a)}return(r?"/":"")+(t=H.normalizeArray(t.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=z.resolve(e).substr(1),t=z.resolve(t).substr(1);for(var n=r(e.split("/")),a=r(t.split("/")),s=Math.min(n.length,a.length),o=s,i=0;i<s;i++)if(n[i]!==a[i]){o=i;break}var l=[];for(i=o;i<n.length;i++)l.push("..");return(l=l.concat(a.slice(o))).join("/")}},q="undefined"!=typeof TextDecoder?new TextDecoder:void 0,X=(e,t=0,r=NaN)=>{for(var n=t+r,a=t;e[a]&&!(a>=n);)++a;if(a-t>16&&e.buffer&&q)return q.decode(e.subarray(t,a));for(var s="";t<a;){var o=e[t++];if(128&o){var i=63&e[t++];if(192!=(224&o)){var l=63&e[t++];if((o=224==(240&o)?(15&o)<<12|i<<6|l:(7&o)<<18|i<<12|l<<6|63&e[t++])<65536)s+=String.fromCharCode(o);else{var u=o-65536;s+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else s+=String.fromCharCode((31&o)<<6|i)}else s+=String.fromCharCode(o)}return s},J=[],K=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t},Q=(e,t,r,n)=>{if(!(n>0))return 0;for(var a=r,s=r+n-1,o=0;o<e.length;++o){var i=e.charCodeAt(o);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++o)),i<=127){if(r>=s)break;t[r++]=i}else if(i<=2047){if(r+1>=s)break;t[r++]=192|i>>6,t[r++]=128|63&i}else if(i<=65535){if(r+2>=s)break;t[r++]=224|i>>12,t[r++]=128|i>>6&63,t[r++]=128|63&i}else{if(r+3>=s)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63,t[r++]=128|i>>6&63,t[r++]=128|63&i}}return t[r]=0,r-a};function Y(e,t,r){var n=r>0?r:K(e)+1,a=new Array(n),s=Q(e,a,0,a.length);return t&&(a.length=s),a}var Z={ttys:[],init(){},shutdown(){},register(e,t){Z.ttys[e]={input:[],output:[],ops:t},ae.registerDevice(e,Z.stream_ops)},stream_ops:{open(e){var t=Z.ttys[e.node.rdev];if(!t)throw new ae.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,a){if(!e.tty||!e.tty.ops.get_char)throw new ae.ErrnoError(60);for(var s=0,o=0;o<n;o++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new ae.ErrnoError(29)}if(void 0===i&&0===s)throw new ae.ErrnoError(6);if(null==i)break;s++,t[r+o]=i}return s&&(e.node.atime=Date.now()),s},write(e,t,r,n,a){if(!e.tty||!e.tty.ops.put_char)throw new ae.ErrnoError(60);try{for(var s=0;s<n;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new ae.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!J.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;J=Y(e,!0)}return J.shift()})(),put_char(e,t){null===t||10===t?(h(X(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(h(X(e.output)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[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]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(d(X(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(d(X(e.output)),e.output=[])}}},ee=e=>{B()},te={ops_table:null,mount:e=>te.createNode(null,"/",16895,0),createNode(e,t,r,n){if(ae.isBlkdev(r)||ae.isFIFO(r))throw new ae.ErrnoError(63);te.ops_table||(te.ops_table={dir:{node:{getattr:te.node_ops.getattr,setattr:te.node_ops.setattr,lookup:te.node_ops.lookup,mknod:te.node_ops.mknod,rename:te.node_ops.rename,unlink:te.node_ops.unlink,rmdir:te.node_ops.rmdir,readdir:te.node_ops.readdir,symlink:te.node_ops.symlink},stream:{llseek:te.stream_ops.llseek}},file:{node:{getattr:te.node_ops.getattr,setattr:te.node_ops.setattr},stream:{llseek:te.stream_ops.llseek,read:te.stream_ops.read,write:te.stream_ops.write,allocate:te.stream_ops.allocate,mmap:te.stream_ops.mmap,msync:te.stream_ops.msync}},link:{node:{getattr:te.node_ops.getattr,setattr:te.node_ops.setattr,readlink:te.node_ops.readlink},stream:{}},chrdev:{node:{getattr:te.node_ops.getattr,setattr:te.node_ops.setattr},stream:ae.chrdev_stream_ops}});var a=ae.createNode(e,t,r,n);return ae.isDir(a.mode)?(a.node_ops=te.ops_table.dir.node,a.stream_ops=te.ops_table.dir.stream,a.contents={}):ae.isFile(a.mode)?(a.node_ops=te.ops_table.file.node,a.stream_ops=te.ops_table.file.stream,a.usedBytes=0,a.contents=null):ae.isLink(a.mode)?(a.node_ops=te.ops_table.link.node,a.stream_ops=te.ops_table.link.stream):ae.isChrdev(a.mode)&&(a.node_ops=te.ops_table.chrdev.node,a.stream_ops=te.ops_table.chrdev.stream),a.atime=a.mtime=a.ctime=Date.now(),e&&(e.contents[t]=a,e.atime=e.mtime=e.ctime=a.atime),a},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ae.isChrdev(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,ae.isDir(e.mode)?t.size=4096:ae.isFile(e.mode)?t.size=e.usedBytes:ae.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(const r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&te.resizeFileStorage(e,t.size)},lookup(e,t){throw te.doesNotExistError},mknod:(e,t,r,n)=>te.createNode(e,t,r,n),rename(e,t,r){var n;try{n=ae.lookupNode(t,r)}catch(e){}if(n){if(ae.isDir(e.mode))for(var a in n.contents)throw new ae.ErrnoError(55);ae.hashRemoveNode(n)}delete e.parent.contents[e.name],t.contents[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=ae.lookupNode(e,t);for(var n in r.contents)throw new ae.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var n=te.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!ae.isLink(e.mode))throw new ae.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,a){var s=e.node.contents;if(a>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-a,n);if(o>8&&s.subarray)t.set(s.subarray(a,a+o),r);else for(var i=0;i<o;i++)t[r+i]=s[a+i];return o},write(e,t,r,n,a,s){if(t.buffer===f.buffer&&(s=!1),!n)return 0;var o=e.node;if(o.mtime=o.ctime=Date.now(),t.subarray&&(!o.contents||o.contents.subarray)){if(s)return o.contents=t.subarray(r,r+n),o.usedBytes=n,n;if(0===o.usedBytes&&0===a)return o.contents=t.slice(r,r+n),o.usedBytes=n,n;if(a+n<=o.usedBytes)return o.contents.set(t.subarray(r,r+n),a),n}if(te.expandFileStorage(o,a+n),o.contents.subarray&&t.subarray)o.contents.set(t.subarray(r,r+n),a);else for(var i=0;i<n;i++)o.contents[a+i]=t[r+i];return o.usedBytes=Math.max(o.usedBytes,a+n),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&ae.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new ae.ErrnoError(28);return n},allocate(e,t,r){te.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,n,a){if(!ae.isFile(e.node.mode))throw new ae.ErrnoError(43);var s,o,i=e.node.contents;if(2&a||!i||i.buffer!==f.buffer){if(o=!0,!(s=ee()))throw new ae.ErrnoError(48);i&&((r>0||r+t<i.length)&&(i=i.subarray?i.subarray(r,r+t):Array.prototype.slice.call(i,r,r+t)),f.set(i,s))}else o=!1,s=i.byteOffset;return{ptr:s,allocated:o}},msync:(e,t,r,n,a)=>(te.stream_ops.write(e,t,0,n,r,!1),0)}},re=n.preloadPlugins||[],ne=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ae={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){st(this,"name","ErrnoError"),this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){st(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,t,r,n){st(this,"node_ops",{}),st(this,"stream_ops",{}),st(this,"readMode",365),st(this,"writeMode",146),st(this,"mounted",null),e||(e=this),this.parent=e,this.mount=e.mount,this.id=ae.nextInode++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return ae.isDir(this.mode)}get isDevice(){return ae.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new ae.ErrnoError(44);t.follow_mount??(t.follow_mount=!0),H.isAbs(e)||(e=ae.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var n=e.split("/").filter((e=>!!e)),a=ae.root,s="/",o=0;o<n.length;o++){var i=o===n.length-1;if(i&&t.parent)break;if("."!==n[o])if(".."!==n[o]){s=H.join2(s,n[o]);try{a=ae.lookupNode(a,n[o])}catch(e){if(44===e?.errno&&i&&t.noent_okay)return{path:s};throw e}if(!ae.isMountpoint(a)||i&&!t.follow_mount||(a=a.mounted.root),ae.isLink(a.mode)&&(!i||t.follow)){if(!a.node_ops.readlink)throw new ae.ErrnoError(52);var l=a.node_ops.readlink(a);H.isAbs(l)||(l=H.dirname(s)+"/"+l),e=l+"/"+n.slice(o+1).join("/");continue e}}else s=H.dirname(s),a=a.parent}return{path:s,node:a}}throw new ae.ErrnoError(32)},getPath(e){for(var t;;){if(ae.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%ae.nameTable.length},hashAddNode(e){var t=ae.hashName(e.parent.id,e.name);e.name_next=ae.nameTable[t],ae.nameTable[t]=e},hashRemoveNode(e){var t=ae.hashName(e.parent.id,e.name);if(ae.nameTable[t]===e)ae.nameTable[t]=e.name_next;else for(var r=ae.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=ae.mayLookup(e);if(r)throw new ae.ErrnoError(r);for(var n=ae.hashName(e.id,t),a=ae.nameTable[n];a;a=a.name_next){var s=a.name;if(a.parent.id===e.id&&s===t)return a}return ae.lookup(e,t)},createNode(e,t,r,n){var a=new ae.FSNode(e,t,r,n);return ae.hashAddNode(a),a},destroyNode(e){ae.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ae.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!ae.isDir(e.mode))return 54;var t=ae.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!ae.isDir(e.mode))return 54;try{return ae.lookupNode(e,t),20}catch(e){}return ae.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=ae.lookupNode(e,t)}catch(e){return e.errno}var a=ae.nodePermissions(e,"wx");if(a)return a;if(r){if(!ae.isDir(n.mode))return 54;if(ae.isRoot(n)||ae.getPath(n)===ae.cwd())return 10}else if(ae.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?ae.isLink(e.mode)?32:ae.isDir(e.mode)&&("r"!==ae.flagsToPermissionString(t)||576&t)?31:ae.nodePermissions(e,ae.flagsToPermissionString(t)):44,checkOpExists(e,t){if(!e)throw new ae.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ae.MAX_OPEN_FDS;e++)if(!ae.streams[e])return e;throw new ae.ErrnoError(33)},getStreamChecked(e){var t=ae.getStream(e);if(!t)throw new ae.ErrnoError(8);return t},getStream:e=>ae.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new ae.FSStream,e),-1==t&&(t=ae.nextfd()),e.fd=t,ae.streams[t]=e,e),closeStream(e){ae.streams[e]=null},dupStream(e,t=-1){var r=ae.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=ae.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new ae.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){ae.devices[e]={stream_ops:t}},getDevice:e=>ae.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push(...n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),ae.syncFSRequests++,ae.syncFSRequests>1&&d(`warning: ${ae.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=ae.getMounts(ae.root.mount),n=0;function a(e){return ae.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,a(e));++n>=r.length&&a(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,a="/"===r,s=!r;if(a&&ae.root)throw new ae.ErrnoError(10);if(!a&&!s){var o=ae.lookupPath(r,{follow_mount:!1});if(r=o.path,n=o.node,ae.isMountpoint(n))throw new ae.ErrnoError(10);if(!ae.isDir(n.mode))throw new ae.ErrnoError(54)}var i={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(i);return l.mount=i,i.root=l,a?ae.root=l:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),l},unmount(e){var t=ae.lookupPath(e,{follow_mount:!1});if(!ae.isMountpoint(t.node))throw new ae.ErrnoError(28);var r=t.node,n=r.mounted,a=ae.getMounts(n);Object.keys(ae.nameTable).forEach((e=>{for(var t=ae.nameTable[e];t;){var r=t.name_next;a.includes(t.mount)&&ae.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=ae.lookupPath(e,{parent:!0}).node,a=H.basename(e);if(!a)throw new ae.ErrnoError(28);if("."===a||".."===a)throw new ae.ErrnoError(20);var s=ae.mayCreate(n,a);if(s)throw new ae.ErrnoError(s);if(!n.node_ops.mknod)throw new ae.ErrnoError(63);return n.node_ops.mknod(n,a,t,r)},statfs:e=>ae.statfsNode(ae.lookupPath(e,{follow:!0}).node),statfsStream:e=>ae.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:ae.nextInode,ffree:ae.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create:(e,t=438)=>(t&=4095,t|=32768,ae.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,ae.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",a=0;a<r.length;++a)if(r[a]){n+="/"+r[a];try{ae.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ae.mknod(e,t,r)),symlink(e,t){if(!z.resolve(e))throw new ae.ErrnoError(44);var r=ae.lookupPath(t,{parent:!0}).node;if(!r)throw new ae.ErrnoError(44);var n=H.basename(t),a=ae.mayCreate(r,n);if(a)throw new ae.ErrnoError(a);if(!r.node_ops.symlink)throw new ae.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,a=H.dirname(e),s=H.dirname(t),o=H.basename(e),i=H.basename(t);if(r=ae.lookupPath(e,{parent:!0}).node,n=ae.lookupPath(t,{parent:!0}).node,!r||!n)throw new ae.ErrnoError(44);if(r.mount!==n.mount)throw new ae.ErrnoError(75);var l,u=ae.lookupNode(r,o),c=z.relative(e,s);if("."!==c.charAt(0))throw new ae.ErrnoError(28);if("."!==(c=z.relative(t,a)).charAt(0))throw new ae.ErrnoError(55);try{l=ae.lookupNode(n,i)}catch(e){}if(u!==l){var h=ae.isDir(u.mode),d=ae.mayDelete(r,o,h);if(d)throw new ae.ErrnoError(d);if(d=l?ae.mayDelete(n,i,h):ae.mayCreate(n,i))throw new ae.ErrnoError(d);if(!r.node_ops.rename)throw new ae.ErrnoError(63);if(ae.isMountpoint(u)||l&&ae.isMountpoint(l))throw new ae.ErrnoError(10);if(n!==r&&(d=ae.nodePermissions(r,"w")))throw new ae.ErrnoError(d);ae.hashRemoveNode(u);try{r.node_ops.rename(u,n,i),u.parent=n}catch(e){throw e}finally{ae.hashAddNode(u)}}},rmdir(e){var t=ae.lookupPath(e,{parent:!0}).node,r=H.basename(e),n=ae.lookupNode(t,r),a=ae.mayDelete(t,r,!0);if(a)throw new ae.ErrnoError(a);if(!t.node_ops.rmdir)throw new ae.ErrnoError(63);if(ae.isMountpoint(n))throw new ae.ErrnoError(10);t.node_ops.rmdir(t,r),ae.destroyNode(n)},readdir(e){var t=ae.lookupPath(e,{follow:!0}).node;return ae.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=ae.lookupPath(e,{parent:!0}).node;if(!t)throw new ae.ErrnoError(44);var r=H.basename(e),n=ae.lookupNode(t,r),a=ae.mayDelete(t,r,!1);if(a)throw new ae.ErrnoError(a);if(!t.node_ops.unlink)throw new ae.ErrnoError(63);if(ae.isMountpoint(n))throw new ae.ErrnoError(10);t.node_ops.unlink(t,r),ae.destroyNode(n)},readlink(e){var t=ae.lookupPath(e).node;if(!t)throw new ae.ErrnoError(44);if(!t.node_ops.readlink)throw new ae.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=ae.lookupPath(e,{follow:!t}).node;return ae.checkOpExists(r.node_ops.getattr,63)(r)},lstat:e=>ae.stat(e,!0),chmod(e,t,r){var n;n="string"==typeof e?ae.lookupPath(e,{follow:!r}).node:e,ae.checkOpExists(n.node_ops.setattr,63)(n,{mode:4095&t|-4096&n.mode,ctime:Date.now(),dontFollow:r})},lchmod(e,t){ae.chmod(e,t,!0)},fchmod(e,t){var r=ae.getStreamChecked(e);ae.chmod(r.node,t)},chown(e,t,r,n){var a;a="string"==typeof e?ae.lookupPath(e,{follow:!n}).node:e,ae.checkOpExists(a.node_ops.setattr,63)(a,{timestamp:Date.now(),dontFollow:n})},lchown(e,t,r){ae.chown(e,t,r,!0)},fchown(e,t,r){var n=ae.getStreamChecked(e);ae.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new ae.ErrnoError(28);var r;if(r="string"==typeof e?ae.lookupPath(e,{follow:!0}).node:e,ae.isDir(r.mode))throw new ae.ErrnoError(31);if(!ae.isFile(r.mode))throw new ae.ErrnoError(28);var n=ae.nodePermissions(r,"w");if(n)throw new ae.ErrnoError(n);ae.checkOpExists(r.node_ops.setattr,63)(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=ae.getStreamChecked(e);if(!(2097155&r.flags))throw new ae.ErrnoError(28);ae.truncate(r.node,t)},utime(e,t,r){var n=ae.lookupPath(e,{follow:!0}).node;ae.checkOpExists(n.node_ops.setattr,63)(n,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new ae.ErrnoError(44);var a,s;if(r=64&(t="string"==typeof t?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t})(t):t)?4095&r|32768:0,"object"==typeof e)a=e;else{s=e.endsWith("/");var o=ae.lookupPath(e,{follow:!(131072&t),noent_okay:!0});a=o.node,e=o.path}var i=!1;if(64&t)if(a){if(128&t)throw new ae.ErrnoError(20)}else{if(s)throw new ae.ErrnoError(31);a=ae.mknod(e,511|r,0),i=!0}if(!a)throw new ae.ErrnoError(44);if(ae.isChrdev(a.mode)&&(t&=-513),65536&t&&!ae.isDir(a.mode))throw new ae.ErrnoError(54);if(!i){var l=ae.mayOpen(a,t);if(l)throw new ae.ErrnoError(l)}512&t&&!i&&ae.truncate(a,0),t&=-131713;var u=ae.createStream({node:a,path:ae.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1});return u.stream_ops.open&&u.stream_ops.open(u),i&&ae.chmod(a,511&r),!n.logReadFiles||1&t||e in ae.readFiles||(ae.readFiles[e]=1),u},close(e){if(ae.isClosed(e))throw new ae.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ae.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(ae.isClosed(e))throw new ae.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ae.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ae.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,a){if(n<0||a<0)throw new ae.ErrnoError(28);if(ae.isClosed(e))throw new ae.ErrnoError(8);if(1==(2097155&e.flags))throw new ae.ErrnoError(8);if(ae.isDir(e.node.mode))throw new ae.ErrnoError(31);if(!e.stream_ops.read)throw new ae.ErrnoError(28);var s=void 0!==a;if(s){if(!e.seekable)throw new ae.ErrnoError(70)}else a=e.position;var o=e.stream_ops.read(e,t,r,n,a);return s||(e.position+=o),o},write(e,t,r,n,a,s){if(n<0||a<0)throw new ae.ErrnoError(28);if(ae.isClosed(e))throw new ae.ErrnoError(8);if(!(2097155&e.flags))throw new ae.ErrnoError(8);if(ae.isDir(e.node.mode))throw new ae.ErrnoError(31);if(!e.stream_ops.write)throw new ae.ErrnoError(28);e.seekable&&1024&e.flags&&ae.llseek(e,0,2);var o=void 0!==a;if(o){if(!e.seekable)throw new ae.ErrnoError(70)}else a=e.position;var i=e.stream_ops.write(e,t,r,n,a,s);return o||(e.position+=i),i},allocate(e,t,r){if(ae.isClosed(e))throw new ae.ErrnoError(8);if(t<0||r<=0)throw new ae.ErrnoError(28);if(!(2097155&e.flags))throw new ae.ErrnoError(8);if(!ae.isFile(e.node.mode)&&!ae.isDir(e.node.mode))throw new ae.ErrnoError(43);if(!e.stream_ops.allocate)throw new ae.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,a){if(2&n&&!(2&a)&&2!=(2097155&e.flags))throw new ae.ErrnoError(2);if(1==(2097155&e.flags))throw new ae.ErrnoError(2);if(!e.stream_ops.mmap)throw new ae.ErrnoError(43);if(!t)throw new ae.ErrnoError(28);return e.stream_ops.mmap(e,t,r,n,a)},msync:(e,t,r,n,a)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,a):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new ae.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=ae.open(e,t.flags),a=ae.stat(e).size,s=new Uint8Array(a);return ae.read(n,s,0,a,0),"utf8"===t.encoding?r=X(s):"binary"===t.encoding&&(r=s),ae.close(n),r},writeFile(e,t,r={}){r.flags=r.flags||577;var n=ae.open(e,r.flags,r.mode);if("string"==typeof t){var a=new Uint8Array(K(t)+1),s=Q(t,a,0,a.length);ae.write(n,a,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ae.write(n,t,0,t.byteLength,void 0,r.canOwn)}ae.close(n)},cwd:()=>ae.currentPath,chdir(e){var t=ae.lookupPath(e,{follow:!0});if(null===t.node)throw new ae.ErrnoError(44);if(!ae.isDir(t.node.mode))throw new ae.ErrnoError(54);var r=ae.nodePermissions(t.node,"x");if(r)throw new ae.ErrnoError(r);ae.currentPath=t.path},createDefaultDirectories(){ae.mkdir("/tmp"),ae.mkdir("/home"),ae.mkdir("/home/web_user")},createDefaultDevices(){ae.mkdir("/dev"),ae.registerDevice(ae.makedev(1,3),{read:()=>0,write:(e,t,r,n,a)=>n,llseek:()=>0}),ae.mkdev("/dev/null",ae.makedev(1,3)),Z.register(ae.makedev(5,0),Z.default_tty_ops),Z.register(ae.makedev(6,0),Z.default_tty1_ops),ae.mkdev("/dev/tty",ae.makedev(5,0)),ae.mkdev("/dev/tty1",ae.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(V(e),t=e.byteLength),e[--t]);ae.createDevice("/dev","random",r),ae.createDevice("/dev","urandom",r),ae.mkdir("/dev/shm"),ae.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ae.mkdir("/proc");var e=ae.mkdir("/proc/self");ae.mkdir("/proc/self/fd"),ae.mount({mount(){var t=ae.createNode(e,"fd",16895,73);return t.stream_ops={llseek:te.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,n=ae.getStreamChecked(r),a={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:r+1};return a.parent=a,a},readdir:()=>Array.from(ae.streams.entries()).filter((([e,t])=>t)).map((([e,t])=>e.toString()))},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?ae.createDevice("/dev","stdin",e):ae.symlink("/dev/tty","/dev/stdin"),t?ae.createDevice("/dev","stdout",null,t):ae.symlink("/dev/tty","/dev/stdout"),r?ae.createDevice("/dev","stderr",null,r):ae.symlink("/dev/tty1","/dev/stderr"),ae.open("/dev/stdin",0),ae.open("/dev/stdout",1),ae.open("/dev/stderr",1)},staticInit(){ae.nameTable=new Array(4096),ae.mount(te,{},"/"),ae.createDefaultDirectories(),ae.createDefaultDevices(),ae.createSpecialDirectories(),ae.filesystems={MEMFS:te}},init(e,t,r){ae.initialized=!0,e??(e=n.stdin),t??(t=n.stdout),r??(r=n.stderr),ae.createStandardStreams(e,t,r)},quit(){ae.initialized=!1;for(var e=0;e<ae.streams.length;e++){var t=ae.streams[e];t&&ae.close(t)}},findObject(e,t){var r=ae.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=ae.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=ae.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=H.basename(e),n=ae.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,n){e="string"==typeof e?e:ae.getPath(e);for(var a=t.split("/").reverse();a.length;){var s=a.pop();if(s){var o=H.join2(e,s);try{ae.mkdir(o)}catch(e){}e=o}}return o},createFile(e,t,r,n,a){var s=H.join2("string"==typeof e?e:ae.getPath(e),t),o=ne(n,a);return ae.create(s,o)},createDataFile(e,t,r,n,a,s){var o=t;e&&(e="string"==typeof e?e:ae.getPath(e),o=t?H.join2(e,t):e);var i=ne(n,a),l=ae.create(o,i);if(r){if("string"==typeof r){for(var u=new Array(r.length),c=0,h=r.length;c<h;++c)u[c]=r.charCodeAt(c);r=u}ae.chmod(l,146|i);var d=ae.open(l,577);ae.write(d,r,0,r.length,0,s),ae.close(d),ae.chmod(l,i)}},createDevice(e,t,r,n){var a,s=H.join2("string"==typeof e?e:ae.getPath(e),t),o=ne(!!r,!!n);(a=ae.createDevice).major??(a.major=64);var i=ae.makedev(ae.createDevice.major++,0);return ae.registerDevice(i,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,a,s){for(var o=0,i=0;i<a;i++){var l;try{l=r()}catch(e){throw new ae.ErrnoError(29)}if(void 0===l&&0===o)throw new ae.ErrnoError(6);if(null==l)break;o++,t[n+i]=l}return o&&(e.node.atime=Date.now()),o},write(e,t,r,a,s){for(var o=0;o<a;o++)try{n(t[r+o])}catch(e){throw new ae.ErrnoError(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),o}}),ae.mkdev(s,o,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new 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.contents=l(e.url),e.usedBytes=e.contents.length}catch(e){throw new ae.ErrnoError(29)}},createLazyFile(e,t,r,n,a){class s{constructor(){st(this,"lengthKnown",!1),st(this,"chunks",[])}get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),a=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;a||(o=n);var i=this;i.setDataGetter((e=>{var t=e*o,a=(e+1)*o-1;if(a=Math.min(a,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var a=new XMLHttpRequest;if(a.open("GET",r,!1),n!==o&&a.setRequestHeader("Range","bytes="+e+"-"+t),a.responseType="arraybuffer",a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined"),a.send(null),!(a.status>=200&&a.status<300||304===a.status))throw new Error("Couldn't load "+r+". Status: "+a.status);return void 0!==a.response?new Uint8Array(a.response||[]):Y(a.responseText||"",!0)})(t,a)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!s&&n||(o=n=1,n=this.getter(0).length,o=n,h("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=o,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}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 i={isDevice:!1,contents:new s}}else i={isDevice:!1,url:r};var l=ae.createFile(e,t,i,n,a);i.contents?l.contents=i.contents:i.url&&(l.contents=null,l.url=i.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,t,r,n,a){var s=e.node.contents;if(a>=s.length)return 0;var o=Math.min(s.length-a,n);if(s.slice)for(var i=0;i<o;i++)t[r+i]=s[a+i];else for(i=0;i<o;i++)t[r+i]=s.get(a+i);return o}return Object.keys(l.stream_ops).forEach((e=>{var t=l.stream_ops[e];u[e]=(...e)=>(ae.forceLoadFile(l),t(...e))})),u.read=(e,t,r,n,a)=>(ae.forceLoadFile(l),c(e,t,r,n,a)),u.mmap=(e,t,r,n,a)=>{ae.forceLoadFile(l);var s=ee();if(!s)throw new ae.ErrnoError(48);return c(e,f,s,t,r),{ptr:s,allocated:!0}},l.stream_ops=u,l}},se=(e,t)=>e?X(p,e,t):"",oe={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(H.isAbs(t))return t;var n;if(n=-100===e?ae.cwd():oe.getStreamFromFD(e).path,0==t.length){if(!r)throw new ae.ErrnoError(44);return n}return n+"/"+t},writeStat(e,t){v[e>>2]=t.dev,v[e+4>>2]=t.mode,y[e+8>>2]=t.nlink,v[e+12>>2]=t.uid,v[e+16>>2]=t.gid,v[e+20>>2]=t.rdev,_[e+24>>3]=BigInt(t.size),v[e+32>>2]=4096,v[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),a=t.ctime.getTime();return _[e+40>>3]=BigInt(Math.floor(r/1e3)),y[e+48>>2]=r%1e3*1e3*1e3,_[e+56>>3]=BigInt(Math.floor(n/1e3)),y[e+64>>2]=n%1e3*1e3*1e3,_[e+72>>3]=BigInt(Math.floor(a/1e3)),y[e+80>>2]=a%1e3*1e3*1e3,_[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){v[e+4>>2]=t.bsize,v[e+40>>2]=t.bsize,v[e+8>>2]=t.blocks,v[e+12>>2]=t.bfree,v[e+16>>2]=t.bavail,v[e+20>>2]=t.files,v[e+24>>2]=t.ffree,v[e+28>>2]=t.fsid,v[e+44>>2]=t.flags,v[e+36>>2]=t.namelen},doMsync(e,t,r,n,a){if(!ae.isFile(t.node.mode))throw new ae.ErrnoError(43);if(2&n)return 0;var s=p.slice(e,e+r);ae.msync(t,s,a,r,n)},getStreamFromFD:e=>ae.getStreamChecked(e),varargs:void 0,getStr:e=>se(e)},ie=(e,t,r)=>Q(e,p,t,r),le={},ue=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function ce(e){return this.fromWireType(y[e>>2])}var he,de,me,fe={},pe={},ge={},we=e=>{throw new he(e)},ve=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&we("Mismatched type converter count");for(var a=0;a<e.length;++a)Ee(e[a],n[a])}e.forEach((e=>ge[e]=t));var a=new Array(t.length),s=[],o=0;t.forEach(((e,t)=>{pe.hasOwnProperty(e)?a[t]=pe[e]:(s.push(e),fe.hasOwnProperty(e)||(fe[e]=[]),fe[e].push((()=>{a[t]=pe[e],++o===s.length&&n(a)})))})),0===s.length&&n(a)},ye=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},be=e=>{for(var t="",r=e;p[r];)t+=de[p[r++]];return t},_e=e=>{throw new me(e)};function Ee(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||_e(`type "${n}" must have a positive integer typeid pointer`),pe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;_e(`Cannot register type '${n}' twice`)}if(pe[e]=t,delete ge[e],fe.hasOwnProperty(e)){var a=fe[e];delete fe[e],a.forEach((e=>e()))}}(e,t,r)}var xe=(e,t,r)=>{switch(t){case 1:return r?e=>f[e]:e=>p[e];case 2:return r?e=>g[e>>1]:e=>w[e>>1];case 4:return r?e=>v[e>>2]:e=>y[e>>2];case 8:return r?e=>_[e>>3]:e=>E[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ce=8,Te=e=>{_e(e.$$.ptrType.registeredClass.name+" instance already deleted")},Pe=!1,ke=e=>{},Ie=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Ae=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=Ae(e,t,r.baseClass);return null===n?null:r.downcast(n)},Se={},Fe={},Le=(e,t)=>(t=((e,t)=>{for(void 0===t&&_e("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),Fe[t]),$e=(e,t)=>(t.ptrType&&t.ptr||we("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&we("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Me(Object.create(e,{$$:{value:t,writable:!0}})));function De(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=Le(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?$e(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):$e(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),i=Se[o];if(!i)return a.call(this);s=this.isConst?i.constPointerType:i.pointerType;var l=Ae(t,this.registeredClass,s.registeredClass);return null===l?a.call(this):this.isSmartPointer?$e(s.registeredClass.instancePrototype,{ptrType:s,ptr:l,smartPtrType:this,smartPtr:e}):$e(s.registeredClass.instancePrototype,{ptrType:s,ptr:l})}var Me=e=>"undefined"==typeof FinalizationRegistry?(Me=e=>e,e):(Pe=new FinalizationRegistry((e=>{Ie(e.$$)})),ke=e=>Pe.unregister(e),(Me=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Pe.register(e,r,e)}return e})(e)),Be=[];function Re(){}var Ge=(e,t)=>Object.defineProperty(t,"name",{value:e}),Oe=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||_e(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},Ne=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&_e(`Cannot register public name '${e}' twice`),Oe(n,e,e),n[e].overloadTable.hasOwnProperty(r)&&_e(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,n[e].argCount=r)};function je(e,t,r,n,a,s,o,i){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=a,this.getActualType=s,this.upcast=o,this.downcast=i,this.pureVirtualFunctions=[]}var Ue=(e,t,r)=>{for(;t!==r;)t.upcast||_e(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function We(e,t){if(null===t)return this.isReference&&_e(`null is not a valid ${this.name}`),0;t.$$||_e(`Cannot pass "${ye(t)}" as a ${this.name}`),t.$$.ptr||_e(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ue(t.$$.ptr,r,this.registeredClass)}function He(e,t){var r;if(null===t)return this.isReference&&_e(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||_e(`Cannot pass "${ye(t)}" as a ${this.name}`),t.$$.ptr||_e(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&_e(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=Ue(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&_e("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:_e(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var a=t.clone();r=this.rawShare(r,pt.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:_e("Unsupporting sharing policy")}return r}function Ve(e,t){if(null===t)return this.isReference&&_e(`null is not a valid ${this.name}`),0;t.$$||_e(`Cannot pass "${ye(t)}" as a ${this.name}`),t.$$.ptr||_e(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&_e(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ue(t.$$.ptr,r,this.registeredClass)}function ze(e,t,r,n,a,s,o,i,l,u,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=a,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=i,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,a||void 0!==t.baseClass?this.toWireType=He:n?(this.toWireType=We,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}var qe,Xe,Je=(e,t,r)=>{n.hasOwnProperty(e)||we("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Ke=(e,t)=>{e=be(e);var r,n=(r=t,qe.get(r));return"function"!=typeof n&&_e(`unknown function pointer with signature ${e}: ${t}`),n},Qe=e=>{var t=Fa(e),r=be(t);return $a(t),r},Ye=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||pe[t]||(ge[t]?ge[t].forEach(e):(r.push(t),n[t]=!0))})),new Xe(`${e}: `+r.map(Qe).join([", "]))};function Ze(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function et(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=Ge(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,a=e.apply(n,t);return a instanceof Object?a:n}function tt(e,t,r,n,a,s){var o=t.length;o<2&&_e("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==t[1]&&null!==r,l=Ze(t),u="void"!==t[0].name,c=[e,_e,n,a,ue,t[0],t[1]],h=0;h<o-2;++h)c.push(t[h+2]);if(!l)for(h=i?1:2;h<t.length;++h)null!==t[h].destructorFunction&&c.push(t[h].destructorFunction);let[d,m]=function(e,t,r,n){var a=Ze(e),s=e.length-2,o=[],i=["fn"];t&&i.push("thisWired");for(var l=0;l<s;++l)o.push(`arg${l}`),i.push(`arg${l}Wired`);o=o.join(","),i=i.join(",");var u=`return function (${o}) {\n`;a&&(u+="var destructors = [];\n");var c=a?"destructors":"null",h=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(t&&(u+=`var thisWired = classParam['toWireType'](${c}, this);\n`),l=0;l<s;++l)u+=`var arg${l}Wired = argType${l}['toWireType'](${c}, arg${l});\n`,h.push(`argType${l}`);if(u+=(r||n?"var rv = ":"")+`invoker(${i});\n`,a)u+="runDestructors(destructors);\n";else for(l=t?1:2;l<e.length;++l){var d=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(u+=`${d}_dtor(${d});\n`,h.push(`${d}_dtor`))}return r&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[h,u+="}\n"]}(t,i,u,s);d.push(m);var f=et(Function,d)(...c);return Ge(e,f)}var rt,at,ot,it,lt=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(y[t+4*n>>2]);return r},ut=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},ct=(e,t,r)=>(e instanceof Object||_e(`${r} with invalid "this": ${e}`),e instanceof t.registeredClass.constructor||_e(`${r} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||_e(`cannot call emscripten binding method ${r} on deleted object`),Ue(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)),ht=[],dt=[],mt=e=>{e>9&&0==--dt[e+1]&&(dt[e]=void 0,ht.push(e))},ft=()=>dt.length/2-5-ht.length,pt={toValue:e=>(e||_e("Cannot use deleted val. handle = "+e),dt[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=ht.pop()||dt.length;return dt[t]=e,dt[t+1]=1,t}}}},gt={name:"emscripten::val",fromWireType:e=>{var t=pt.toValue(e);return mt(e),t},toWireType:(e,t)=>pt.toHandle(t),argPackAdvance:Ce,readValueFromPointer:ce,destructorFunction:null},wt=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(f[e])}:function(e){return this.fromWireType(p[e])};case 2:return r?function(e){return this.fromWireType(g[e>>1])}:function(e){return this.fromWireType(w[e>>1])};case 4:return r?function(e){return this.fromWireType(v[e>>2])}:function(e){return this.fromWireType(y[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},vt=(e,t)=>{var r=pe[e];return void 0===r&&_e(`${t} has unknown type ${Qe(e)}`),r},yt=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(b[e>>2])};case 8:return function(e){return this.fromWireType(x[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},bt=Object.assign({optional:!0},gt),_t="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Et=(e,t)=>{for(var r=e,n=r>>1,a=n+t/2;!(n>=a)&&w[n];)++n;if((r=n<<1)-e>32&&_t)return _t.decode(p.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var i=g[e+2*o>>1];if(0==i)break;s+=String.fromCharCode(i)}return s},xt=(e,t,r)=>{if(r??(r=2147483647),r<2)return 0;for(var n=t,a=(r-=2)<2*e.length?r/2:e.length,s=0;s<a;++s){var o=e.charCodeAt(s);g[t>>1]=o,t+=2}return g[t>>1]=0,t-n},Ct=e=>2*e.length,Tt=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var a=v[e+4*r>>2];if(0==a)break;if(++r,a>=65536){var s=a-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(a)}return n},Pt=(e,t,r)=>{if(r??(r=2147483647),r<4)return 0;for(var n=t,a=n+r-4,s=0;s<e.length;++s){var o=e.charCodeAt(s);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),v[t>>2]=o,(t+=4)+4>a)break}return v[t>>2]=0,t-n},kt=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t},It=(e,t,r)=>{var n=[],a=e.toWireType(n,r);return n.length&&(y[t>>2]=pt.toHandle(n)),a},At=[],St={},Ft=e=>{var t=St[e];return void 0===t?be(e):t},Lt=()=>"object"==typeof globalThis?globalThis:Function("return this")(),$t={memcpy(e,t,r){f.set(f.subarray(t,t+r),e)},removeAllEventListeners(){for(;$t.eventHandlers.length;)$t._removeHandler($t.eventHandlers.length-1);$t.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,t,r){function n(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var a of $t.deferredCalls)if(a.targetFunction==e&&n(a.argsList,r))return;$t.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),$t.deferredCalls.sort(((e,t)=>e.precedence<t.precedence))},removeDeferredCalls(e){$t.deferredCalls=$t.deferredCalls.filter((t=>t.targetFunction!=e))},canPerformEventHandlerRequests:()=>navigator.userActivation?navigator.userActivation.isActive:$t.inEventHandler&&$t.currentEventHandler.allowsDeferredCalls,runDeferredCalls(){if($t.canPerformEventHandlerRequests()){var e=$t.deferredCalls;for(var t of($t.deferredCalls=[],e))t.targetFunction(...t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,t)=>{for(var r=0;r<$t.eventHandlers.length;++r)$t.eventHandlers[r].target!=e||t&&t!=$t.eventHandlers[r].eventTypeString||$t._removeHandler(r--)},_removeHandler(e){var t=$t.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),$t.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(t){++$t.inEventHandler,$t.currentEventHandler=e,$t.runDeferredCalls(),e.handlerFunc(t),$t.runDeferredCalls(),--$t.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),$t.eventHandlers.push(e);else for(var t=0;t<$t.eventHandlers.length;++t)$t.eventHandlers[t].target==e.target&&$t.eventHandlers[t].eventTypeString==e.eventTypeString&&$t._removeHandler(t--);return 0},getNodeNameForTarget:e=>e?e==window?"#window":e==screen?"#screen":e?.nodeName||"":"",fullscreenEnabled:()=>document.fullscreenEnabled||document.webkitFullscreenEnabled},Dt=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],Mt=e=>{var t;return e=(t=e)>2?se(t):t,Dt[e]||("undefined"!=typeof document?document.querySelector(e):null)},Bt=e=>{var t=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter((e=>t.includes(e)))},Rt={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{Rt.lastError||(Rt.lastError=e)},getNewId:e=>{for(var t=Rt.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,n)=>{for(var a=0;a<e;a++){var s=rt[r](),o=s&&Rt.getNewId(n);s?(s.name=o,n[o]=s):Rt.recordError(1282),v[t+4*a>>2]=o}},getSource:(e,t,r,n)=>{for(var a="",s=0;s<t;++s){var o=n?y[n+4*s>>2]:void 0;a+=se(y[r+4*s>>2],o)}return a},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let t=function(t,r){var n=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==n instanceof WebGLRenderingContext?n:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?Rt.registerContext(r,t):0},registerContext:(e,t)=>{var r=Rt.getNewId(Rt.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Rt.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&Rt.initExtensions(n),r},makeContextCurrent:e=>(Rt.currentContext=Rt.contexts[e],n.ctx=rt=Rt.currentContext?.GLctx,!(e&&!rt)),getContext:e=>Rt.contexts[e],deleteContext:e=>{Rt.currentContext===Rt.contexts[e]&&(Rt.currentContext=null),"object"==typeof $t&&$t.removeAllHandlersOnTarget(Rt.contexts[e].GLctx.canvas),Rt.contexts[e]&&Rt.contexts[e].GLctx.canvas&&(Rt.contexts[e].GLctx.canvas.GLctxObject=void 0),Rt.contexts[e]=null},initExtensions:e=>{if(e||(e=Rt.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t,r=e.GLctx;(t=r).multiDrawWebgl=t.getExtension("WEBGL_multi_draw"),(e=>{e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")})(r),(e=>{e.extClipControl=e.getExtension("EXT_clip_control")})(r),(e=>{e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")})(r),(e=>{var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=(e,r)=>t.vertexAttribDivisorANGLE(e,r),e.drawArraysInstanced=(e,r,n,a)=>t.drawArraysInstancedANGLE(e,r,n,a),e.drawElementsInstanced=(e,r,n,a,s)=>t.drawElementsInstancedANGLE(e,r,n,a,s))})(r),(e=>{var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=()=>t.createVertexArrayOES(),e.deleteVertexArray=e=>t.deleteVertexArrayOES(e),e.bindVertexArray=e=>t.bindVertexArrayOES(e),e.isVertexArray=e=>t.isVertexArrayOES(e))})(r),(e=>{var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r))})(r),(e=>{e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")})(r),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),Bt(r).forEach((e=>{e.includes("lose_context")||e.includes("debug")||r.getExtension(e)}))}}},Gt=e=>rt.activeTexture(e),Ot=(e,t)=>{rt.attachShader(Rt.programs[e],Rt.shaders[t])},Nt=(e,t,r)=>{rt.bindAttribLocation(Rt.programs[e],t,se(r))},jt=(e,t)=>{35051==e?rt.currentPixelPackBufferBinding=t:35052==e&&(rt.currentPixelUnpackBufferBinding=t),rt.bindBuffer(e,Rt.buffers[t])},Ut=(e,t,r)=>{rt.bindBufferBase(e,t,Rt.buffers[r])},Wt=(e,t)=>{rt.bindFramebuffer(e,Rt.framebuffers[t])},Ht=(e,t)=>{rt.bindRenderbuffer(e,Rt.renderbuffers[t])},Vt=(e,t)=>{rt.bindTexture(e,Rt.textures[t])},zt=e=>{rt.bindVertexArray(Rt.vaos[e])},qt=zt,Xt=zt,Jt=Xt,Kt=(e,t,r,n)=>rt.blendColor(e,t,r,n),Qt=e=>rt.blendEquation(e),Yt=(e,t)=>rt.blendEquationSeparate(e,t),Zt=(e,t)=>rt.blendFunc(e,t),er=(e,t,r,n)=>rt.blendFuncSeparate(e,t,r,n),tr=(e,t,r,n,a,s,o,i,l,u)=>rt.blitFramebuffer(e,t,r,n,a,s,o,i,l,u),rr=(e,t,r,n)=>{Rt.currentContext.version>=2?r&&t?rt.bufferData(e,p,n,r,t):rt.bufferData(e,t,n):rt.bufferData(e,r?p.subarray(r,r+t):t,n)},nr=(e,t,r,n)=>{Rt.currentContext.version>=2?r&&rt.bufferSubData(e,t,p,n,r):rt.bufferSubData(e,t,p.subarray(n,n+r))},ar=e=>rt.checkFramebufferStatus(e),sr=e=>rt.clear(e),or=(e,t,r,n)=>rt.clearColor(e,t,r,n),ir=e=>rt.clearDepth(e),lr=e=>rt.clearStencil(e),ur=(e,t,r,n)=>{rt.colorMask(!!e,!!t,!!r,!!n)},cr=e=>{rt.compileShader(Rt.shaders[e])},hr=(e,t,r,n,a,s,o,i)=>{if(Rt.currentContext.version>=2)return rt.currentPixelUnpackBufferBinding||!o?void rt.compressedTexImage2D(e,t,r,n,a,s,o,i):void rt.compressedTexImage2D(e,t,r,n,a,s,p,i,o);rt.compressedTexImage2D(e,t,r,n,a,s,p.subarray(i,i+o))},dr=(e,t,r,n,a,s,o,i,l)=>{if(Rt.currentContext.version>=2)return rt.currentPixelUnpackBufferBinding||!i?void rt.compressedTexSubImage2D(e,t,r,n,a,s,o,i,l):void rt.compressedTexSubImage2D(e,t,r,n,a,s,o,p,l,i);rt.compressedTexSubImage2D(e,t,r,n,a,s,o,p.subarray(l,l+i))},mr=(e,t,r,n,a,s,o,i)=>rt.copyTexSubImage2D(e,t,r,n,a,s,o,i),fr=()=>{var e=Rt.getNewId(Rt.programs),t=rt.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,Rt.programs[e]=t,e},pr=e=>{var t=Rt.getNewId(Rt.shaders);return Rt.shaders[t]=rt.createShader(e),t},gr=e=>rt.cullFace(e),wr=(e,t)=>{for(var r=0;r<e;r++){var n=v[t+4*r>>2],a=Rt.buffers[n];a&&(rt.deleteBuffer(a),a.name=0,Rt.buffers[n]=null,n==rt.currentPixelPackBufferBinding&&(rt.currentPixelPackBufferBinding=0),n==rt.currentPixelUnpackBufferBinding&&(rt.currentPixelUnpackBufferBinding=0))}},vr=(e,t)=>{for(var r=0;r<e;++r){var n=v[t+4*r>>2],a=Rt.framebuffers[n];a&&(rt.deleteFramebuffer(a),a.name=0,Rt.framebuffers[n]=null)}},yr=e=>{if(e){var t=Rt.programs[e];t?(rt.deleteProgram(t),t.name=0,Rt.programs[e]=null):Rt.recordError(1281)}},br=(e,t)=>{for(var r=0;r<e;r++){var n=v[t+4*r>>2],a=Rt.renderbuffers[n];a&&(rt.deleteRenderbuffer(a),a.name=0,Rt.renderbuffers[n]=null)}},_r=e=>{if(e){var t=Rt.shaders[e];t?(rt.deleteShader(t),Rt.shaders[e]=null):Rt.recordError(1281)}},Er=e=>{if(e){var t=Rt.syncs[e];t?(rt.deleteSync(t),t.name=0,Rt.syncs[e]=null):Rt.recordError(1281)}},xr=(e,t)=>{for(var r=0;r<e;r++){var n=v[t+4*r>>2],a=Rt.textures[n];a&&(rt.deleteTexture(a),a.name=0,Rt.textures[n]=null)}},Cr=(e,t)=>{for(var r=0;r<e;r++){var n=v[t+4*r>>2];rt.deleteVertexArray(Rt.vaos[n]),Rt.vaos[n]=null}},Tr=Cr,Pr=Cr,kr=Pr,Ir=e=>rt.depthFunc(e),Ar=e=>{rt.depthMask(!!e)},Sr=e=>rt.disable(e),Fr=e=>{rt.disableVertexAttribArray(e)},Lr=(e,t,r)=>{rt.drawArrays(e,t,r)},$r=(e,t,r,n)=>{rt.drawElements(e,t,r,n)},Dr=e=>rt.enable(e),Mr=e=>{rt.enableVertexAttribArray(e)},Br=(e,t)=>{var r=rt.fenceSync(e,t);if(r){var n=Rt.getNewId(Rt.syncs);return r.name=n,Rt.syncs[n]=r,n}return 0},Rr=()=>rt.finish(),Gr=()=>rt.flush(),Or=(e,t,r,n)=>{rt.framebufferRenderbuffer(e,t,r,Rt.renderbuffers[n])},Nr=(e,t,r,n,a)=>{rt.framebufferTexture2D(e,t,r,Rt.textures[n],a)},jr=e=>rt.frontFace(e),Ur=(e,t)=>{Rt.genObject(e,t,"createBuffer",Rt.buffers)},Wr=(e,t)=>{Rt.genObject(e,t,"createFramebuffer",Rt.framebuffers)},Hr=(e,t)=>{Rt.genObject(e,t,"createRenderbuffer",Rt.renderbuffers)},Vr=(e,t)=>{Rt.genObject(e,t,"createTexture",Rt.textures)},zr=(e,t)=>{Rt.genObject(e,t,"createVertexArray",Rt.vaos)},qr=zr,Xr=zr,Jr=e=>rt.generateMipmap(e),Kr=(e,t)=>rt.getAttribLocation(Rt.programs[e],se(t)),Qr=()=>{var e=Bt(rt);return e=e.concat(e.map((e=>"GL_"+e)))},Yr=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&Rt.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=rt.getParameter(34467);n=a?a.length:0;break;case 33309:if(Rt.currentContext.version<2)return void Rt.recordError(1282);n=Qr().length;break;case 33307:case 33308:if(Rt.currentContext.version<2)return void Rt.recordError(1280);n=33307==e?3:0}if(void 0===n){var s=rt.getParameter(e);switch(typeof s){case"number":n=s;break;case"boolean":n=s?1:0;break;case"string":return void Rt.recordError(1280);case"object":if(null===s)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Rt.recordError(1280)}else{if(s instanceof Float32Array||s instanceof Uint32Array||s instanceof Int32Array||s instanceof Array){for(var o=0;o<s.length;++o)switch(r){case 0:v[t+4*o>>2]=s[o];break;case 2:b[t+4*o>>2]=s[o];break;case 4:f[t+o]=s[o]?1:0}return}try{n=0|s.name}catch(t){return Rt.recordError(1280),void d(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return Rt.recordError(1280),void d(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${s} of type ${typeof s}!`)}}switch(r){case 1:((e,t)=>{y[e>>2]=t;var r=y[e>>2];y[e+4>>2]=(t-r)/4294967296})(t,n);break;case 0:v[t>>2]=n;break;case 2:b[t>>2]=n;break;case 4:f[t]=n?1:0}}else Rt.recordError(1281)},Zr=(e,t)=>Yr(e,t,4),en=(e,t,r)=>{r?v[r>>2]=rt.getBufferParameter(e,t):Rt.recordError(1281)},tn=()=>{var e=rt.getError()||Rt.lastError;return Rt.lastError=0,e},rn=(e,t,r,n)=>{var a=rt.getFramebufferAttachmentParameter(e,t,r);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),v[n>>2]=a},nn=(e,t)=>Yr(e,t,0),an=(e,t,r,n,a)=>{if(n<0)Rt.recordError(1281);else if(a){var s=rt.getInternalformatParameter(e,t,r);if(null!==s)for(var o=0;o<s.length&&o<n;++o)v[a+4*o>>2]=s[o]}else Rt.recordError(1281)},sn=(e,t,r,n)=>{var a=rt.getProgramInfoLog(Rt.programs[e]);null===a&&(a="(unknown error)");var s=t>0&&n?ie(a,n,t):0;r&&(v[r>>2]=s)},on=(e,t,r)=>{if(r)if(e>=Rt.counter)Rt.recordError(1281);else if(e=Rt.programs[e],35716==t){var n=rt.getProgramInfoLog(e);null===n&&(n="(unknown error)"),v[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var a=rt.getProgramParameter(e,35718),s=0;s<a;++s)e.maxUniformLength=Math.max(e.maxUniformLength,rt.getActiveUniform(e,s).name.length+1);v[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var o=rt.getProgramParameter(e,35721);for(s=0;s<o;++s)e.maxAttributeLength=Math.max(e.maxAttributeLength,rt.getActiveAttrib(e,s).name.length+1)}v[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var i=rt.getProgramParameter(e,35382);for(s=0;s<i;++s)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,rt.getActiveUniformBlockName(e,s).length+1)}v[r>>2]=e.maxUniformBlockNameLength}else v[r>>2]=rt.getProgramParameter(e,t);else Rt.recordError(1281)},ln=(e,t,r)=>{r?v[r>>2]=rt.getRenderbufferParameter(e,t):Rt.recordError(1281)},un=(e,t,r,n)=>{var a=rt.getShaderInfoLog(Rt.shaders[e]);null===a&&(a="(unknown error)");var s=t>0&&n?ie(a,n,t):0;r&&(v[r>>2]=s)},cn=(e,t,r,n)=>{var a=rt.getShaderPrecisionFormat(e,t);v[r>>2]=a.rangeMin,v[r+4>>2]=a.rangeMax,v[n>>2]=a.precision},hn=(e,t,r)=>{if(r)if(35716==t){var n=rt.getShaderInfoLog(Rt.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;v[r>>2]=a}else if(35720==t){var s=rt.getShaderSource(Rt.shaders[e]),o=s?s.length+1:0;v[r>>2]=o}else v[r>>2]=rt.getShaderParameter(Rt.shaders[e],t);else Rt.recordError(1281)},dn=e=>{var t=K(e)+1,r=La(t);return r&&ie(e,r,t),r},mn=e=>{var t=Rt.stringCache[e];if(!t){switch(e){case 7939:t=dn(Qr().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=rt.getParameter(e);r||Rt.recordError(1280),t=r?dn(r):0;break;case 7938:var n=rt.getParameter(7938),a=`OpenGL ES 2.0 (${n})`;Rt.currentContext.version>=2&&(a=`OpenGL ES 3.0 (${n})`),t=dn(a);break;case 35724:var s=rt.getParameter(35724),o=s.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==o&&(3==o[1].length&&(o[1]=o[1]+"0"),s=`OpenGL ES GLSL ES ${o[1]} (${s})`),t=dn(s);break;default:Rt.recordError(1280)}Rt.stringCache[e]=t}return t},fn=(e,t)=>{if(Rt.currentContext.version<2)return Rt.recordError(1282),0;var r=Rt.stringiCache[e];if(r)return t<0||t>=r.length?(Rt.recordError(1281),0):r[t];if(7939===e){var n=Qr().map(dn);return r=Rt.stringiCache[e]=n,t<0||t>=r.length?(Rt.recordError(1281),0):r[t]}return Rt.recordError(1280),0},pn=(e,t)=>rt.getUniformBlockIndex(Rt.programs[e],se(t)),gn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),wn=(e,t)=>{if(t=se(t),e=Rt.programs[e]){(e=>{var t,r,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var s=rt.getProgramParameter(e,35718);for(t=0;t<s;++t){var o=rt.getActiveUniform(e,t),i=o.name,l=o.size,u=gn(i),c=u>0?i.slice(0,u):i,h=e.uniformIdCounter;for(e.uniformIdCounter+=l,a[c]=[l,h],r=0;r<l;++r)n[h]=r,e.uniformArrayNamesById[h++]=c}}})(e);var r=e.uniformLocsById,n=0,a=t,s=gn(t);s>0&&(i=t.slice(s+1),n=parseInt(i)>>>0,a=t.slice(0,s));var o=e.uniformSizeAndIdsByName[a];if(o&&n<o[0]&&(r[n+=o[1]]=r[n]||rt.getUniformLocation(e,t)))return n}else Rt.recordError(1281);var i;return-1},vn=(e,t,r)=>{r?v[r>>2]=rt.getVertexAttribOffset(e,t):Rt.recordError(1281)},yn=(e,t,r)=>{((e,t,r,n)=>{if(r){var a=rt.getVertexAttrib(e,t);if(34975==t)v[r>>2]=a&&a.name;else if("number"==typeof a||"boolean"==typeof a)switch(n){case 0:v[r>>2]=a;break;case 2:b[r>>2]=a;break;case 5:v[r>>2]=Math.fround(a)}else for(var s=0;s<a.length;s++)switch(n){case 0:v[r+4*s>>2]=a[s];break;case 2:b[r+4*s>>2]=a[s];break;case 5:v[r+4*s>>2]=Math.fround(a[s])}}else Rt.recordError(1281)})(e,t,r,5)},bn=e=>rt.isEnabled(e),_n=e=>{var t=Rt.textures[e];return t?rt.isTexture(t):0},En=e=>rt.lineWidth(e),xn=e=>{e=Rt.programs[e],rt.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Cn=(e,t)=>{3317==e?Rt.unpackAlignment=t:3314==e&&(Rt.unpackRowLength=t),rt.pixelStorei(e,t)},Tn=e=>0==(e-=5120)?f:1==e?p:2==e?g:4==e?v:6==e?b:5==e||28922==e||28520==e||30779==e||30782==e?y:w,Pn=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),kn=(e,t,r,n,a,s)=>{var o=Tn(e),i=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*o.BYTES_PER_ELEMENT,l=((e,t,r)=>{var n,a,s=(Rt.unpackRowLength||e)*r;return t*(n=s,a=Rt.unpackAlignment,n+a-1&-a)})(r,n,i);return o.subarray(Pn(a,o),Pn(a+l,o))},In=(e,t,r,n,a,s,o)=>{if(Rt.currentContext.version>=2){if(rt.currentPixelPackBufferBinding)return void rt.readPixels(e,t,r,n,a,s,o);var i=Tn(s),l=Pn(o,i);rt.readPixels(e,t,r,n,a,s,i,l)}else{var u=kn(s,a,r,n,o);u?rt.readPixels(e,t,r,n,a,s,u):Rt.recordError(1280)}},An=(e,t,r,n)=>rt.renderbufferStorage(e,t,r,n),Sn=(e,t,r,n,a)=>rt.renderbufferStorageMultisample(e,t,r,n,a),Fn=(e,t,r,n)=>rt.scissor(e,t,r,n),Ln=(e,t,r,n)=>{var a=Rt.getSource(e,t,r,n);rt.shaderSource(Rt.shaders[e],a)},$n=(e,t,r)=>rt.stencilFunc(e,t,r),Dn=(e,t,r,n)=>rt.stencilFuncSeparate(e,t,r,n),Mn=e=>rt.stencilMask(e),Bn=(e,t)=>rt.stencilMaskSeparate(e,t),Rn=(e,t,r)=>rt.stencilOp(e,t,r),Gn=(e,t,r,n)=>rt.stencilOpSeparate(e,t,r,n),On=(e,t,r,n,a,s,o,i,l)=>{if(Rt.currentContext.version>=2){if(rt.currentPixelUnpackBufferBinding)return void rt.texImage2D(e,t,r,n,a,s,o,i,l);if(l){var u=Tn(i),c=Pn(l,u);return void rt.texImage2D(e,t,r,n,a,s,o,i,u,c)}}var h=l?kn(i,o,n,a,l):null;rt.texImage2D(e,t,r,n,a,s,o,i,h)},Nn=(e,t,r)=>rt.texParameterf(e,t,r),jn=(e,t,r)=>{var n=b[r>>2];rt.texParameterf(e,t,n)},Un=(e,t,r)=>rt.texParameteri(e,t,r),Wn=(e,t,r)=>{var n=v[r>>2];rt.texParameteri(e,t,n)},Hn=(e,t,r,n,a,s,o,i,l)=>{if(Rt.currentContext.version>=2){if(rt.currentPixelUnpackBufferBinding)return void rt.texSubImage2D(e,t,r,n,a,s,o,i,l);if(l){var u=Tn(i);return void rt.texSubImage2D(e,t,r,n,a,s,o,i,u,Pn(l,u))}}var c=l?kn(i,o,a,s,l):null;rt.texSubImage2D(e,t,r,n,a,s,o,i,c)},Vn=e=>{var t=rt.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=rt.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}Rt.recordError(1282)},zn=(e,t)=>{rt.uniform1f(Vn(e),t)},qn=[],Xn=(e,t,r)=>{if(Rt.currentContext.version>=2)t&&rt.uniform1fv(Vn(e),b,r>>2,t);else{if(t<=288)for(var n=qn[t],a=0;a<t;++a)n[a]=b[r+4*a>>2];else n=b.subarray(r>>2,r+4*t>>2);rt.uniform1fv(Vn(e),n)}},Jn=(e,t)=>{rt.uniform1i(Vn(e),t)},Kn=[],Qn=(e,t,r)=>{if(Rt.currentContext.version>=2)t&&rt.uniform1iv(Vn(e),v,r>>2,t);else{if(t<=288)for(var n=Kn[t],a=0;a<t;++a)n[a]=v[r+4*a>>2];else n=v.subarray(r>>2,r+4*t>>2);rt.uniform1iv(Vn(e),n)}},Yn=(e,t,r)=>{rt.uniform2f(Vn(e),t,r)},Zn=(e,t,r)=>{if(Rt.currentContext.version>=2)t&&rt.uniform2fv(Vn(e),b,r>>2,2*t);else{if(t<=144)for(var n=qn[t*=2],a=0;a<t;a+=2)n[a]=b[r+4*a>>2],n[a+1]=b[r+(4*a+4)>>2];else n=b.subarray(r>>2,r+8*t>>2);rt.uniform2fv(Vn(e),n)}},ea=(e,t,r)=>{rt.uniform2i(Vn(e),t,r)},ta=(e,t,r)=>{if(Rt.currentContext.version>=2)t&&rt.uniform2iv(Vn(e),v,r>>2,2*t);else{if(t<=144)for(var n=Kn[t*=2],a=0;a<t;a+=2)n[a]=v[r+4*a>>2],n[a+1]=v[r+(4*a+4)>>2];else n=v.subarray(r>>2,r+8*t>>2);rt.uniform2iv(Vn(e),n)}},ra=(e,t,r,n)=>{rt.uniform3f(Vn(e),t,r,n)},na=(e,t,r)=>{if(Rt.currentContext.version>=2)t&&rt.uniform3fv(Vn(e),b,r>>2,3*t);else{if(t<=96)for(var n=qn[t*=3],a=0;a<t;a+=3)n[a]=b[r+4*a>>2],n[a+1]=b[r+(4*a+4)>>2],n[a+2]=b[r+(4*a+8)>>2];else n=b.subarray(r>>2,r+12*t>>2);rt.uniform3fv(Vn(e),n)}},aa=(e,t,r,n)=>{rt.uniform3i(Vn(e),t,r,n)},sa=(e,t,r)=>{if(Rt.currentContext.version>=2)t&&rt.uniform3iv(Vn(e),v,r>>2,3*t);else{if(t<=96)for(var n=Kn[t*=3],a=0;a<t;a+=3)n[a]=v[r+4*a>>2],n[a+1]=v[r+(4*a+4)>>2],n[a+2]=v[r+(4*a+8)>>2];else n=v.subarray(r>>2,r+12*t>>2);rt.uniform3iv(Vn(e),n)}},oa=(e,t,r,n,a)=>{rt.uniform4f(Vn(e),t,r,n,a)},ia=(e,t,r)=>{if(Rt.currentContext.version>=2)t&&rt.uniform4fv(Vn(e),b,r>>2,4*t);else{if(t<=72){var n=qn[4*t],a=b;r>>=2,t*=4;for(var s=0;s<t;s+=4){var o=r+s;n[s]=a[o],n[s+1]=a[o+1],n[s+2]=a[o+2],n[s+3]=a[o+3]}}else n=b.subarray(r>>2,r+16*t>>2);rt.uniform4fv(Vn(e),n)}},la=(e,t,r,n,a)=>{rt.uniform4i(Vn(e),t,r,n,a)},ua=(e,t,r)=>{if(Rt.currentContext.version>=2)t&&rt.uniform4iv(Vn(e),v,r>>2,4*t);else{if(t<=72)for(var n=Kn[t*=4],a=0;a<t;a+=4)n[a]=v[r+4*a>>2],n[a+1]=v[r+(4*a+4)>>2],n[a+2]=v[r+(4*a+8)>>2],n[a+3]=v[r+(4*a+12)>>2];else n=v.subarray(r>>2,r+16*t>>2);rt.uniform4iv(Vn(e),n)}},ca=(e,t,r)=>{e=Rt.programs[e],rt.uniformBlockBinding(e,t,r)},ha=(e,t,r,n)=>{if(Rt.currentContext.version>=2)t&&rt.uniformMatrix2fv(Vn(e),!!r,b,n>>2,4*t);else{if(t<=72)for(var a=qn[t*=4],s=0;s<t;s+=4)a[s]=b[n+4*s>>2],a[s+1]=b[n+(4*s+4)>>2],a[s+2]=b[n+(4*s+8)>>2],a[s+3]=b[n+(4*s+12)>>2];else a=b.subarray(n>>2,n+16*t>>2);rt.uniformMatrix2fv(Vn(e),!!r,a)}},da=(e,t,r,n)=>{if(Rt.currentContext.version>=2)t&&rt.uniformMatrix3fv(Vn(e),!!r,b,n>>2,9*t);else{if(t<=32)for(var a=qn[t*=9],s=0;s<t;s+=9)a[s]=b[n+4*s>>2],a[s+1]=b[n+(4*s+4)>>2],a[s+2]=b[n+(4*s+8)>>2],a[s+3]=b[n+(4*s+12)>>2],a[s+4]=b[n+(4*s+16)>>2],a[s+5]=b[n+(4*s+20)>>2],a[s+6]=b[n+(4*s+24)>>2],a[s+7]=b[n+(4*s+28)>>2],a[s+8]=b[n+(4*s+32)>>2];else a=b.subarray(n>>2,n+36*t>>2);rt.uniformMatrix3fv(Vn(e),!!r,a)}},ma=(e,t,r,n)=>{if(Rt.currentContext.version>=2)t&&rt.uniformMatrix4fv(Vn(e),!!r,b,n>>2,16*t);else{if(t<=18){var a=qn[16*t],s=b;n>>=2,t*=16;for(var o=0;o<t;o+=16){var i=n+o;a[o]=s[i],a[o+1]=s[i+1],a[o+2]=s[i+2],a[o+3]=s[i+3],a[o+4]=s[i+4],a[o+5]=s[i+5],a[o+6]=s[i+6],a[o+7]=s[i+7],a[o+8]=s[i+8],a[o+9]=s[i+9],a[o+10]=s[i+10],a[o+11]=s[i+11],a[o+12]=s[i+12],a[o+13]=s[i+13],a[o+14]=s[i+14],a[o+15]=s[i+15]}}else a=b.subarray(n>>2,n+64*t>>2);rt.uniformMatrix4fv(Vn(e),!!r,a)}},fa=e=>{e=Rt.programs[e],rt.useProgram(e),rt.currentProgram=e},pa=(e,t)=>rt.vertexAttrib1f(e,t),ga=(e,t)=>{rt.vertexAttrib2f(e,b[t>>2],b[t+4>>2])},wa=(e,t)=>{rt.vertexAttrib3f(e,b[t>>2],b[t+4>>2],b[t+8>>2])},va=(e,t)=>{rt.vertexAttrib4f(e,b[t>>2],b[t+4>>2],b[t+8>>2],b[t+12>>2])},ya=(e,t,r,n,a,s)=>{rt.vertexAttribPointer(e,t,r,!!n,a,s)},ba=(e,t,r,n)=>rt.viewport(e,t,r,n),_a=(e,t,r)=>{r=Number(r),rt.waitSync(Rt.syncs[e],t,r)},Ea=e=>{var t=(e-m.buffer.byteLength+65535)/65536|0;try{return m.grow(t),k(),1}catch(e){}},xa=["default","low-power","high-performance"],Ca=(e,t)=>{var r=t>>2,n=v[r+2],a={alpha:!!f[t+0],depth:!!f[t+1],stencil:!!f[t+2],antialias:!!f[t+3],premultipliedAlpha:!!f[t+4],preserveDrawingBuffer:!!f[t+5],powerPreference:xa[n],failIfMajorPerformanceCaveat:!!f[t+12],majorVersion:v[r+4],minorVersion:v[r+5],enableExtensionsByDefault:f[t+24],explicitSwapControl:f[t+25],proxyContextToMainThread:v[r+7],renderViaOffscreenBackBuffer:f[t+32]},s=Mt(e);return s?a.explicitSwapControl?0:Rt.createContext(s,a):0},Ta=()=>Rt.currentContext?Rt.currentContext.handle:0;ae.createPreloadedFile=(e,t,r,n,a,s,o,l,u,c)=>{var h=t?z.resolve(H.join2(e,t)):e;function d(r){function i(r){c?.(),l||((e,t,r,n,a,s)=>{ae.createDataFile(e,t,r,n,a,s)})(e,t,r,n,a,u),s?.(),M()}((e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var a=!1;return re.forEach((s=>{a||s.canHandle(t)&&(s.handle(e,t,r,n),a=!0)})),a})(r,h,i,(()=>{o?.(),M()}))||i(r)}D(),"string"==typeof r?(async e=>{var t=await i(e);return new Uint8Array(t)})(r).then(d,o):d(r)},ae.staticInit(),te.doesNotExistError=new ae.ErrnoError(44),te.doesNotExistError.stack="<generic error, no stack>",he=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);de=e})(),me=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(Re.prototype,{isAliasOf(e){if(!(this instanceof Re))return!1;if(!(e instanceof Re))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return t===n&&r===a},clone(){if(this.$$.ptr||Te(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Me(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||Te(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),ke(this),Ie(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Te(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),Be.push(this),Be.length,this.$$.deleteScheduled=!0,this}}),Object.assign(ze.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},argPackAdvance:Ce,readValueFromPointer:ce,fromWireType:De}),Xe=n.UnboundTypeError=(at=Error,(it=Ge(ot="UnboundTypeError",(function(e){this.name=ot,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(at.prototype),it.prototype.constructor=it,it.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},it),dt.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=ft;for(var Pa=new Float32Array(288),ka=0;ka<=288;++ka)qn[ka]=Pa.subarray(0,ka);var Ia=new Int32Array(288);for(ka=0;ka<=288;++ka)Kn[ka]=Ia.subarray(0,ka);var Aa={z:(e,t,r)=>{throw new j(e).init(t,r),e},N:function(e,t,r){oe.varargs=r;try{var n=oe.getStreamFromFD(e);switch(t){case 0:if((a=U())<0)return-28;for(;ae.streams[a];)a++;return ae.dupStream(n,a).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var a=U();return n.flags|=a,0;case 12:return a=W(),g[a+0>>1]=2,0}return-28}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return-e.errno}},hb:function(e,t,r){try{var n=oe.getStreamFromFD(e);n.getdents||(n.getdents=ae.readdir(n.path));for(var a=280,s=0,o=ae.llseek(n,0,1),i=Math.floor(o/a),l=Math.min(n.getdents.length,i+Math.floor(r/a)),u=i;u<l;u++){var c,h,d=n.getdents[u];if("."===d)c=n.node.id,h=4;else if(".."===d)c=ae.lookupPath(n.path,{parent:!0}).node.id,h=4;else{var m;try{m=ae.lookupNode(n.node,d)}catch(e){if(28===e?.errno)continue;throw e}c=m.id,h=ae.isChrdev(m.mode)?2:ae.isDir(m.mode)?4:ae.isLink(m.mode)?10:8}_[t+s>>3]=BigInt(c),_[t+s+8>>3]=BigInt((u+1)*a),g[t+s+16>>1]=280,f[t+s+18]=h,ie(d,t+s+19,256),s+=a}return ae.llseek(n,u*a,0),s}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return-e.errno}},ob:function(e,t,r){oe.varargs=r;try{var n=oe.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var a=n.tty.ops.ioctl_tcgets(n),s=W();v[s>>2]=a.c_iflag||0,v[s+4>>2]=a.c_oflag||0,v[s+8>>2]=a.c_cflag||0,v[s+12>>2]=a.c_lflag||0;for(var o=0;o<32;o++)f[s+o+17]=a.c_cc[o]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){s=W();var i=v[s>>2],l=v[s+4>>2],u=v[s+8>>2],c=v[s+12>>2],h=[];for(o=0;o<32;o++)h.push(f[s+o+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:i,c_oflag:l,c_cflag:u,c_lflag:c,c_cc:h})}return 0;case 21519:return n.tty?(s=W(),v[s>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21531:return s=W(),ae.ioctl(n,t,s);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);s=W(),g[s>>1]=d[0],g[s+2>>1]=d[1]}return 0;default:return-28}}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return-e.errno}},fb:function(e,t,r){try{return t=oe.getStr(t),t=oe.calculateAt(e,t),ae.mkdir(t,r,0),0}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return-e.errno}},O:function(e,t,r,n){oe.varargs=n;try{t=oe.getStr(t),t=oe.calculateAt(e,t);var a=n?U():0;return ae.open(t,r,a).fd}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return-e.errno}},kb:function(e){try{return e=oe.getStr(e),ae.rmdir(e),0}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return-e.errno}},gb:function(e,t){try{return e=oe.getStr(e),oe.writeStat(t,ae.stat(e))}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return-e.errno}},lb:function(e,t,r){try{return t=oe.getStr(t),t=oe.calculateAt(e,t),0===r?ae.unlink(t):512===r?ae.rmdir(t):B("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return-e.errno}},pb:()=>B(""),w:e=>{var t=le[e];delete le[e];var r=t.rawConstructor,n=t.rawDestructor,a=t.fields,s=a.map((e=>e.getterReturnType)).concat(a.map((e=>e.setterArgumentType)));ve([e],s,(e=>{var s={};return a.forEach(((t,r)=>{var n=t.fieldName,o=e[r],i=t.getter,l=t.getterContext,u=e[r+a.length],c=t.setter,h=t.setterContext;s[n]={read:e=>o.fromWireType(i(l,e)),write:(e,t)=>{var r=[];c(h,e,u.toWireType(r,t)),ue(r)}}})),[{name:t.name,fromWireType:e=>{var t={};for(var r in s)t[r]=s[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var a in s)if(!(a in t))throw new TypeError(`Missing field: "${a}"`);var o=r();for(a in s)s[a].write(o,t[a]);return null!==e&&e.push(n,o),o},argPackAdvance:Ce,readValueFromPointer:ce,destructorFunction:n}]}))},L:(e,t,r,n,a)=>{var s=-1!=(t=be(t)).indexOf("u");Ee(e,{name:t,fromWireType:e=>e,toWireType:function(e,t){if("bigint"!=typeof t&&"number"!=typeof t)throw new TypeError(`Cannot convert "${ye(t)}" to ${this.name}`);return"number"==typeof t&&(t=BigInt(t)),t},argPackAdvance:Ce,readValueFromPointer:xe(t,r,!s),destructorFunction:null})},db:(e,t,r,n)=>{Ee(e,{name:t=be(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Ce,readValueFromPointer:function(e){return this.fromWireType(p[e])},destructorFunction:null})},i:(e,t,r,n,a,s,o,i,l,u,c,h,d)=>{c=be(c),s=Ke(a,s),i&&(i=Ke(o,i)),u&&(u=Ke(l,u)),d=Ke(h,d);var m=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);Ne(m,(function(){Ye(`Cannot construct ${c} due to unbound types`,[n])})),ve([e,t,r],n?[n]:[],(t=>{var r,a,o;t=t[0],o=n?(a=t.registeredClass).instancePrototype:Re.prototype;var l=Ge(c,(function(...e){if(Object.getPrototypeOf(this)!==h)throw new me("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new me(c+" has no accessible constructor");var t=f.constructor_body[e.length];if(void 0===t)throw new me(`Tried to invoke ctor of ${c} with invalid number of parameters (${e.length}) - expected (${Object.keys(f.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)})),h=Object.create(o,{constructor:{value:l}});l.prototype=h;var f=new je(c,l,h,d,a,s,i,u);f.baseClass&&((r=f.baseClass).__derivedClasses??(r.__derivedClasses=[]),f.baseClass.__derivedClasses.push(f));var p=new ze(c,f,!0,!1,!1),g=new ze(c+"*",f,!1,!1,!1),w=new ze(c+" const*",f,!1,!0,!1);return Se[e]={pointerType:g,constPointerType:w},Je(m,l),[p,g,w]}))},h:(e,t,r,n,a,s,o,i,l)=>{var u=lt(r,n);t=be(t),t=ut(t),s=Ke(a,s),ve([],[e],(e=>{var n=`${(e=e[0]).name}.${t}`;function a(){Ye(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var l=e.registeredClass.constructor;return void 0===l[t]?(a.argCount=r-1,l[t]=a):(Oe(l,t,n),l[t].overloadTable[r-1]=a),ve([],u,(a=>{var u=[a[0],null].concat(a.slice(1)),c=tt(n,u,null,s,o,i);if(void 0===l[t].overloadTable?(c.argCount=r-1,l[t]=c):l[t].overloadTable[r-1]=c,e.registeredClass.__derivedClasses)for(const r of e.registeredClass.__derivedClasses)r.constructor.hasOwnProperty(t)||(r.constructor[t]=c);return[]})),[]}))},y:(e,t,r,n,a,s)=>{var o=lt(t,r);a=Ke(n,a),ve([],[e],(e=>{var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new me(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Ye(`Cannot construct ${e.name} due to unbound types`,o)},ve([],o,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=tt(r,n,null,a,s),[]))),[]}))},a:(e,t,r,n,a,s,o,i,l,u)=>{var c=lt(r,n);t=be(t),t=ut(t),s=Ke(a,s),ve([],[e],(e=>{var n=`${(e=e[0]).name}.${t}`;function a(){Ye(`Cannot call ${n} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),i&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,h=u[t];return void 0===h||void 0===h.overloadTable&&h.className!==e.name&&h.argCount===r-2?(a.argCount=r-2,a.className=e.name,u[t]=a):(Oe(u,t,n),u[t].overloadTable[r-2]=a),ve([],c,(a=>{var i=tt(n,a,e,s,o,l);return void 0===u[t].overloadTable?(i.argCount=r-2,u[t]=i):u[t].overloadTable[r-2]=i,[]})),[]}))},f:(e,t,r,n,a,s,o,i,l,u)=>{t=be(t),a=Ke(n,a),ve([],[e],(e=>{var n=`${(e=e[0]).name}.${t}`,c={get(){Ye(`Cannot access ${n} due to unbound types`,[r,o])},enumerable:!0,configurable:!0};return c.set=l?()=>Ye(`Cannot access ${n} due to unbound types`,[r,o]):e=>_e(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,t,c),ve([],l?[r,o]:[r],(r=>{var o=r[0],c={get(){var t=ct(this,e,n+" getter");return o.fromWireType(a(s,t))},enumerable:!0};if(l){l=Ke(i,l);var h=r[1];c.set=function(t){var r=ct(this,e,n+" setter"),a=[];l(u,r,h.toWireType(a,t)),ue(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,c),[]})),[]}))},bb:e=>Ee(e,gt),E:(e,t,r,n)=>{function a(){}t=be(t),a.values={},Ee(e,{name:t,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:Ce,readValueFromPointer:wt(t,r,n),destructorFunction:null}),Ne(t,a)},r:(e,t,r)=>{var n=vt(e,"enum");t=be(t);var a=n.constructor,s=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:Ge(`${n.name}_${t}`,(function(){}))}});a.values[r]=s,a[t]=s},K:(e,t,r)=>{Ee(e,{name:t=be(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ce,readValueFromPointer:yt(t,r),destructorFunction:null})},J:(e,t,r,n,a,s,o,i)=>{var l=lt(t,r);e=be(e),e=ut(e),a=Ke(n,a),Ne(e,(function(){Ye(`Cannot call ${e} due to unbound types`,l)}),t-1),ve([],l,(r=>{var n=[r[0],null].concat(r.slice(1));return Je(e,tt(e,n,null,a,s,o),t-1),[]}))},s:(e,t,r,n,a)=>{t=be(t);var s=e=>e;if(0===n){var o=32-8*r;s=e=>e<<o>>>o}var i=t.includes("unsigned");Ee(e,{name:t,fromWireType:s,toWireType:i?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ce,readValueFromPointer:xe(t,r,0!==n),destructorFunction:null})},j:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function a(e){var t=y[e>>2],r=y[e+4>>2];return new n(f.buffer,r,t)}Ee(e,{name:r=be(r),fromWireType:a,argPackAdvance:Ce,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},A:(e,t)=>{Ee(e,bt)},p:(e,t,r,n,a,s,o,i,l,u,c,h)=>{r=be(r),s=Ke(a,s),i=Ke(o,i),u=Ke(l,u),h=Ke(c,h),ve([e],[t],(e=>(e=e[0],[new ze(r,e.registeredClass,!1,!1,!0,e,n,s,i,u,h)])))},cb:(e,t)=>{Ee(e,{name:t=be(t),fromWireType(e){for(var t,r=y[e>>2],n=e+4,a=n,s=0;s<=r;++s){var o=n+s;if(s==r||0==p[o]){var i=se(a,o-a);void 0===t?t=i:(t+=String.fromCharCode(0),t+=i),a=o+1}}return $a(e),t},toWireType(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||_e("Cannot pass non-string to std::string"),r=n?K(t):t.length;var a=La(4+r+1),s=a+4;if(y[a>>2]=r,n)ie(t,s,r+1);else if(n)for(var o=0;o<r;++o){var i=t.charCodeAt(o);i>255&&($a(a),_e("String has UTF-16 code units that do not fit in 8 bits")),p[s+o]=i}else for(o=0;o<r;++o)p[s+o]=t[o];return null!==e&&e.push($a,a),a},argPackAdvance:Ce,readValueFromPointer:ce,destructorFunction(e){$a(e)}})},G:(e,t,r)=>{var n,a,s,o;r=be(r),2===t?(n=Et,a=xt,o=Ct,s=e=>w[e>>1]):4===t&&(n=Tt,a=Pt,o=kt,s=e=>y[e>>2]),Ee(e,{name:r,fromWireType:e=>{for(var r,a=y[e>>2],o=e+4,i=0;i<=a;++i){var l=e+4+i*t;if(i==a||0==s(l)){var u=n(o,l-o);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),o=l+t}}return $a(e),r},toWireType:(e,n)=>{"string"!=typeof n&&_e(`Cannot pass non-string to C++ string type ${r}`);var s=o(n),i=La(4+s+t);return y[i>>2]=s/t,a(n,i+4,s+t),null!==e&&e.push($a,i),i},argPackAdvance:Ce,readValueFromPointer:ce,destructorFunction(e){$a(e)}})},v:(e,t,r,n,a,s)=>{le[e]={name:be(t),rawConstructor:Ke(r,n),rawDestructor:Ke(a,s),fields:[]}},n:(e,t,r,n,a,s,o,i,l,u)=>{le[e].fields.push({fieldName:be(t),getterReturnType:r,getter:Ke(n,a),getterContext:s,setterArgumentType:o,setter:Ke(i,l),setterContext:u})},eb:(e,t)=>{Ee(e,{isVoid:!0,name:t=be(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},k:(e,t,r)=>(e=pt.toValue(e),t=vt(t,"emval::as"),It(t,r,e)),q:(e,t,r,n)=>(e=At[e])(null,t=pt.toValue(t),r,n),e:(e,t,r,n,a)=>(e=At[e])(t=pt.toValue(t),t[r=Ft(r)],n,a),b:mt,I:(e,t)=>(e=pt.toValue(e))==(t=pt.toValue(t)),B:e=>0===e?pt.toHandle(Lt()):(e=Ft(e),pt.toHandle(Lt()[e])),c:(e,t,r)=>{var n=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=vt(y[t+4*n>>2],"parameter "+n);return r})(e,t),a=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,i=[];0===r&&i.push("obj");for(var l=["retType"],u=[a],c=0;c<e;++c)i.push("arg"+c),l.push("argType"+c),u.push(n[c]),s+=` var arg${c} = argType${c}.readValueFromPointer(args${o?"+"+o:""});\n`,o+=n[c].argPackAdvance;s+=` var rv = ${1===r?"new func":"func.call"}(${i.join(", ")});\n`,a.isVoid||(l.push("emval_returnValue"),u.push(It),s+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s+="};\n",l.push(s);var h,d,m=et(Function,l)(...u),f=`methodCaller<(${n.map((e=>e.name)).join(", ")}) => ${a.name}>`;return h=Ge(f,m),d=At.length,At.push(h),d},m:e=>(e=Ft(e),pt.toHandle(n[e])),t:(e,t)=>(e=pt.toValue(e),t=pt.toValue(t),pt.toHandle(e[t])),g:e=>{e>9&&(dt[e+1]+=1)},_a:(e,t)=>(e=pt.toValue(e))instanceof(t=pt.toValue(t)),ab:()=>pt.toHandle([]),u:e=>pt.toHandle(Ft(e)),$a:()=>pt.toHandle({}),d:e=>{var t=pt.toValue(e);ue(t),mt(e)},F:(e,t,r)=>{e=pt.toValue(e),t=pt.toValue(t),r=pt.toValue(r),e[t]=r},l:(e,t)=>{var r=(e=vt(e,"_emval_take_value")).readValueFromPointer(t);return pt.toHandle(r)},ib:function(e,t,r){if(!((n=e)>=0&&n<=3))return 28;var n,a;a=0===e?Date.now():performance.now();var s=Math.round(1e3*a*1e3);return _[r>>3]=BigInt(s),0},P:(e,t,r)=>{var n=Mt(e);if(!n)return-4;v[t>>2]=n.width,v[r>>2]=n.height},Za:Gt,Ya:Ot,Wa:Nt,Va:jt,uc:Ut,Ua:Wt,Ta:Ht,Sa:Vt,zb:qt,xb:Jt,Ra:Kt,Qa:Qt,Ab:Yt,Pa:Zt,Oa:er,sb:tr,Na:rr,Ma:nr,La:ar,Ka:sr,Ja:or,Ia:ir,Ha:lr,Ga:ur,Fa:cr,Ea:hr,Da:dr,Ca:mr,Ba:fr,Aa:pr,za:gr,ya:wr,xa:vr,wa:yr,va:br,ua:_r,tb:Er,ta:xr,sa:Tr,wb:kr,ra:Ir,qa:Ar,pa:Sr,oa:Fr,na:Lr,ma:$r,la:Dr,ka:Mr,ub:Br,ja:Rr,ia:Gr,ha:Or,ga:Nr,fa:jr,ea:Ur,da:Wr,ba:Hr,aa:Vr,yb:qr,vb:Xr,ca:Jr,Bb:Kr,W:Zr,$:en,_:tn,Z:rn,Y:nn,X:an,V:sn,U:on,T:ln,S:un,R:cn,Q:hn,Bc:mn,Ac:fn,wc:pn,xc:wn,yc:vn,zc:yn,Xa:bn,tc:_n,sc:En,rc:xn,qc:Cn,pc:In,oc:An,rb:Sn,nc:Fn,mc:Ln,lc:$n,kc:Dn,jc:Mn,ic:Bn,hc:Rn,gc:Gn,fc:On,ec:Nn,dc:jn,cc:Un,bc:Wn,ac:Hn,$b:zn,_b:Xn,Zb:Jn,Yb:Qn,Xb:Yn,Wb:Zn,Vb:ea,Ub:ta,Tb:ra,Sb:na,Rb:aa,Qb:sa,Pb:oa,Ob:ia,Nb:la,Mb:ua,vc:ca,Lb:ha,Kb:da,Jb:ma,Ib:fa,Hb:pa,Gb:ga,Fb:wa,Eb:va,Db:ya,Cb:ba,qb:_a,jb:e=>{var t,r,n=p.length,a=2147483648;if((e>>>=0)>a)return!1;for(var s=1;s<=4;s*=2){var o=n*(1+.2/s);o=Math.min(o,e+100663296);var i=Math.min(a,(t=Math.max(e,o),r=65536,Math.ceil(t/r)*r));if(Ea(i))return!0}return!1},H:Ca,D:e=>{Rt.currentContext==e&&(Rt.currentContext=0),Rt.deleteContext(e)},x:Ta,o:e=>Rt.makeContextCurrent(e)?0:-5,C:function(e){try{var t=oe.getStreamFromFD(e);return ae.close(t),0}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return e.errno}},nb:function(e,t,r,n){try{var a=((e,t,r,n)=>{for(var a=0,s=0;s<r;s++){var o=y[t>>2],i=y[t+4>>2];t+=8;var l=ae.read(e,f,o,i,n);if(l<0)return-1;if(a+=l,l<i)break;void 0!==n&&(n+=l)}return a})(oe.getStreamFromFD(e),t,r);return y[n>>2]=a,0}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return e.errno}},mb:function(e,t,r,n){var a;t=(a=t)<-9007199254740992||a>9007199254740992?NaN:Number(a);try{if(isNaN(t))return 61;var s=oe.getStreamFromFD(e);return ae.llseek(s,t,r),_[n>>3]=BigInt(s.position),s.getdents&&0===t&&0===r&&(s.getdents=null),0}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return e.errno}},M:function(e,t,r,n){try{var a=((e,t,r,n)=>{for(var a=0,s=0;s<r;s++){var o=y[t>>2],i=y[t+4>>2];t+=8;var l=ae.write(e,f,o,i,n);if(l<0)return-1;if(a+=l,l<i)break;void 0!==n&&(n+=l)}return a})(oe.getStreamFromFD(e),t,r);return y[n>>2]=a,0}catch(e){if(void 0===ae||"ErrnoError"!==e.name)throw e;return e.errno}}},Sa=await async function(){function e(e,t){var r;return Sa=e.exports,m=Sa.Cc,k(),qe=Sa.Fc,r=Sa.Dc,S.unshift(r),M(),Sa}D();var t={a:Aa};if(n.instantiateWasm)try{return n.instantiateWasm(t,e)}catch(e){d(`Module.instantiateWasm callback failed with error: ${e}`),r(e)}I??(I=R());try{var a=await O(C,I,t);return e(a.instance)}catch(e){return r(e),Promise.reject(e)}}();Sa.Dc;var Fa=Sa.Ec,La=Sa.Gc,$a=Sa.Hc;if(n.GL=Rt,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return function e(){function r(){n.calledRun=!0,T||(n.noFSInit||ae.initialized||ae.init(),ae.ignorePermissions=!1,N(S),t(n),n.onRuntimeInitialized?.(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),F.unshift(e);var e;N(F)}())}L>0?$=e:(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),A.unshift(e);var e;N(A)}(),L>0?$=e:n.setStatus?(n.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>n.setStatus("")),1),r()}),1)):r())}(),a});class it{constructor(){this.executing=!1,this.queue=[]}exec(e,t,...r){return new Promise(((n,a)=>{this.queue.push({fn:async()=>{if(e)try{const a=await e.call(t,...r);n(a)}catch(e){a(e)}else a(new Error("Function is null!"))}}),this.executing||this.execNextTask()}))}execNextTask(){if(this.queue.length<1)return void(this.executing=!1);this.executing=!0;this.queue.shift().fn().then((()=>{this.execNextTask()}))}}e.PAGInit=(e={})=>ot(e).then((e=>(rt(e),e.webAssemblyQueue=new it,e.globalCanvas=new e.GlobalCanvas,e.PAGFont.registerFallbackFontNames(),e))).catch((e=>{throw console.error(e),new Error("PAGInit fail! Please check .wasm file path valid.")})),e.types=p,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).libpag={})}(this,function(e){"use strict";const t=(()=>{if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;if("undefined"!=typeof self)return self;throw new Error("unable to locate global object")})();let r;void 0===t.globalThis&&Object.defineProperty(t,"globalThis",{get:()=>t});function n(e){let t=Object.getOwnPropertyNames(e.prototype).filter(t=>"constructor"!==t&&"function"==typeof e.prototype[t]);const r=(t,r)=>{const n=t[r];t[r]=function(...t){if(!this.isDestroyed)return n.call(this,...t);console.error(`Don't call ${r} of the ${e.name} that is destroyed.`)}};t.forEach(t=>r(e.prototype,t))}var s=(e=>(e[e.None=0]="None",e[e.Stretch=1]="Stretch",e[e.LetterBox=2]="LetterBox",e[e.Zoom=3]="Zoom",e))(s||{}),a=(e=>(e.onAnimationStart="onAnimationStart",e.onAnimationEnd="onAnimationEnd",e.onAnimationCancel="onAnimationCancel",e.onAnimationRepeat="onAnimationRepeat",e.onAnimationUpdate="onAnimationUpdate",e.onAnimationPlay="onAnimationPlay",e.onAnimationPause="onAnimationPause",e.onAnimationFlushed="onAnimationFlushed",e))(a||{}),i=(e=>(e[e.LeftJustify=0]="LeftJustify",e[e.CenterJustify=1]="CenterJustify",e[e.RightJustify=2]="RightJustify",e[e.FullJustifyLastLineLeft=3]="FullJustifyLastLineLeft",e[e.FullJustifyLastLineRight=4]="FullJustifyLastLineRight",e[e.FullJustifyLastLineCenter=5]="FullJustifyLastLineCenter",e[e.FullJustifyLastLineFull=6]="FullJustifyLastLineFull",e))(i||{}),o=(e=>(e[e.Default=0]="Default",e[e.Horizontal=1]="Horizontal",e[e.Vertical=2]="Vertical",e))(o||{}),l=(e=>(e[e.Unknown=0]="Unknown",e[e.Null=1]="Null",e[e.Solid=2]="Solid",e[e.Text=3]="Text",e[e.Shape=4]="Shape",e[e.Image=5]="Image",e[e.PreCompose=6]="PreCompose",e))(l||{}),u=(e=>(e[e.None=0]="None",e[e.Scale=1]="Scale",e[e.Repeat=2]="Repeat",e[e.RepeatInverted=3]="RepeatInverted",e))(u||{}),c=(e=>(e[e.a=0]="a",e[e.c=1]="c",e[e.tx=2]="tx",e[e.b=3]="b",e[e.d=4]="d",e[e.ty=5]="ty",e))(c||{}),h=(e=>(e[e.Success=0]="Success",e[e.TryAgainLater=-1]="TryAgainLater",e[e.Error=-2]="Error",e))(h||{}),d=(e=>(e[e.Unknown=0]="Unknown",e[e.ALPHA_8=1]="ALPHA_8",e[e.RGBA_8888=2]="RGBA_8888",e[e.BGRA_8888=3]="BGRA_8888",e))(d||{}),m=(e=>(e[e.Unknown=0]="Unknown",e[e.Opaque=1]="Opaque",e[e.Premultiplied=2]="Premultiplied",e[e.Unpremultiplied=3]="Unpremultiplied",e))(m||{});class f extends Array{constructor(...e){super(...e),this.isDeleted=!1,Object.setPrototypeOf(this,f.prototype)}static create(){return new f}get(e){if(this.ensureNotDeleted(),e<0||e>=this.length)throw new RangeError("Index out of bounds");return this[e]}push_back(e){this.ensureNotDeleted(),this.push(e)}size(){return this.ensureNotDeleted(),this.length}delete(){this.ensureNotDeleted(),this.length=0,this.isDeleted=!0}ensureNotDeleted(){if(this.isDeleted)throw new Error("This VecArray instance has been deleted.")}}var p=Object.freeze({__proto__:null,PAGScaleMode:s,PAGViewListenerEvent:a,ParagraphJustification:i,TextDirection:o,LayerType:l,PAGTimeStretchMode:u,MatrixIndex:c,DecoderResult:h,ColorType:d,AlphaType:m,VecArray:f}),g=Object.defineProperty,w=Object.getOwnPropertyDescriptor;let v=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static makeAll(e,t,n,s,a,i,o=0,l=0,u=1){const c=r._Matrix._MakeAll(e,t,n,s,a,i,o,l,u);if(!c)throw new Error("Matrix.makeAll fail, please check parameters valid!");return new v(c)}static makeScale(e,t){let n;if(n=void 0!==t?r._Matrix._MakeScale(e,t):r._Matrix._MakeScale(e),!n)throw new Error("Matrix.makeScale fail, please check parameters valid!");return new v(n)}static makeTrans(e,t){const n=r._Matrix._MakeTrans(e,t);if(!n)throw new Error("Matrix.makeTrans fail, please check parameters valid!");return new v(n)}get a(){return this.wasmIns?this.wasmIns._get(c.a):0}set a(e){this.wasmIns?._set(c.a,e)}get b(){return this.wasmIns?this.wasmIns._get(c.b):0}set b(e){this.wasmIns?._set(c.b,e)}get c(){return this.wasmIns?this.wasmIns._get(c.c):0}set c(e){this.wasmIns?._set(c.c,e)}get d(){return this.wasmIns?this.wasmIns._get(c.d):0}set d(e){this.wasmIns?._set(c.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(c.tx):0}set tx(e){this.wasmIns?._set(c.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(c.ty):0}set ty(e){this.wasmIns?._set(c.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}setAll(e,t,r,n,s,a){this.wasmIns?._setAll(e,t,r,n,s,a,0,0,1)}setAffine(e,t,r,n,s,a){this.wasmIns?._setAffine(e,t,r,n,s,a)}reset(){this.wasmIns?._reset()}setTranslate(e,t){this.wasmIns?._setTranslate(e,t)}setScale(e,t,r=0,n=0){this.wasmIns?._setScale(e,t,r,n)}setRotate(e,t=0,r=0){this.wasmIns?._setRotate(e,t,r)}setSinCos(e,t,r=0,n=0){this.wasmIns?._setSinCos(e,t,r,n)}setSkew(e,t,r=0,n=0){this.wasmIns?._setSkew(e,t,r,n)}setConcat(e,t){this.wasmIns?._setConcat(e.wasmIns,t.wasmIns)}preTranslate(e,t){this.wasmIns?._preTranslate(e,t)}preScale(e,t,r=0,n=0){this.wasmIns?._preScale(e,t,r,n)}preRotate(e,t=0,r=0){this.wasmIns?._preRotate(e,t,r)}preSkew(e,t,r=0,n=0){this.wasmIns?._preSkew(e,t,r,n)}preConcat(e){this.wasmIns?._preConcat(e.wasmIns)}postTranslate(e,t){this.wasmIns?._postTranslate(e,t)}postScale(e,t,r=0,n=0){this.wasmIns?._postScale(e,t,r,n)}postRotate(e,t=0,r=0){this.wasmIns?._postRotate(e,t,r)}postSkew(e,t,r=0,n=0){this.wasmIns?._postSkew(e,t,r,n)}postConcat(e){this.wasmIns?._postConcat(e.wasmIns)}destroy(){this.wasmIns.delete()}};v=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?w(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&g(t,r,a),a})([n],v);const y=(e,t,...r)=>e.call(t,...r),b=(e,t)=>new Proxy(e,{get(e,r,n){switch(r){case"get":return r=>{const n=y(e.get,e,r);return n?t(n):n};case"push_back":return t=>{y(e.push_back,e,t.wasmIns||t)};case"size":return()=>y(e.size,e);default:return Reflect.get(e,r,n)}}}),_=e=>{switch(y(e._layerType,e)){case l.Solid:return new r.PAGSolidLayer(e);case l.Text:return new r.PAGTextLayer(e);case l.Image:return new r.PAGImageLayer(e);default:return new r.PAGLayer(e)}},E=e=>e?.wasmIns?e.wasmIns:e,x=(e,t)=>void 0!==t&&e instanceof t;var I=Object.defineProperty,P=Object.getOwnPropertyDescriptor;let T=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}uniqueID(){return this.wasmIns._uniqueID()}layerType(){return this.wasmIns._layerType()}layerName(){return this.wasmIns._layerName()}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}resetMatrix(){this.wasmIns._resetMatrix()}getTotalMatrix(){if(!this.wasmIns._getTotalMatrix())throw new Error("Get total matrix fail!");return new v(this.wasmIns._getTotalMatrix())}alpha(){return this.wasmIns._alpha()}setAlpha(e){this.wasmIns._setAlpha(e)}visible(){return this.wasmIns._visible()}setVisible(e){this.wasmIns._setVisible(e)}editableIndex(){return this.wasmIns._editableIndex()}parent(){const e=this.wasmIns._parent();if(!e)throw new Error("Get total matrix fail!");return new S(e)}markers(){const e=this.wasmIns._markers();if(!e)throw new Error("Get markers fail!");return b(e,e=>e)}localTimeToGlobal(e){return this.wasmIns._localTimeToGlobal(e)}globalToLocalTime(e){return this.wasmIns._globalToLocalTime(e)}duration(){return this.wasmIns._duration()}frameRate(){return this.wasmIns._frameRate()}startTime(){return this.wasmIns._startTime()}setStartTime(e){this.wasmIns._setStartTime(e)}currentTime(){return this.wasmIns._currentTime()}setCurrentTime(e){this.wasmIns._setCurrentTime(e)}getProgress(){return this.wasmIns._getProgress()}setProgress(e){this.wasmIns._setProgress(e)}preFrame(){this.wasmIns._preFrame()}nextFrame(){this.wasmIns._nextFrame()}getBounds(){return this.wasmIns._getBounds()}trackMatteLayer(){const e=this.wasmIns._trackMatteLayer();if(!e)throw new Error("Get track matte layer fail!");return _(e)}excludedFromTimeline(){return this.wasmIns._excludedFromTimeline()}setExcludedFromTimeline(e){this.wasmIns._setExcludedFromTimeline(e)}isPAGFile(){return this.wasmIns._isPAGFile()}asTypeLayer(){return _(this.wasmIns)}isDelete(){return this.wasmIns.isDelete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};T=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?P(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&I(t,r,a),a})([n],T);var C=Object.defineProperty,k=Object.getOwnPropertyDescriptor;let S=class extends T{static make(e,t){const n=r._PAGComposition._Make(e,t);if(!n)throw new Error("Make PAGComposition fail!");return new S(n)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}setContentSize(e,t){this.wasmIns._setContentSize(e,t)}numChildren(){return this.wasmIns._numChildren()}getLayerAt(e){const t=this.wasmIns._getLayerAt(e);if(!t)throw new Error(`Get layer at ${e} fail!`);return _(t)}getLayerIndex(e){return this.wasmIns._getLayerIndex(e.wasmIns)}setLayerIndex(e,t){return this.wasmIns._setLayerIndex(e.wasmIns,t)}addLayer(e){return this.wasmIns._addLayer(e.wasmIns)}addLayerAt(e,t){return this.wasmIns._addLayerAt(e.wasmIns,t)}contains(e){return this.wasmIns._contains(e.wasmIns)}removeLayer(e){const t=this.wasmIns._removeLayer(e.wasmIns);if(!t)throw new Error("Remove layer fail!");return _(t)}removeLayerAt(e){const t=this.wasmIns._removeLayerAt(e);if(!t)throw new Error(`Remove layer at ${e} fail!`);return _(t)}removeAllLayers(){this.wasmIns._removeAllLayers()}swapLayer(e,t){this.wasmIns._swapLayer(e.wasmIns,t.wasmIns)}swapLayerAt(e,t){this.wasmIns._swapLayerAt(e,t)}audioBytes(){return this.wasmIns._audioBytes()}audioMarkers(){const e=this.wasmIns._audioMarkers();if(!e)throw new Error("Get audioMarkers fail!");return b(e,e=>e)}audioStartTime(){return this.wasmIns._audioStartTime()}getLayersByName(e){const t=this.wasmIns._getLayersByName(e);if(!t)throw new Error(`Get layers by ${e} fail!`);const r=f.create();for(const e of t)r.push(_(e));return r}getLayersUnderPoint(e,t){const r=this.wasmIns._getLayersUnderPoint(e,t);if(!r)throw new Error(`Get layers under point ${e},${t} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}};S=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?k(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&C(t,r,a),a})([n],S);const A=e=>new Promise(t=>{const r=new FileReader;r.onload=()=>{t(r.result)},r.onerror=()=>{console.error(r.error.message)},r.readAsArrayBuffer(e)});var F=Object.defineProperty,D=Object.getOwnPropertyDescriptor;let L=class extends S{static async load(e){const t=await(e=>x(e,globalThis.File)?A(e):x(e,globalThis.Blob)?A(new File([e],"")):x(e,globalThis.ArrayBuffer)?Promise.resolve(e):Promise.resolve(null))(e);if(!t)throw new Error("Initialize PAGFile data type error, please put check data type must to be File | Blob | ArrayBuffer!");return L.loadFromBuffer(t)}static loadFromBuffer(e){if(!(e&&e.byteLength>0))throw new Error("Initialize PAGFile data not be empty!");const t=new Uint8Array(e),n=r._PAGFile._Load(t);if(!n)throw new Error("Load PAGFile fail!");return new L(n)}static maxSupportedTagLevel(){return r._PAGFile._MaxSupportedTagLevel()}tagLevel(){return this.wasmIns._tagLevel()}numTexts(){return this.wasmIns._numTexts()}numImages(){return this.wasmIns._numImages()}numVideos(){return this.wasmIns._numVideos()}getTextData(e){return this.wasmIns._getTextData(e)}replaceText(e,t){this.wasmIns._replaceText(e,t)}replaceImage(e,t){this.wasmIns._replaceImage(e,t.wasmIns)}getLayersByEditableIndex(e,t){const r=this.wasmIns._getLayersByEditableIndex(e,t);if(!r)throw new Error(`Get ${(e=>{switch(e){case l.Solid:return"Solid";case l.Text:return"Text";case l.Shape:return"Shape";case l.Image:return"Image";case l.PreCompose:return"PreCompose";default:return"Unknown"}})(t)} layers by ${e} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}getEditableIndices(e){return this.wasmIns._getEditableIndices(e)}timeStretchMode(){return this.wasmIns._timeStretchMode()}setTimeStretchMode(e){this.wasmIns._setTimeStretchMode(e)}setDuration(e){this.wasmIns._setDuration(e)}copyOriginal(){const e=this.wasmIns._copyOriginal();if(!e)throw new Error("Copy original fail!");return new L(e)}};L=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?D(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&F(t,r,a),a})([n],L);var $=Object.defineProperty,M=Object.getOwnPropertyDescriptor;let R=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static fromCanvas(e){const t=r._PAGSurface._FromCanvas(e);if(!t)throw new Error(`Make PAGSurface from canvas ${e} fail!`);return new R(t)}static fromTexture(e,t,n,s){const a=r._PAGSurface._FromTexture(e,t,n,s);if(!a)throw new Error(`Make PAGSurface from texture ${e} fail!`);return new R(a)}static fromRenderTarget(e,t,n,s){const a=r._PAGSurface._FromRenderTarget(e,t,n,s);if(!a)throw new Error(`Make PAGSurface from frameBuffer ${e} fail!`);return new R(a)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}updateSize(){this.wasmIns._updateSize()}clearAll(){return this.wasmIns._clearAll()}freeCache(){this.wasmIns._freeCache()}readPixels(e,t){if(e===d.Unknown)return null;const r=this.wasmIns._width()*(e===d.ALPHA_8?1:4);return this.wasmIns._readPixels(e,t,r)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};R=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?M(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&$(t,r,a),a})([n],R);var B=Object.defineProperty,G=Object.getOwnPropertyDescriptor;let O=class{constructor(e){if(this.videoIDs=[],this.isDestroyed=!1,this.videoReaderMap=new Map,this.wasmIns=r._videoInfoManager._Make(e),!this.wasmIns)throw new Error("create VideoReaderManager fail!");this.videoIDs=this.wasmIns._getVideoIDs(),this.wasmIns._hasTimeRangeOverlap()&&console.error("The current file contains multiple layers referencing the same video with overlapping timelines. This scenario is not supported, and the rendered result may not match expectations. It is recommended to offset the timelines of these layers.")}static HasVideo(e){return r._videoInfoManager._HasVideo(e)}static async make(e){const t=new O(e);return await t.createVideoReader(),t}async createVideoReader(){for(const e of this.videoIDs){const t=this.wasmIns._getMp4DataByID(e);null!==t&&(this.videoReaderMap.set(e,await r.VideoReader.create(t,this.wasmIns._getWidthByID(e),this.wasmIns._getHeightByID(e),this.wasmIns._getFrameRateByID(e),this.wasmIns._getStaticTimeRangesByID(e))),await(this.videoReaderMap.get(e)?.prepare(0,this.wasmIns._getPlaybackRateByID(e))))}}getVideoReaderByID(e){if(void 0!==this.videoReaderMap.get(e))return this.videoReaderMap.get(e);console.error(`get VideoReader fail!,id:${e}`)}async prepareTargetFrame(){for(const e of this.videoIDs){const t=this.wasmIns._getTargetFrameByID(e);t<0||(void 0!==this.videoReaderMap.get(e)?await(this.videoReaderMap.get(e)?.prepare(t,this.wasmIns._getPlaybackRateByID(e))):console.error("videoReader is undefined,id:",e))}}destroy(){this.wasmIns.delete();for(const e of this.videoReaderMap.keys())this.videoReaderMap.get(e)?.onDestroy();this.videoReaderMap.clear(),this.isDestroyed=!0}};O=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?G(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&B(t,r,a),a})([n],O);var N=Object.defineProperty,j=Object.getOwnPropertyDescriptor;let V=class{constructor(e){this.isDestroyed=!1,this.videoReaders=[],this.pagComposition=null,this.videoReaderManager=null,this.wasmIns=e}static create(){const e=new r._PAGPlayer;if(!e)throw new Error("Create PAGPlayer fail!");return new V(e)}setProgress(e){this.wasmIns._setProgress(e)}async flush(){return r.currentPlayer=this,await this.prepareVideoFrame(),r.webAssemblyQueue.exec(async()=>{const e=await this.wasmIns._flush();return r.currentPlayer=null,e},this.wasmIns)}async flushInternal(e){r.currentPlayer=this,await this.prepareVideoFrame();const t=await r.webAssemblyQueue.exec(async()=>{const t=await this.wasmIns._flush();return r.currentPlayer=null,e(t),t},this.wasmIns);for(const e of this.videoReaders){const t=await e.getError();if(null!==t)throw t}return t}duration(){return this.wasmIns._duration()}getProgress(){return this.wasmIns._getProgress()}currentFrame(){return this.wasmIns._currentFrame()}videoEnabled(){return this.wasmIns._videoEnabled()}setVideoEnabled(e){this.wasmIns._setVideoEnabled(e)}cacheEnabled(){return this.wasmIns._cacheEnabled()}setCacheEnabled(e){this.wasmIns._setCacheEnabled(e)}cacheScale(){return this.wasmIns._cacheScale()}setCacheScale(e){this.wasmIns._setCacheScale(e)}maxFrameRate(){return this.wasmIns._maxFrameRate()}setMaxFrameRate(e){this.wasmIns._setMaxFrameRate(e)}scaleMode(){return this.wasmIns._scaleMode()}setScaleMode(e){this.wasmIns._setScaleMode(e)}setSurface(e){this.wasmIns._setSurface(E(e))}getComposition(){const e=this.wasmIns._getComposition();if(!e)throw new Error("Get composition fail!");return e._isPAGFile()?new L(e):new S(e)}setComposition(e){this.destroyVideoReaderManager(),this.pagComposition=e,this.wasmIns._setComposition(E(e))}getSurface(){const e=this.wasmIns._getSurface();if(!e)throw new Error("Get surface fail!");return new R(e)}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}nextFrame(){this.wasmIns._nextFrame()}preFrame(){this.wasmIns._preFrame()}autoClear(){return this.wasmIns._autoClear()}setAutoClear(e){this.wasmIns._setAutoClear(e)}getBounds(e){return this.wasmIns._getBounds(e.wasmIns)}getLayersUnderPoint(e,t){const r=this.wasmIns._getLayersUnderPoint(e,t);if(!r)throw new Error(`Get layers under point, x: ${e} y:${t} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}hitTestPoint(e,t,r,n=!1){return this.wasmIns._hitTestPoint(e.wasmIns,t,r,n)}renderingTime(){return this.wasmIns._renderingTime()}imageDecodingTime(){return this.wasmIns._imageDecodingTime()}presentingTime(){return this.wasmIns._presentingTime()}graphicsMemory(){return this.wasmIns._graphicsMemory()}prepare(){return r.webAssemblyQueue.exec(async()=>{r.currentPlayer=this,await this.wasmIns._prepare(),r.currentPlayer=null},this.wasmIns)}destroy(){this.destroyVideoReaderManager(),this.wasmIns.delete(),this.isDestroyed=!0}linkVideoReader(e){this.videoReaders.push(e)}unlinkVideoReader(e){const t=this.videoReaders.indexOf(e);-1!==t&&this.videoReaders.splice(t,1)}async prepareVideoFrame(){void 0===r._useSoftwareDecoder||r._useSoftwareDecoder||(null!==this.pagComposition?(null===this.videoReaderManager&&O.HasVideo(this.pagComposition?.wasmIns)&&(this.videoReaderManager=await O.make(this.pagComposition?.wasmIns),r.videoReaderManager=this.videoReaderManager),null!==this.videoReaderManager&&await this.videoReaderManager.prepareTargetFrame()):console.error("PAGComposition is null. A valid PAG file is missing."))}destroyVideoReaderManager(){null!==this.videoReaderManager&&(this.videoReaderManager.destroy(),this.videoReaderManager=null,r.videoReaderManage=null)}};V=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?j(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&N(t,r,a),a})([n],V);var W=Object.defineProperty,U=Object.getOwnPropertyDescriptor;let z=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static async fromFile(e){return new Promise((t,r)=>{const n=new Image;n.onload=async()=>{t(z.fromSource(n))},n.onerror=e=>{r(e)},n.src=URL.createObjectURL(e)})}static fromSource(e){const t=r._PAGImage._FromNativeImage(e);if(!t)throw new Error("Make PAGImage from source fail!");return new z(t)}static fromPixels(e,t,n,s,a){const i=t*(s===d.ALPHA_8?1:4),o=r._PAGImage._FromPixels(e,t,n,i,s,a);if(!o)throw new Error("Make PAGImage from pixels fail!");return new z(o)}static fromTexture(e,t,n,s){const a=r._PAGImage._FromTexture(e,t,n,s);if(!a)throw new Error("Make PAGImage from texture fail!");return new z(a)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}scaleMode(){return this.wasmIns._scaleMode()}setScaleMode(e){this.wasmIns._setScaleMode(e)}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};z=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?U(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&W(t,r,a),a})([n],z);class H{constructor(){this.listenerMap=new Map}on(e,t){let r=[];this.listenerMap.has(e)&&(r=this.listenerMap.get(e)),r.push(t),this.listenerMap.set(e,r)}off(e,t){if(!this.listenerMap.has(e))return!1;const r=this.listenerMap.get(e);if(0===r.length)return!1;if(!t)return this.listenerMap.delete(e),!0;const n=r.indexOf(t);return-1!==n&&(r.splice(n,1),!0)}emit(e,t){if(!this.listenerMap.has(e))return!1;const r=this.listenerMap.get(e);return 0!==r.length&&(r.forEach(e=>e(t)),!0)}}const X=2560,q={depth:!1,stencil:!1,antialias:!1};class J{constructor(e,t=!1){this.isDestroyed=!1,this.oldHandle=0,this.handle=e,this.externallyOwned=t}static from(e){if(e instanceof J)return new J(e.handle,!0);{const t=x(e,globalThis.WebGL2RenderingContext)?2:1,{GL:n}=r;let s=0;return n.contexts.length>0&&(s=n.contexts.findIndex(t=>t?.GLctx===e)),s<1?(s=n.registerContext(e,{majorVersion:t,minorVersion:0,...q}),new J(s)):new J(s,!0)}}getContext(){return r.GL.getContext(this.handle).GLctx}makeCurrent(){return!this.isDestroyed&&(this.oldHandle=r.GL.currentContext?.handle||0,this.oldHandle===this.handle||r.GL.makeContextCurrent(this.handle))}clearCurrent(){this.isDestroyed||this.oldHandle!==this.handle&&(r.GL.makeContextCurrent(0),this.oldHandle&&r.GL.makeContextCurrent(this.oldHandle))}registerTexture(e){return this.register(r.GL.textures,e)}getTexture(e){return r.GL.textures[e]}unregisterTexture(e){r.GL.textures[e]=null}registerRenderTarget(e){return this.register(r.GL.framebuffers,e)}getRenderTarget(e){return r.GL.framebuffers[e]}unregisterRenderTarget(e){r.GL.framebuffers[e]=null}destroy(){this.externallyOwned||r.GL.deleteContext(this.handle)}register(e,t){const n=r.GL.getNewId(e);return e[n]=t,n}}const K=[];class Q{constructor(e,t){this._canvas=null,this._glContext=null,this.retainCount=0,this._canvas=e;const r=e.getContext("webgl",{...q,...t});if(!r)throw new Error("Canvas context is not WebGL!");this._glContext=J.from(r)}static from(e,t){let r=K.find(t=>t.canvas===e);return r||(r=new Q(e,t),K.push(r),r)}retain(){this.retainCount+=1}release(){if(this.retainCount-=1,0===this.retainCount){if(!this._glContext)return;this._glContext.destroy(),this._glContext=null,this._canvas=null}}get canvas(){return this._canvas}get glContext(){return this._glContext}}let Y;try{Y=performance.now.bind(performance)}catch(e){Y=Date.now.bind(Date)}class Z{constructor(){this.startTime=Y(),this.markers={}}reset(){this.startTime=Y(),this.markers={}}mark(e){e?Object.keys(this.markers).find(t=>t===e)?console.log(`Clock.mark(): The specified marker name '${e}' already exists!`):this.markers[e]=Y():console.log("Clock.mark(): An empty marker name was specified!")}measure(e,t){let r,n;if(e){if(!Object.keys(this.markers).find(t=>t===e))return console.log(`Clock.measure(): The specified makerFrom '${e}' does not exist!`),0;r=this.markers[e]}else r=this.startTime;if(t){if(!Object.keys(this.markers).find(e=>e===t))return console.log(`Clock.measure(): The specified makerTo '${t}' does not exist!`),0;n=this.markers[t]}else n=Y();return n-r}}const ee=(e,t)=>void 0!==t&&e instanceof t,te=navigator?.userAgent||"",re=/android|adr/i.test(te),ne=/(mobile)/i.test(te)&&re;!/(mobile)/i.test(te)&&!ne&&/Mac OS X/i.test(te);const se=/(iphone|ipad|ipod)/i.test(te);/MicroMessenger/i.test(te);const ae=/^((?!chrome|android).)*safari/i.test(te)||se,ie="function"==typeof globalThis.importScripts,oe=new Array,le=e=>ee(e,globalThis.OffscreenCanvas),ue=(e,t)=>{let r=oe.pop()||he();return null!==r&&(r.width=e,r.height=t),r},ce=e=>{oe.length<10&&oe.push(e)},he=()=>{if(ae&&!ie)return document.createElement("canvas");try{const e=new OffscreenCanvas(0,0);return"function"==typeof e.getContext("2d").measureText?e:document.createElement("canvas")}catch(e){return document.createElement("canvas")}};var de=Object.defineProperty,me=Object.getOwnPropertyDescriptor;let fe=class{constructor(e,t){this.repeatCount=0,this.isPlaying=!1,this.isDestroyed=!1,this.pagViewOptions={useScale:!0,useCanvas2D:!1,firstFrame:!0},this.renderCanvas=null,this.pagGlContext=null,this.frameRate=0,this.pagSurface=null,this.playFrame=-1,this.timer=null,this.flushingNextFrame=!1,this.playTime=0,this.startTime=0,this.repeatedTimes=0,this.eventManager=new H,this.rawWidth=0,this.rawHeight=0,this.debugData={FPS:0,flushTime:0},this.fpsBuffer=[],this.player=e,this.canvasElement=t}static async init(e,t,n={}){let s=null;if("string"==typeof t?s=document.getElementById(t.substr(1)):("undefined"!=typeof window&&x(t,globalThis.HTMLCanvasElement)||le(t))&&(s=t),!s)throw new Error("Canvas is not found!");const a=r.PAGPlayer.create(),i=new fe(a,s);return i.pagViewOptions={...i.pagViewOptions,...n},i.pagViewOptions.useCanvas2D?(r.globalCanvas.retain(),i.pagGlContext=J.from(r.globalCanvas.glContext)):(i.renderCanvas=Q.from(s),i.renderCanvas.retain(),i.pagGlContext=J.from(i.renderCanvas.glContext)),i.resetSize(i.pagViewOptions.useScale),i.frameRate=e.frameRate(),i.pagSurface=this.makePAGSurface(i.pagGlContext,i.rawWidth,i.rawHeight),i.player.setSurface(i.pagSurface),i.player.setComposition(e),i.setProgress(0),i.pagViewOptions.firstFrame&&(await i.flush(),i.playFrame=0),i}static makePAGSurface(e,t,r){if(!e.makeCurrent())throw new Error("Make context current fail!");const n=R.fromRenderTarget(0,t,r,!0);return e.clearCurrent(),n}duration(){return this.player.duration()}addListener(e,t){return this.eventManager.on(e,t)}removeListener(e,t){return this.eventManager.off(e,t)}async play(){if(this.isPlaying)return;this.isPlaying=!0,this.startTime=1e3*this.getNowTime()-this.playTime;for(const e of this.player.videoReaders)e.isPlaying=!0;const e=this.playTime;await this.flushLoop(!0),0===e&&this.eventManager.emit("onAnimationStart",this),this.eventManager.emit("onAnimationPlay",this),0===this.playFrame&&this.eventManager.emit("onAnimationUpdate",this)}pause(){if(this.isPlaying){this.clearTimer();for(const e of this.player.videoReaders)e.pause();this.isPlaying=!1,this.eventManager.emit("onAnimationPause",this)}}async stop(e=!0){this.clearTimer(),this.playTime=0,this.player.setProgress(0),this.playFrame=0,await this.flush();for(const e of this.player.videoReaders)e.stop();this.isPlaying=!1,e&&this.eventManager.emit("onAnimationCancel",this)}setRepeatCount(e){this.repeatCount=e<0?0:e-1}getProgress(){return this.player.getProgress()}currentFrame(){return this.player.currentFrame()}setProgress(e){return this.playTime=e*this.duration(),this.startTime=1e3*this.getNowTime()-this.playTime,this.isPlaying||this.player.setProgress(e),e}videoEnabled(){return this.player.videoEnabled()}setVideoEnabled(e){this.player.setVideoEnabled(e)}cacheEnabled(){return this.player.cacheEnabled()}setCacheEnabled(e){this.player.setCacheEnabled(e)}cacheScale(){return this.player.cacheScale()}setCacheScale(e){this.player.setCacheScale(e)}maxFrameRate(){return this.player.maxFrameRate()}setMaxFrameRate(e){this.player.setMaxFrameRate(e)}scaleMode(){return this.player.scaleMode()}setScaleMode(e){this.player.setScaleMode(e)}async flush(){const e=new Z,t=await this.player.flushInternal(t=>{if(this.pagViewOptions.useCanvas2D&&t&&r.globalCanvas.canvas){this.canvasContext||(this.canvasContext=this.canvasElement?.getContext("2d"));const e=this.canvasContext.globalCompositeOperation;this.canvasContext.globalCompositeOperation="copy",this.canvasContext?.drawImage(r.globalCanvas.canvas,0,r.globalCanvas.canvas.height-this.rawHeight,this.rawWidth,this.rawHeight,0,0,this.canvasContext.canvas.width,this.canvasContext.canvas.height),this.canvasContext.globalCompositeOperation=e}e.mark("flush"),this.setDebugData({flushTime:e.measure("","flush")}),this.updateFPS()});return this.eventManager.emit("onAnimationUpdate",this),t&&this.eventManager.emit("onAnimationFlushed",this),t}freeCache(){this.pagSurface?.freeCache()}getComposition(){return this.player.getComposition()}setComposition(e){this.player.setComposition(e)}matrix(){return this.player.matrix()}setMatrix(e){this.player.setMatrix(e)}getLayersUnderPoint(e,t){return this.player.getLayersUnderPoint(e,t)}updateSize(){if(!this.canvasElement)throw new Error("Canvas element is not found!");if(this.rawWidth=this.canvasElement.width,this.rawHeight=this.canvasElement.height,!this.pagGlContext)return;const e=fe.makePAGSurface(this.pagGlContext,this.rawWidth,this.rawHeight);this.player.setSurface(e),this.pagSurface?.destroy(),this.pagSurface=e}prepare(){return this.player.prepare()}async makeSnapshot(){return await createImageBitmap(this.canvasElement)}destroy(){this.clearTimer(),this.player.destroy(),this.pagSurface?.destroy(),this.pagViewOptions.useCanvas2D?r.globalCanvas.release():this.renderCanvas?.release(),this.pagGlContext?.destroy(),this.pagGlContext=null,this.canvasContext=null,this.canvasElement=null,this.isDestroyed=!0}getDebugData(){return this.debugData}setDebugData(e){this.debugData={...this.debugData,...e}}async flushLoop(e=!1){if(this.isPlaying&&(this.setTimer(),!this.flushingNextFrame))try{this.flushingNextFrame=!0,await this.flushNextFrame(e),this.flushingNextFrame=!1}catch(e){this.flushingNextFrame=!1,"The play() request was interrupted because the document was hidden!"!==e.message&&this.clearTimer(),console.error(e)}}async flushNextFrame(e=!1){const t=this.duration();this.playTime=1e3*this.getNowTime()-this.startTime;const r=Math.floor(this.playTime/1e6*this.frameRate),n=Math.floor(this.playTime/t);if(!e&&this.repeatCount>=0&&n>this.repeatCount)return this.clearTimer(),this.player.setProgress(1),await this.flush(),this.playTime=0,this.isPlaying=!1,this.repeatedTimes=0,this.eventManager.emit("onAnimationEnd",this),!0;if(!e&&this.repeatedTimes===n&&this.playFrame===r)return!1;this.repeatedTimes<n&&this.eventManager.emit("onAnimationRepeat",this),this.player.setProgress(this.playTime%t/t);const s=await this.flush();return this.needResetStartTime()&&(this.startTime=1e3*this.getNowTime()-this.playTime),this.playFrame=r,this.repeatedTimes=n,s}getNowTime(){try{return performance.now()}catch{return Date.now()}}setTimer(){this.timer=globalThis.requestAnimationFrame(()=>{this.flushLoop()})}clearTimer(){this.timer&&(globalThis.cancelAnimationFrame(this.timer),this.timer=null)}resetSize(e=!0){if(!this.canvasElement)throw new Error("Canvas element is not found!");if(!e||le(this.canvasElement))return this.rawWidth=this.canvasElement.width,void(this.rawHeight=this.canvasElement.height);const t=this.canvasElement,r=(e=>{const t=globalThis.getComputedStyle(e,null),r={width:Number(t.width.replace("px","")),height:Number(t.height.replace("px",""))};if(r.width>0&&r.height>0)return r;{const t={width:Number(e.style.width.replace("px","")),height:Number(e.style.height.replace("px",""))};return t.width>0&&t.height>0?t:{width:e.width,height:e.height}}})(t);t.style.width=`${r.width}px`,t.style.height=`${r.height}px`,this.rawWidth=r.width*globalThis.devicePixelRatio,this.rawHeight=r.height*globalThis.devicePixelRatio,t.width=this.rawWidth,t.height=this.rawHeight}needResetStartTime(){for(const e of this.player.videoReaders)if(e.isSought)return!0;return!1}updateFPS(){let e;try{e=performance.now()}catch{e=Date.now()}this.fpsBuffer=this.fpsBuffer.filter(t=>e-t<=1e3),this.fpsBuffer.push(e),this.setDebugData({FPS:this.fpsBuffer.length})}};fe=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?me(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&de(t,r,a),a})([n],fe);const pe=["emoji"].concat(...["Arial",'"Courier New"',"Georgia",'"Times New Roman"','"Trebuchet MS"',"Verdana"]);var ge=Object.defineProperty,we=Object.getOwnPropertyDescriptor;let ve=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e,this.fontFamily=this.wasmIns.fontFamily,this.fontStyle=this.wasmIns.fontStyle}static create(e,t){const n=r._PAGFont._create(e,t);if(!n)throw new Error("Create PAGFont fail!");return new ve(n)}static async registerFont(e,t){const r=await A(t);if(!(r&&r.byteLength>0))throw new Error("Initialize PAGFont data not be empty!");const n=new Uint8Array(r),s=new FontFace(e,n);document.fonts.add(s),await s.load()}static registerFallbackFontNames(e=[]){const t=new r.VectorString,n=e.concat(pe);for(const e of n)t.push_back(e);r._PAGFont._SetFallbackFontNames(t),t.delete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};ve=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?we(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&ge(t,r,a),a})([n],ve);let ye={};const be=(e,t,r,n=!1)=>{t in ye||(ye[t]=[]),ye[t]?.push({node:e,handler:r,capture:n}),e.addEventListener(t,r,n)},_e=(e,t,r)=>{t in ye&&ye[t]?.filter(({node:t,handler:n})=>t===e&&n===r).forEach(({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n))},Ee=(e,t)=>{t in ye&&(ye[t]?.filter(({node:t})=>t===e).forEach(({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n)),ye[t]=ye[t]?.filter(({node:t})=>t!==e))},xe=navigator?.userAgent||"",Ie=/android|adr/i.test(xe),Pe=/(mobile)/i.test(xe)&&Ie;!/(mobile)/i.test(xe)&&!Pe&&/Mac OS X/i.test(xe);const Te=/(iphone|ipad|ipod)/i.test(xe),Ce=/MicroMessenger/i.test(xe),ke=/^((?!chrome|android).)*safari/i.test(xe)||Te;var Se=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor;const Fe=e=>new Promise(t=>{const r=()=>{_e(e,"canplay",r),clearTimeout(n),t(!0)};be(e,"canplay",r);const n=setTimeout(()=>{_e(e,"canplay",r),t(!1)},1e3)});let De=class{constructor(e,t,n,s,a){if(this.isSought=!1,this.isPlaying=!1,this.bitmap=null,this.isDestroyed=!1,this.videoEl=null,this.frameRate=0,this.canplay=!1,this.staticTimeRanges=null,this.disablePlaybackRate=!1,this.error=null,this.player=null,this.width=0,this.height=0,this.bitmapCanvas=null,this.bitmapCtx=null,this.currentFrame=-1,this.targetFrame=-1,x(e,globalThis.HTMLVideoElement))this.videoEl=e,this.canplay=!0;else{this.videoEl=document.createElement("video"),this.videoEl.style.display="none",this.videoEl.muted=!0,this.videoEl.playsInline=!0,this.videoEl.preload="auto",this.videoEl.width=t,this.videoEl.height=n,Fe(this.videoEl).then(()=>{this.canplay=!0});const r=e.slice(),s=new Blob([r],{type:"video/mp4"});this.videoEl.src=URL.createObjectURL(s),Te&&this.videoEl.load()}this.frameRate=s,this.width=t,this.height=n,this.staticTimeRanges=new Le(a),(3840<t||3840<n)&&(this.disablePlaybackRate=!0),this.linkPlayer(r.currentPlayer)}static async create(e,t,r,n,s){return new De(e,t,r,n,s)}async prepare(e,t){if(e===this.currentFrame)return;const r=new Promise(async(r,n)=>{this.setError(null),this.isSought=!1;const{currentTime:s}=this.videoEl,a=e/this.frameRate;if(0===s&&0===a)if(this.canplay||ke){try{await Fe(this.videoEl),await this.play()}catch(t){return this.setError(t),this.currentFrame=e,void n(t)}await new Promise(e=>{requestAnimationFrame(()=>{this.pause(),e()})})}else await Fe(this.videoEl);else if(Math.round(a*this.frameRate)===Math.round(s*this.frameRate));else{if(this.staticTimeRanges?.contains(e))return await this.seek(a,!1),this.currentFrame=e,void r();if(!(Math.abs(s-a)<1/this.frameRate*1)||this.videoEl.paused)return this.isSought=!0,await this.seek(a),this.currentFrame=e,void r()}const i=Math.min(Math.max(t,.125),4);if(this.disablePlaybackRate||this.videoEl.playbackRate===i||(this.videoEl.playbackRate=i),this.isPlaying&&this.videoEl.paused)try{await this.play()}catch(t){return this.setError(t),this.currentFrame=e,void n(t)}this.currentFrame=e,r()});await r}getCurrentFrame(){return this.currentFrame}getVideo(){return this.videoEl}async play(){if(this.videoEl.paused){if(Ce&&window.WeixinJSBridge&&await new Promise(e=>{window.WeixinJSBridge.invoke("getNetworkType",{},()=>{e()},()=>{e()})}),"visible"!==document.visibilityState){const e=()=>{"visible"===document.visibilityState&&(this.videoEl&&this.videoEl.play(),window.removeEventListener("visibilitychange",e))};throw window.addEventListener("visibilitychange",e),new Error("The play() request was interrupted because the document was hidden!")}await(this.videoEl?.play())}}pause(){this.isPlaying=!1,this.videoEl.paused||this.videoEl?.pause()}stop(){this.isPlaying=!1,this.videoEl.paused||this.videoEl?.pause()}getError(){return this.error}onDestroy(){this.player&&(this.player.unlinkVideoReader(this),this.player=null),Ee(this.videoEl,"playing"),Ee(this.videoEl,"timeupdate"),this.videoEl=null,this.bitmapCanvas=null,this.bitmapCtx=null,this.isDestroyed=!0}seek(e,t=!0){return new Promise((r,n)=>{if(!this.videoEl)return void n(new Error("Video element is not initialized."));const s=()=>{_e(this.videoEl,"seeked",s),clearTimeout(i),t?(this.videoEl.ended&&(this.videoEl.currentTime=this.videoEl.currentTime),this.videoEl?.play().catch(e=>{this.setError(e)})):t||this.videoEl.paused||this.videoEl?.pause(),r()},a=()=>{_e(this.videoEl,"canplay",a),this.videoEl.currentTime=e,be(this.videoEl,"seeked",s)},i=setTimeout(()=>{_e(this.videoEl,"canplay",a),_e(this.videoEl,"seeked",s),n(new Error("Seek operation timed out."))},1e3/this.frameRate*12);this.videoEl.readyState<HTMLMediaElement.HAVE_FUTURE_DATA?be(this.videoEl,"canplay",a):(this.videoEl.currentTime=e,be(this.videoEl,"seeked",s))})}setError(e){this.error=e}linkPlayer(e){this.player=e,e&&e.linkVideoReader(this)}};De=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Ae(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&Se(t,r,a),a})([n],De);class Le{constructor(e){this.timeRanges=e}contains(e){if(0===this.timeRanges.length)return!1;for(let t of this.timeRanges)if(t.start<=e&&e<t.end)return!0;return!1}}class $e{constructor(){this._canvas=null,this._glContext=null,this.width=X,this.height=X,this.retainCount=0}retain(){if(0===this.retainCount){try{this._canvas=new OffscreenCanvas(0,0)}catch(e){this._canvas=document.createElement("canvas")}this._canvas.width=this.width,this._canvas.height=this.height;const e=this._canvas.getContext("webgl",q);if(!e)throw new Error("Canvas context is not WebGL!");this._glContext=J.from(e)}this.retainCount+=1}release(){if(this.retainCount-=1,0===this.retainCount){if(!this._glContext)return;this._glContext.destroy(),this._glContext=null,this._canvas=null}}get canvas(){return this._canvas}get glContext(){return this._glContext}setCanvasSize(e=2560,t=2560){this.width=e,this.height=t,this._glContext&&this._canvas&&(this._canvas.width=e,this._canvas.height=t)}}var Me=Object.defineProperty,Re=Object.getOwnPropertyDescriptor;let Be=class extends T{static make(e,t,n=0,s="",a=""){return new Be("string"==typeof t?r._PAGTextLayer._Make(e,t,n,s,a):r._PAGTextLayer._Make(e,t))}fillColor(){return this.wasmIns._fillColor()}setFillColor(e){this.wasmIns._setFillColor(e)}font(){return new ve(this.wasmIns._font())}setFont(e){this.wasmIns._setFont(e.wasmIns)}fontSize(){return this.wasmIns._fontSize()}setFontSize(e){this.wasmIns._setFontSize(e)}strokeColor(){return this.wasmIns._strokeColor()}setStrokeColor(e){this.wasmIns._setStrokeColor(e)}text(){return this.wasmIns._text()}setText(e){this.wasmIns._setText(e)}reset(){this.wasmIns._reset()}};Be=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Re(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&Me(t,r,a),a})([n],Be);var Ge=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor;let Ne=class extends T{static make(e,t,n){const s=r._PAGImageLayer._Make(e,t,n);if(!s)throw new Error("Make PAGImageLayer fail!");return new Ne(s)}contentDuration(){return this.wasmIns._contentDuration()}getVideoRanges(){return this.wasmIns._getVideoRanges()}replaceImage(e){this.wasmIns._replaceImage(e.wasmIns)}setImage(e){this.wasmIns._setImage(e.wasmIns)}layerTimeToContent(e){return this.wasmIns._layerTimeToContent(e)}contentTimeToLayer(e){return this.wasmIns._contentTimeToLayer(e)}imageBytes(){return this.wasmIns._imageBytes()}};Ne=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Oe(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&Ge(t,r,a),a})([n],Ne);var je=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor;let We=class extends T{static make(e,t,n,s,a){const i=r._PAGSolidLayer._Make(e,t,n,s,a);if(!i)throw new Error("Make PAGSolidLayer fail!");return new We(i)}solidColor(){return this.wasmIns._solidColor()}setSolidColor(e){this.wasmIns._setSolidColor(e)}};We=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Ve(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&je(t,r,a),a})([n],We);let Ue;class ze{constructor(e){this.bitmap=e}setBitmap(e){this.bitmap&&this.bitmap.close(),this.bitmap=e}}const He=e=>new Promise(t=>{const r=new Image;r.onload=function(){t(r)},r.onerror=function(){console.error("image create from bytes error."),t(null)},r.src=e});var Xe=Object.freeze({__proto__:null,createImage:He,createImageFromBytes:e=>{const t=new Uint8Array(e),r=new Blob([t],{type:"image/*"});return He(URL.createObjectURL(r))},readImagePixels:(e,t,r,n)=>{if(!t)return null;const s=ue(r,n),a=s.getContext("2d",{willReadFrequently:!0});if(!a)return null;a.drawImage(t,0,0,r,n);const{data:i}=a.getImageData(0,0,r,n);return ce(s),0===i.length?null:new Uint8Array(i)},hasWebpSupport:()=>{try{return 0===document.createElement("canvas").toDataURL("image/webp",.5).indexOf("data:image/webp")}catch(e){return!1}},getSourceSize:e=>ee(e,globalThis.HTMLVideoElement)?{width:e.videoWidth,height:e.videoHeight}:{width:e.width,height:e.height},uploadToTexture:(e,t,r,n)=>{let s=t instanceof ze?t.bitmap:t;if(!s)return;const a=e.currentContext?.GLctx;a.bindTexture(a.TEXTURE_2D,e.textures[r]),n?(a.pixelStorei(a.UNPACK_ALIGNMENT,1),a.texSubImage2D(a.TEXTURE_2D,0,0,0,a.ALPHA,a.UNSIGNED_BYTE,s)):(a.pixelStorei(a.UNPACK_ALIGNMENT,4),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),a.texSubImage2D(a.TEXTURE_2D,0,0,0,a.RGBA,a.UNSIGNED_BYTE,s),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1))},isAndroidMiniprogram:()=>{if("undefined"!=typeof wx&&wx.getSystemInfoSync)return"android"===wx.getSystemInfoSync().platform},releaseNativeImage:e=>{var t;ee(e,globalThis.ImageBitmap)?e.close():(le(t=e)||ee(t,globalThis.HTMLCanvasElement))&&ce(e)},getBytesFromPath:async(e,t)=>{const r=await fetch(t).then(e=>e.arrayBuffer());return new Uint8Array(r)},createCanvas2D:ue});var qe=(e=>(e[e.a=0]="a",e[e.c=1]="c",e[e.tx=2]="tx",e[e.b=3]="b",e[e.d=4]="d",e[e.ty=5]="ty",e))(qe||{}),Je=Object.defineProperty,Ke=Object.getOwnPropertyDescriptor;let Qe=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}get a(){return this.wasmIns?this.wasmIns._get(qe.a):0}set a(e){this.wasmIns?._set(qe.a,e)}get b(){return this.wasmIns?this.wasmIns._get(qe.b):0}set b(e){this.wasmIns?._set(qe.b,e)}get c(){return this.wasmIns?this.wasmIns._get(qe.c):0}set c(e){this.wasmIns?._set(qe.c,e)}get d(){return this.wasmIns?this.wasmIns._get(qe.d):0}set d(e){this.wasmIns?._set(qe.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(qe.tx):0}set tx(e){this.wasmIns?._set(qe.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(qe.ty):0}set ty(e){this.wasmIns?._set(qe.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}destroy(){this.wasmIns.delete()}};Qe=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Ke(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&Je(t,r,a),a})([function(e){let t=Object.getOwnPropertyNames(e.prototype).filter(t=>"constructor"!==t&&"function"==typeof e.prototype[t]);const r=(t,r)=>{const n=t[r];t[r]=function(...t){if(!this.isDestroyed)return n.call(this,...t);console.error(`Don't call ${r} of the ${e.name} that is destroyed.`)}};t.forEach(t=>r(e.prototype,t))}],Qe);const Ye=e=>{const t=new Int32Array(e.data.buffer);let r=Ze(t,e.width,e.height),n=et(t,e.width,e.height),s=tt(t,e.width,e.height),a=rt(t,e.width,e.height);return(r>s||n>a)&&(r=0,n=0,s=0,a=0),{left:r,top:n,right:s,bottom:a}},Ze=(e,t,r)=>{const n=e.length/t,s=e.length/r;for(let r=0;r<s;r++)for(let s=0;s<n;s++)if(0!==e[r+s*t])return r;return s},et=(e,t,r)=>{const n=e.length/t,s=e.length/r;for(let r=0;r<n;r++)for(let n=0;n<s;n++)if(0!==e[r*t+n])return r;return n},tt=(e,t,r)=>{const n=e.length/t;for(let s=e.length/r-1;s>0;s--)for(let r=n-1;r>0;r--)if(0!==e[s+t*r])return s;return 0},rt=(e,t,r)=>{const n=e.length/t,s=e.length/r;for(let r=n-1;r>0;r--)for(let n=s-1;n>0;n--)if(0!==e[r*t+n])return r;return 0},nt=class{constructor(e,t,r){this.fontBoundingBoxMap=[],this.fontName=e,this.fontStyle=t,this.size=r,this.loadCanvas()}static getLineCap(e){switch(e){case Ue.TGFXLineCap.Round:return"round";case Ue.TGFXLineCap.Square:return"square";default:return"butt"}}static getLineJoin(e){switch(e){case Ue.TGFXLineJoin.Round:return"round";case Ue.TGFXLineJoin.Bevel:return"bevel";default:return"miter"}}static setCanvas(e){nt.canvas=e}static setContext(e){nt.context=e}static isUnicodePropertyEscapeSupported(){try{new RegExp("\\p{L}","u");return!0}catch(e){return!1}}static isEmoji(e){let t;return t=this.isUnicodePropertyEscapeSupported()?/\p{Extended_Pictographic}|[#*0-9]\uFE0F?\u20E3|[\uD83C\uDDE6-\uD83C\uDDFF]/u:/(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,t.test(e)}static measureDirectly(e){if(void 0===nt.hasMeasureBoundsAPI){const t=e.measureText("x");nt.hasMeasureBoundsAPI=t&&t.actualBoundingBoxAscent>0}return nt.hasMeasureBoundsAPI}fontString(e,t){const r=[];t&&r.push("italic"),e&&r.push("bold"),r.push(`${this.size}px`);const n=pe.concat();return n.unshift(...((e,t="")=>{if(!e)return[];const r=e.split(" ");let n=[];1===r.length?n.push(e):(n.push(r.join("")),n.push(r.join(" ")));const s=n.reduce((e,r)=>(t?(e.push(`"${r} ${t}"`),e.push(`"${r}-${t}"`)):e.push(`"${r}"`),e),[]);return""!==t&&s.push(`"${e}"`),s})(this.fontName,this.fontStyle)),r.push(`${n.join(",")}`),r.join(" ")}getFontMetrics(){if(this.fontMetrics)return this.fontMetrics;const{context:e}=nt;e.font=this.fontString(!1,!1);const t=this.measureText(e,"H"),r=t.actualBoundingBoxAscent,n=this.measureText(e,"x").actualBoundingBoxAscent;return this.fontMetrics={ascent:-t.fontBoundingBoxAscent,descent:t.fontBoundingBoxDescent,xHeight:n,capHeight:r},this.fontMetrics}getBounds(e,t,r){const{context:n}=nt;n.font=this.fontString(t,r);const s=this.measureText(n,e),a={left:Math.floor(-s.actualBoundingBoxLeft),top:Math.floor(-s.actualBoundingBoxAscent),right:Math.ceil(s.actualBoundingBoxRight),bottom:Math.ceil(s.actualBoundingBoxDescent)};return(a.left>=a.right||a.top>=a.bottom)&&(a.left=0,a.top=0,a.right=0,a.bottom=0),a}getAdvance(e){const{context:t}=nt;return t.font=this.fontString(!1,!1),t.measureText(e).width}readPixels(e,t,r,n){const s=t.right-t.left,a=t.bottom-t.top,i=ue(s,a),o=i.getContext("2d",{willReadFrequently:!0});o.clearRect(0,0,s,a),o.font=this.fontString(r,!1),n?(o.lineJoin=nt.getLineJoin(n.join),o.miterLimit=n.miterLimit,o.lineCap=nt.getLineCap(n.cap),o.lineWidth=n.width,o.strokeText(e,-t.left,-t.top)):o.fillText(e,-t.left,-t.top);const{data:l}=o.getImageData(0,0,s,a);return ce(i),0===l.length?null:new Uint8Array(l)}loadCanvas(){nt.canvas||(nt.setCanvas(ue(10,10)),nt.setContext(nt.canvas.getContext("2d",{willReadFrequently:!0})))}measureText(e,t){if(nt.measureDirectly(e))return e.measureText(t);e.canvas.width=1.5*this.size,e.canvas.height=1.5*this.size;const r=[0,this.size];e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,r[0],r[1]);const n=e.getImageData(0,0,e.canvas.width,e.canvas.height),{left:s,top:a,right:i,bottom:o}=Ye(n);let l;e.clearRect(0,0,e.canvas.width,e.canvas.height);const u=this.fontBoundingBoxMap.find(e=>e.key===this.fontName);if(u)l=u.value;else{e.fillText("测",r[0],r[1]);const t=e.getImageData(0,0,e.canvas.width,e.canvas.height);l=Ye(t),this.fontBoundingBoxMap.push({key:this.fontName,value:l}),e.clearRect(0,0,e.canvas.width,e.canvas.height)}return{actualBoundingBoxAscent:r[1]-a,actualBoundingBoxRight:i-r[0],actualBoundingBoxDescent:o-r[1],actualBoundingBoxLeft:r[0]-s,fontBoundingBoxAscent:l.bottom-l.top,fontBoundingBoxDescent:0,width:l.right-l.left}}};let st=nt;st.hasMeasureBoundsAPI=void 0;class at{static readPixels(e,t,r,n){let s=ue(e,t);if(null==s)return null;let a=s.getContext("2d",{willReadFrequently:!0});a.setTransform(1,0,0,1,0,0),n===Ue.TGFXPathFillType.InverseWinding||n===Ue.TGFXPathFillType.InverseEvenOdd?(a.clip(r,n===Ue.TGFXPathFillType.InverseEvenOdd?"evenodd":"nonzero"),a.fillRect(0,0,e,t)):a.fill(r,n===Ue.TGFXPathFillType.EvenOdd?"evenodd":"nonzero");const{data:i}=a.getImageData(0,0,e,t);return ce(s),0===i.length?null:new Uint8Array(i)}}const it=e=>{(e=>{Ue=e})(e),e.module=e,e.ScalerContext=st,e.WebMask=at,e.Matrix=Qe,e.tgfx={...Xe}},ot=e=>{it(e),(e=>{r=e})(e),e.module=e,e.PAGFile=L,e.PAGPlayer=V,e.PAGView=fe,e.PAGFont=ve,e.PAGImage=z,e.PAGLayer=T,e.PAGComposition=S,e.PAGSurface=R,e.PAGTextLayer=Be,e.PAGImageLayer=Ne,e.PAGSolidLayer=We,e.VideoReader=De,e.GlobalCanvas=$e,e.BackendContext=J,e.Matrix=v,e.RenderCanvas=Q,e._useSoftwareDecoder=!1,(e=>{e.traceImage=function(e,t){const r=document.createElement("canvas");r.width=e.width,r.height=e.height;const n=r.getContext("2d"),s=new ImageData(new Uint8ClampedArray(t),r.width,r.height);n.putImageData(s,0,0),document.body.appendChild(r)},e.registerSoftwareDecoderFactory=function(t=null){e._registerSoftwareDecoderFactory(t),e._useSoftwareDecoder=!0},e.SDKVersion=function(){return e._SDKVersion()},e.isIPhone=()=>Te})(e)};var lt=Object.defineProperty,ut=(e,t,r)=>(((e,t,r)=>{t in e?lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r);async function ct(e={}){var t=e,r="object"==typeof window,n="undefined"!=typeof WorkerGlobalScope;"object"==typeof process&&process.versions?.node&&process.type;var s,a,i=import.meta.url,o="";if(r||n){try{o=new URL(".",i).href}catch{}n&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),s=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}var l,u,c,h,d,m,f,p,g,w,v,y,b,_,E,x=console.log.bind(console),I=console.error.bind(console),P=!1,T=!1;function C(){var e=h.buffer;d=new Int8Array(e),f=new Int16Array(e),t.HEAPU8=m=new Uint8Array(e),p=new Uint16Array(e),g=new Int32Array(e),w=new Uint32Array(e),v=new Float32Array(e),y=new Float64Array(e),b=new BigInt64Array(e),_=new BigUint64Array(e)}function k(e){t.onAbort?.(e),I(e="Aborted("+e+")"),P=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw c?.(r),r}function S(){return t.locateFile?(e="libpag.wasm",t.locateFile?t.locateFile(e,o):o+e):new URL("libpag.wasm",import.meta.url).href;var e}async function A(e){if(!l)try{var t=await s(e);return new Uint8Array(t)}catch{}return function(e){if(e==E&&l)return new Uint8Array(l);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}(e)}async function F(e,t,r){if(!e)try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){I(`wasm streaming compile failed: ${e}`),I("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await A(e);return await WebAssembly.instantiate(r,t)}catch(e){I(`failed to asynchronously prepare wasm: ${e}`),k(e)}}(t,r)}var D=e=>{for(;e.length>0;)e.shift()(t)},L=[],$=e=>L.push(e),M=[],R=e=>M.push(e);class B{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){w[this.ptr+4>>2]=e}get_type(){return w[this.ptr+4>>2]}set_destructor(e){w[this.ptr+8>>2]=e}get_destructor(){return w[this.ptr+8>>2]}set_caught(e){e=e?1:0,d[this.ptr+12]=e}get_caught(){return 0!=d[this.ptr+12]}set_rethrown(e){e=e?1:0,d[this.ptr+13]=e}get_rethrown(){return 0!=d[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){w[this.ptr+16>>2]=e}get_adjusted_ptr(){return w[this.ptr+16>>2]}}var G=()=>{var e=g[+ie.varargs>>2];return ie.varargs+=4,e},O=G,N={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var s=e[n];"."===s?e.splice(n,1):".."===s?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=N.isAbs(e),r="/"===e.slice(-1);return(e=N.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=N.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.slice(0,-1)),r+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>N.normalize(e.join("/")),join2:(e,t)=>N.normalize(e+"/"+t)},j=e=>{(j=e=>crypto.getRandomValues(e))(e)},V={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var s=n>=0?e[n]:se.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");if(!s)return"";t=s+"/"+t,r=N.isAbs(s)}return(r?"/":"")+(t=N.normalizeArray(t.split("/").filter(e=>!!e),!r).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=V.resolve(e).slice(1),t=V.resolve(t).slice(1);for(var n=r(e.split("/")),s=r(t.split("/")),a=Math.min(n.length,s.length),i=a,o=0;o<a;o++)if(n[o]!==s[o]){i=o;break}var l=[];for(o=i;o<n.length;o++)l.push("..");return(l=l.concat(s.slice(i))).join("/")}},W=new TextDecoder,U=(e,t,r,n)=>{var s=t+r;if(n)return s;for(;e[t]&&!(t>=s);)++t;return t},z=(e,t=0,r,n)=>{var s=U(e,t,r,n);return W.decode(e.buffer?e.subarray(t,s):new Uint8Array(e.slice(t,s)))},H=[],X=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t},q=(e,t,r,n)=>{if(!(n>0))return 0;for(var s=r,a=r+n-1,i=0;i<e.length;++i){var o=e.codePointAt(i);if(o<=127){if(r>=a)break;t[r++]=o}else if(o<=2047){if(r+1>=a)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=a)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=a)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o,i++}}return t[r]=0,r-s},J=(e,t,r)=>{var n=r>0?r:X(e)+1,s=new Array(n),a=q(e,s,0,s.length);return t&&(s.length=a),s},K={ttys:[],init(){},shutdown(){},register(e,t){K.ttys[e]={input:[],output:[],ops:t},se.registerDevice(e,K.stream_ops)},stream_ops:{open(e){var t=K.ttys[e.node.rdev];if(!t)throw new se.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,s){if(!e.tty||!e.tty.ops.get_char)throw new se.ErrnoError(60);for(var a=0,i=0;i<n;i++){var o;try{o=e.tty.ops.get_char(e.tty)}catch(e){throw new se.ErrnoError(29)}if(void 0===o&&0===a)throw new se.ErrnoError(6);if(null==o)break;a++,t[r+i]=o}return a&&(e.node.atime=Date.now()),a},write(e,t,r,n,s){if(!e.tty||!e.tty.ops.put_char)throw new se.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,t[r+a])}catch(e){throw new se.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!H.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;H=J(e,!0)}return H.shift()})(),put_char(e,t){null===t||10===t?(x(z(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(x(z(e.output)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[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]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(I(z(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(I(z(e.output)),e.output=[])}}},Q=e=>{k()},Y={ops_table:null,mount:e=>Y.createNode(null,"/",16895,0),createNode(e,t,r,n){if(se.isBlkdev(r)||se.isFIFO(r))throw new se.ErrnoError(63);Y.ops_table||(Y.ops_table={dir:{node:{getattr:Y.node_ops.getattr,setattr:Y.node_ops.setattr,lookup:Y.node_ops.lookup,mknod:Y.node_ops.mknod,rename:Y.node_ops.rename,unlink:Y.node_ops.unlink,rmdir:Y.node_ops.rmdir,readdir:Y.node_ops.readdir,symlink:Y.node_ops.symlink},stream:{llseek:Y.stream_ops.llseek}},file:{node:{getattr:Y.node_ops.getattr,setattr:Y.node_ops.setattr},stream:{llseek:Y.stream_ops.llseek,read:Y.stream_ops.read,write:Y.stream_ops.write,mmap:Y.stream_ops.mmap,msync:Y.stream_ops.msync}},link:{node:{getattr:Y.node_ops.getattr,setattr:Y.node_ops.setattr,readlink:Y.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Y.node_ops.getattr,setattr:Y.node_ops.setattr},stream:se.chrdev_stream_ops}});var s=se.createNode(e,t,r,n);return se.isDir(s.mode)?(s.node_ops=Y.ops_table.dir.node,s.stream_ops=Y.ops_table.dir.stream,s.contents={}):se.isFile(s.mode)?(s.node_ops=Y.ops_table.file.node,s.stream_ops=Y.ops_table.file.stream,s.usedBytes=0,s.contents=null):se.isLink(s.mode)?(s.node_ops=Y.ops_table.link.node,s.stream_ops=Y.ops_table.link.stream):se.isChrdev(s.mode)&&(s.node_ops=Y.ops_table.chrdev.node,s.stream_ops=Y.ops_table.chrdev.stream),s.atime=s.mtime=s.ctime=Date.now(),e&&(e.contents[t]=s,e.atime=e.mtime=e.ctime=s.atime),s},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=se.isChrdev(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,se.isDir(e.mode)?t.size=4096:se.isFile(e.mode)?t.size=e.usedBytes:se.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(const r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&Y.resizeFileStorage(e,t.size)},lookup(e,t){throw Y.doesNotExistError||(Y.doesNotExistError=new se.ErrnoError(44),Y.doesNotExistError.stack="<generic error, no stack>"),Y.doesNotExistError},mknod:(e,t,r,n)=>Y.createNode(e,t,r,n),rename(e,t,r){var n;try{n=se.lookupNode(t,r)}catch(e){}if(n){if(se.isDir(e.mode))for(var s in n.contents)throw new se.ErrnoError(55);se.hashRemoveNode(n)}delete e.parent.contents[e.name],t.contents[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=se.lookupNode(e,t);for(var n in r.contents)throw new se.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var n=Y.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!se.isLink(e.mode))throw new se.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,s){var a=e.node.contents;if(s>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-s,n);if(i>8&&a.subarray)t.set(a.subarray(s,s+i),r);else for(var o=0;o<i;o++)t[r+o]=a[s+o];return i},write(e,t,r,n,s,a){if(t.buffer===d.buffer&&(a=!1),!n)return 0;var i=e.node;if(i.mtime=i.ctime=Date.now(),t.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=t.subarray(r,r+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===s)return i.contents=t.slice(r,r+n),i.usedBytes=n,n;if(s+n<=i.usedBytes)return i.contents.set(t.subarray(r,r+n),s),n}if(Y.expandFileStorage(i,s+n),i.contents.subarray&&t.subarray)i.contents.set(t.subarray(r,r+n),s);else for(var o=0;o<n;o++)i.contents[s+o]=t[r+o];return i.usedBytes=Math.max(i.usedBytes,s+n),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&se.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new se.ErrnoError(28);return n},mmap(e,t,r,n,s){if(!se.isFile(e.node.mode))throw new se.ErrnoError(43);var a,i,o=e.node.contents;if(2&s||!o||o.buffer!==d.buffer){if(i=!0,!(a=Q()))throw new se.ErrnoError(48);o&&((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),d.set(o,a))}else i=!1,a=o.byteOffset;return{ptr:a,allocated:i}},msync:(e,t,r,n,s)=>(Y.stream_ops.write(e,t,0,n,r,!1),0)}},Z=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ee=0,te=null,re=[],ne=async(e,r,n,a,i,o,l,u)=>{var c=r?V.resolve(N.join2(e,r)):e;ee++,t.monitorRunDependencies?.(ee);try{var h=n;"string"==typeof n&&(h=await(async e=>{var t=await s(e);return new Uint8Array(t)})(n)),h=await(async(e,t)=>{for(var r of("undefined"!=typeof Browser&&Browser.init(),re))if(r.canHandle(t))return r.handle(e,t);return e})(h,c),u?.(),o||((...e)=>{se.createDataFile(...e)})(e,r,h,a,i,l)}finally{(()=>{if(ee--,t.monitorRunDependencies?.(ee),0==ee&&te){var e=te;te=null,e()}})()}},se={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{constructor(e){ut(this,"name","ErrnoError"),this.errno=e}},FSStream:class{constructor(){ut(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,t,r,n){ut(this,"node_ops",{}),ut(this,"stream_ops",{}),ut(this,"readMode",365),ut(this,"writeMode",146),ut(this,"mounted",null),e||(e=this),this.parent=e,this.mount=e.mount,this.id=se.nextInode++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return se.isDir(this.mode)}get isDevice(){return se.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new se.ErrnoError(44);t.follow_mount??(t.follow_mount=!0),N.isAbs(e)||(e=se.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var n=e.split("/").filter(e=>!!e),s=se.root,a="/",i=0;i<n.length;i++){var o=i===n.length-1;if(o&&t.parent)break;if("."!==n[i])if(".."!==n[i]){a=N.join2(a,n[i]);try{s=se.lookupNode(s,n[i])}catch(e){if(44===e?.errno&&o&&t.noent_okay)return{path:a};throw e}if(!se.isMountpoint(s)||o&&!t.follow_mount||(s=s.mounted.root),se.isLink(s.mode)&&(!o||t.follow)){if(!s.node_ops.readlink)throw new se.ErrnoError(52);var l=s.node_ops.readlink(s);N.isAbs(l)||(l=N.dirname(a)+"/"+l),e=l+"/"+n.slice(i+1).join("/");continue e}}else{if(a=N.dirname(a),se.isRoot(s)){e=a+"/"+n.slice(i+1).join("/"),r--;continue e}s=s.parent}}return{path:a,node:s}}throw new se.ErrnoError(32)},getPath(e){for(var t;;){if(se.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%se.nameTable.length},hashAddNode(e){var t=se.hashName(e.parent.id,e.name);e.name_next=se.nameTable[t],se.nameTable[t]=e},hashRemoveNode(e){var t=se.hashName(e.parent.id,e.name);if(se.nameTable[t]===e)se.nameTable[t]=e.name_next;else for(var r=se.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=se.mayLookup(e);if(r)throw new se.ErrnoError(r);for(var n=se.hashName(e.id,t),s=se.nameTable[n];s;s=s.name_next){var a=s.name;if(s.parent.id===e.id&&a===t)return s}return se.lookup(e,t)},createNode(e,t,r,n){var s=new se.FSNode(e,t,r,n);return se.hashAddNode(s),s},destroyNode(e){se.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>se.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!se.isDir(e.mode))return 54;var t=se.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!se.isDir(e.mode))return 54;try{se.lookupNode(e,t);return 20}catch(e){}return se.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=se.lookupNode(e,t)}catch(e){return e.errno}var s=se.nodePermissions(e,"wx");if(s)return s;if(r){if(!se.isDir(n.mode))return 54;if(se.isRoot(n)||se.getPath(n)===se.cwd())return 10}else if(se.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?se.isLink(e.mode)?32:se.isDir(e.mode)&&("r"!==se.flagsToPermissionString(t)||576&t)?31:se.nodePermissions(e,se.flagsToPermissionString(t)):44,checkOpExists(e,t){if(!e)throw new se.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=se.MAX_OPEN_FDS;e++)if(!se.streams[e])return e;throw new se.ErrnoError(33)},getStreamChecked(e){var t=se.getStream(e);if(!t)throw new se.ErrnoError(8);return t},getStream:e=>se.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new se.FSStream,e),-1==t&&(t=se.nextfd()),e.fd=t,se.streams[t]=e,e),closeStream(e){se.streams[e]=null},dupStream(e,t=-1){var r=se.createStream(e,t);return r.stream_ops?.dup?.(r),r},doSetAttr(e,t,r){var n=e?.stream_ops.setattr,s=n?e:t;n??(n=t.node_ops.setattr),se.checkOpExists(n,63),n(s,r)},chrdev_stream_ops:{open(e){var t=se.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new se.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){se.devices[e]={stream_ops:t}},getDevice:e=>se.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push(...n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),se.syncFSRequests++,se.syncFSRequests>1&&I(`warning: ${se.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=se.getMounts(se.root.mount),n=0;function s(e){return se.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,s(e));++n>=r.length&&s(null)}r.forEach(t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)})},mount(e,t,r){var n,s="/"===r,a=!r;if(s&&se.root)throw new se.ErrnoError(10);if(!s&&!a){var i=se.lookupPath(r,{follow_mount:!1});if(r=i.path,n=i.node,se.isMountpoint(n))throw new se.ErrnoError(10);if(!se.isDir(n.mode))throw new se.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,s?se.root=l:n&&(n.mounted=o,n.mount&&n.mount.mounts.push(o)),l},unmount(e){var t=se.lookupPath(e,{follow_mount:!1});if(!se.isMountpoint(t.node))throw new se.ErrnoError(28);var r=t.node,n=r.mounted,s=se.getMounts(n);Object.keys(se.nameTable).forEach(e=>{for(var t=se.nameTable[e];t;){var r=t.name_next;s.includes(t.mount)&&se.destroyNode(t),t=r}}),r.mounted=null;var a=r.mount.mounts.indexOf(n);r.mount.mounts.splice(a,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=se.lookupPath(e,{parent:!0}).node,s=N.basename(e);if(!s)throw new se.ErrnoError(28);if("."===s||".."===s)throw new se.ErrnoError(20);var a=se.mayCreate(n,s);if(a)throw new se.ErrnoError(a);if(!n.node_ops.mknod)throw new se.ErrnoError(63);return n.node_ops.mknod(n,s,t,r)},statfs:e=>se.statfsNode(se.lookupPath(e,{follow:!0}).node),statfsStream:e=>se.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:se.nextInode,ffree:se.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create:(e,t=438)=>(t&=4095,t|=32768,se.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,se.mknod(e,t,0)),mkdirTree(e,t){var r=e.split("/"),n="";for(var s of r)if(s){(n||N.isAbs(e))&&(n+="/"),n+=s;try{se.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,se.mknod(e,t,r)),symlink(e,t){if(!V.resolve(e))throw new se.ErrnoError(44);var r=se.lookupPath(t,{parent:!0}).node;if(!r)throw new se.ErrnoError(44);var n=N.basename(t),s=se.mayCreate(r,n);if(s)throw new se.ErrnoError(s);if(!r.node_ops.symlink)throw new se.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,s=N.dirname(e),a=N.dirname(t),i=N.basename(e),o=N.basename(t);if(r=se.lookupPath(e,{parent:!0}).node,n=se.lookupPath(t,{parent:!0}).node,!r||!n)throw new se.ErrnoError(44);if(r.mount!==n.mount)throw new se.ErrnoError(75);var l,u=se.lookupNode(r,i),c=V.relative(e,a);if("."!==c.charAt(0))throw new se.ErrnoError(28);if("."!==(c=V.relative(t,s)).charAt(0))throw new se.ErrnoError(55);try{l=se.lookupNode(n,o)}catch(e){}if(u!==l){var h=se.isDir(u.mode),d=se.mayDelete(r,i,h);if(d)throw new se.ErrnoError(d);if(d=l?se.mayDelete(n,o,h):se.mayCreate(n,o))throw new se.ErrnoError(d);if(!r.node_ops.rename)throw new se.ErrnoError(63);if(se.isMountpoint(u)||l&&se.isMountpoint(l))throw new se.ErrnoError(10);if(n!==r&&(d=se.nodePermissions(r,"w")))throw new se.ErrnoError(d);se.hashRemoveNode(u);try{r.node_ops.rename(u,n,o),u.parent=n}catch(e){throw e}finally{se.hashAddNode(u)}}},rmdir(e){var t=se.lookupPath(e,{parent:!0}).node,r=N.basename(e),n=se.lookupNode(t,r),s=se.mayDelete(t,r,!0);if(s)throw new se.ErrnoError(s);if(!t.node_ops.rmdir)throw new se.ErrnoError(63);if(se.isMountpoint(n))throw new se.ErrnoError(10);t.node_ops.rmdir(t,r),se.destroyNode(n)},readdir(e){var t=se.lookupPath(e,{follow:!0}).node;return se.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=se.lookupPath(e,{parent:!0}).node;if(!t)throw new se.ErrnoError(44);var r=N.basename(e),n=se.lookupNode(t,r),s=se.mayDelete(t,r,!1);if(s)throw new se.ErrnoError(s);if(!t.node_ops.unlink)throw new se.ErrnoError(63);if(se.isMountpoint(n))throw new se.ErrnoError(10);t.node_ops.unlink(t,r),se.destroyNode(n)},readlink(e){var t=se.lookupPath(e).node;if(!t)throw new se.ErrnoError(44);if(!t.node_ops.readlink)throw new se.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=se.lookupPath(e,{follow:!t}).node;return se.checkOpExists(r.node_ops.getattr,63)(r)},fstat(e){var t=se.getStreamChecked(e),r=t.node,n=t.stream_ops.getattr,s=n?t:r;return n??(n=r.node_ops.getattr),se.checkOpExists(n,63),n(s)},lstat:e=>se.stat(e,!0),doChmod(e,t,r,n){se.doSetAttr(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),dontFollow:n})},chmod(e,t,r){var n;"string"==typeof e?n=se.lookupPath(e,{follow:!r}).node:n=e;se.doChmod(null,n,t,r)},lchmod(e,t){se.chmod(e,t,!0)},fchmod(e,t){var r=se.getStreamChecked(e);se.doChmod(r,r.node,t,!1)},doChown(e,t,r){se.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:r})},chown(e,t,r,n){var s;"string"==typeof e?s=se.lookupPath(e,{follow:!n}).node:s=e;se.doChown(null,s,n)},lchown(e,t,r){se.chown(e,t,r,!0)},fchown(e,t,r){var n=se.getStreamChecked(e);se.doChown(n,n.node,!1)},doTruncate(e,t,r){if(se.isDir(t.mode))throw new se.ErrnoError(31);if(!se.isFile(t.mode))throw new se.ErrnoError(28);var n=se.nodePermissions(t,"w");if(n)throw new se.ErrnoError(n);se.doSetAttr(e,t,{size:r,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new se.ErrnoError(28);var r;"string"==typeof e?r=se.lookupPath(e,{follow:!0}).node:r=e;se.doTruncate(null,r,t)},ftruncate(e,t){var r=se.getStreamChecked(e);if(t<0||!(2097155&r.flags))throw new se.ErrnoError(28);se.doTruncate(r,r.node,t)},utime(e,t,r){var n=se.lookupPath(e,{follow:!0}).node;se.checkOpExists(n.node_ops.setattr,63)(n,{atime:t,mtime:r})},open(e,r,n=438){if(""===e)throw new se.ErrnoError(44);var s,a;if(n=64&(r="string"==typeof r?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t})(r):r)?4095&n|32768:0,"object"==typeof e)s=e;else{a=e.endsWith("/");var i=se.lookupPath(e,{follow:!(131072&r),noent_okay:!0});s=i.node,e=i.path}var o=!1;if(64&r)if(s){if(128&r)throw new se.ErrnoError(20)}else{if(a)throw new se.ErrnoError(31);s=se.mknod(e,511|n,0),o=!0}if(!s)throw new se.ErrnoError(44);if(se.isChrdev(s.mode)&&(r&=-513),65536&r&&!se.isDir(s.mode))throw new se.ErrnoError(54);if(!o){var l=se.mayOpen(s,r);if(l)throw new se.ErrnoError(l)}512&r&&!o&&se.truncate(s,0),r&=-131713;var u=se.createStream({node:s,path:se.getPath(s),flags:r,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return u.stream_ops.open&&u.stream_ops.open(u),o&&se.chmod(s,511&n),!t.logReadFiles||1&r||e in se.readFiles||(se.readFiles[e]=1),u},close(e){if(se.isClosed(e))throw new se.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{se.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(se.isClosed(e))throw new se.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new se.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new se.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,s){if(n<0||s<0)throw new se.ErrnoError(28);if(se.isClosed(e))throw new se.ErrnoError(8);if(1==(2097155&e.flags))throw new se.ErrnoError(8);if(se.isDir(e.node.mode))throw new se.ErrnoError(31);if(!e.stream_ops.read)throw new se.ErrnoError(28);var a=void 0!==s;if(a){if(!e.seekable)throw new se.ErrnoError(70)}else s=e.position;var i=e.stream_ops.read(e,t,r,n,s);return a||(e.position+=i),i},write(e,t,r,n,s,a){if(n<0||s<0)throw new se.ErrnoError(28);if(se.isClosed(e))throw new se.ErrnoError(8);if(!(2097155&e.flags))throw new se.ErrnoError(8);if(se.isDir(e.node.mode))throw new se.ErrnoError(31);if(!e.stream_ops.write)throw new se.ErrnoError(28);e.seekable&&1024&e.flags&&se.llseek(e,0,2);var i=void 0!==s;if(i){if(!e.seekable)throw new se.ErrnoError(70)}else s=e.position;var o=e.stream_ops.write(e,t,r,n,s,a);return i||(e.position+=o),o},mmap(e,t,r,n,s){if(2&n&&!(2&s)&&2!=(2097155&e.flags))throw new se.ErrnoError(2);if(1==(2097155&e.flags))throw new se.ErrnoError(2);if(!e.stream_ops.mmap)throw new se.ErrnoError(43);if(!t)throw new se.ErrnoError(28);return e.stream_ops.mmap(e,t,r,n,s)},msync:(e,t,r,n,s)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,s):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new se.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r=se.open(e,t.flags),n=se.stat(e).size,s=new Uint8Array(n);return se.read(r,s,0,n,0),"utf8"===t.encoding&&(s=z(s)),se.close(r),s},writeFile(e,t,r={}){r.flags=r.flags||577;var n=se.open(e,r.flags,r.mode);if("string"==typeof t&&(t=new Uint8Array(J(t,!0))),!ArrayBuffer.isView(t))throw new Error("Unsupported data type");se.write(n,t,0,t.byteLength,void 0,r.canOwn),se.close(n)},cwd:()=>se.currentPath,chdir(e){var t=se.lookupPath(e,{follow:!0});if(null===t.node)throw new se.ErrnoError(44);if(!se.isDir(t.node.mode))throw new se.ErrnoError(54);var r=se.nodePermissions(t.node,"x");if(r)throw new se.ErrnoError(r);se.currentPath=t.path},createDefaultDirectories(){se.mkdir("/tmp"),se.mkdir("/home"),se.mkdir("/home/web_user")},createDefaultDevices(){se.mkdir("/dev"),se.registerDevice(se.makedev(1,3),{read:()=>0,write:(e,t,r,n,s)=>n,llseek:()=>0}),se.mkdev("/dev/null",se.makedev(1,3)),K.register(se.makedev(5,0),K.default_tty_ops),K.register(se.makedev(6,0),K.default_tty1_ops),se.mkdev("/dev/tty",se.makedev(5,0)),se.mkdev("/dev/tty1",se.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(j(e),t=e.byteLength),e[--t]);se.createDevice("/dev","random",r),se.createDevice("/dev","urandom",r),se.mkdir("/dev/shm"),se.mkdir("/dev/shm/tmp")},createSpecialDirectories(){se.mkdir("/proc");var e=se.mkdir("/proc/self");se.mkdir("/proc/self/fd"),se.mount({mount(){var t=se.createNode(e,"fd",16895,73);return t.stream_ops={llseek:Y.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,n=se.getStreamChecked(r),s={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:r+1};return s.parent=s,s},readdir:()=>Array.from(se.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?se.createDevice("/dev","stdin",e):se.symlink("/dev/tty","/dev/stdin"),t?se.createDevice("/dev","stdout",null,t):se.symlink("/dev/tty","/dev/stdout"),r?se.createDevice("/dev","stderr",null,r):se.symlink("/dev/tty1","/dev/stderr"),se.open("/dev/stdin",0),se.open("/dev/stdout",1),se.open("/dev/stderr",1)},staticInit(){se.nameTable=new Array(4096),se.mount(Y,{},"/"),se.createDefaultDirectories(),se.createDefaultDevices(),se.createSpecialDirectories(),se.filesystems={MEMFS:Y}},init(e,r,n){se.initialized=!0,e??(e=t.stdin),r??(r=t.stdout),n??(n=t.stderr),se.createStandardStreams(e,r,n)},quit(){for(var e of(se.initialized=!1,se.streams))e&&se.close(e)},findObject(e,t){var r=se.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=se.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=se.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=N.basename(e),n=se.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,n){e="string"==typeof e?e:se.getPath(e);for(var s=t.split("/").reverse();s.length;){var a=s.pop();if(a){var i=N.join2(e,a);try{se.mkdir(i)}catch(e){if(20!=e.errno)throw e}e=i}}return i},createFile(e,t,r,n,s){var a=N.join2("string"==typeof e?e:se.getPath(e),t),i=Z(n,s);return se.create(a,i)},createDataFile(e,t,r,n,s,a){var i=t;e&&(e="string"==typeof e?e:se.getPath(e),i=t?N.join2(e,t):e);var o=Z(n,s),l=se.create(i,o);if(r){if("string"==typeof r){for(var u=new Array(r.length),c=0,h=r.length;c<h;++c)u[c]=r.charCodeAt(c);r=u}se.chmod(l,146|o);var d=se.open(l,577);se.write(d,r,0,r.length,0,a),se.close(d),se.chmod(l,o)}},createDevice(e,t,r,n){var s,a=N.join2("string"==typeof e?e:se.getPath(e),t),i=Z(!!r,!!n);(s=se.createDevice).major??(s.major=64);var o=se.makedev(se.createDevice.major++,0);return se.registerDevice(o,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,s,a){for(var i=0,o=0;o<s;o++){var l;try{l=r()}catch(e){throw new se.ErrnoError(29)}if(void 0===l&&0===i)throw new se.ErrnoError(6);if(null==l)break;i++,t[n+o]=l}return i&&(e.node.atime=Date.now()),i},write(e,t,r,s,a){for(var i=0;i<s;i++)try{n(t[r+i])}catch(e){throw new se.ErrnoError(29)}return s&&(e.node.mtime=e.node.ctime=Date.now()),i}}),se.mkdev(a,i,o)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new 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.contents=a(e.url)}catch(e){throw new se.ErrnoError(29)}},createLazyFile(e,t,r,s,a){class i{constructor(){ut(this,"lengthKnown",!1),ut(this,"chunks",[])}get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),s=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,i=1048576;s||(i=n);var o=this;o.setDataGetter(e=>{var t=e*i,s=(e+1)*i-1;if(s=Math.min(s,n-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var s=new XMLHttpRequest;if(s.open("GET",r,!1),n!==i&&s.setRequestHeader("Range","bytes="+e+"-"+t),s.responseType="arraybuffer",s.overrideMimeType&&s.overrideMimeType("text/plain; charset=x-user-defined"),s.send(null),!(s.status>=200&&s.status<300||304===s.status))throw new Error("Couldn't load "+r+". Status: "+s.status);return void 0!==s.response?new Uint8Array(s.response||[]):J(s.responseText||"",!0)})(t,s)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]}),!a&&n||(i=n=1,n=this.getter(0).length,i=n,x("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!n)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o={isDevice:!1,contents:new i}}else o={isDevice:!1,url:r};var l=se.createFile(e,t,o,s,a);o.contents?l.contents=o.contents:o.url&&(l.contents=null,l.url=o.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,t,r,n,s){var a=e.node.contents;if(s>=a.length)return 0;var i=Math.min(a.length-s,n);if(a.slice)for(var o=0;o<i;o++)t[r+o]=a[s+o];else for(o=0;o<i;o++)t[r+o]=a.get(s+o);return i}return Object.keys(l.stream_ops).forEach(e=>{var t=l.stream_ops[e];u[e]=(...e)=>(se.forceLoadFile(l),t(...e))}),u.read=(e,t,r,n,s)=>(se.forceLoadFile(l),c(e,t,r,n,s)),u.mmap=(e,t,r,n,s)=>{se.forceLoadFile(l);var a=Q();if(!a)throw new se.ErrnoError(48);return c(e,d,a,t,r),{ptr:a,allocated:!0}},l.stream_ops=u,l}},ae=(e,t,r)=>{if(!e)return"";var n=U(m,e,t,r);return W.decode(m.subarray(e,n))},ie={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(N.isAbs(t))return t;var n;-100===e?n=se.cwd():n=ie.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new se.ErrnoError(44);return n}return n+"/"+t},writeStat(e,t){w[e>>2]=t.dev,w[e+4>>2]=t.mode,w[e+8>>2]=t.nlink,w[e+12>>2]=t.uid,w[e+16>>2]=t.gid,w[e+20>>2]=t.rdev,b[e+24>>3]=BigInt(t.size),g[e+32>>2]=4096,g[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),s=t.ctime.getTime();return b[e+40>>3]=BigInt(Math.floor(r/1e3)),w[e+48>>2]=r%1e3*1e3*1e3,b[e+56>>3]=BigInt(Math.floor(n/1e3)),w[e+64>>2]=n%1e3*1e3*1e3,b[e+72>>3]=BigInt(Math.floor(s/1e3)),w[e+80>>2]=s%1e3*1e3*1e3,b[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){w[e+4>>2]=t.bsize,w[e+60>>2]=t.bsize,b[e+8>>3]=BigInt(t.blocks),b[e+16>>3]=BigInt(t.bfree),b[e+24>>3]=BigInt(t.bavail),b[e+32>>3]=BigInt(t.files),b[e+40>>3]=BigInt(t.ffree),w[e+48>>2]=t.fsid,w[e+64>>2]=t.flags,w[e+56>>2]=t.namelen},doMsync(e,t,r,n,s){if(!se.isFile(t.node.mode))throw new se.ErrnoError(43);if(2&n)return 0;var a=m.slice(e,e+r);se.msync(t,a,s,r,n)},getStreamFromFD:e=>se.getStreamChecked(e),varargs:void 0,getStr:e=>ae(e)};var oe=(e,t,r)=>q(e,m,t,r);var le={},ue=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function ce(e){return this.fromWireType(w[e>>2])}var he={},de={},me={},fe=class extends Error{constructor(e){super(e),this.name="InternalError"}},pe=e=>{throw new fe(e)},ge=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&pe("Mismatched type converter count");for(var s=0;s<e.length;++s)be(e[s],n[s])}e.forEach(e=>me[e]=t);var s=new Array(t.length),a=[],i=0;t.forEach((e,t)=>{de.hasOwnProperty(e)?s[t]=de[e]:(a.push(e),he.hasOwnProperty(e)||(he[e]=[]),he[e].push(()=>{s[t]=de[e],++i===a.length&&n(s)}))}),0===a.length&&n(s)},we=e=>{for(var t="";;){var r=m[e++];if(!r)return t;t+=String.fromCharCode(r)}},ve=class extends Error{constructor(e){super(e),this.name="BindingError"}},ye=e=>{throw new ve(e)};function be(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||ye(`type "${n}" must have a positive integer typeid pointer`),de.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;ye(`Cannot register type '${n}' twice`)}if(de[e]=t,delete me[e],he.hasOwnProperty(e)){var s=he[e];delete he[e],s.forEach(e=>e())}}(e,t,r)}var _e=(e,t,r)=>{switch(t){case 1:return r?e=>d[e]:e=>m[e];case 2:return r?e=>f[e>>1]:e=>p[e>>1];case 4:return r?e=>g[e>>2]:e=>w[e>>2];case 8:return r?e=>b[e>>3]:e=>_[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ee=e=>{ye(e.$$.ptrType.registeredClass.name+" instance already deleted")},xe=!1,Ie=e=>{},Pe=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Te=e=>"undefined"==typeof FinalizationRegistry?(Te=e=>e,e):(xe=new FinalizationRegistry(e=>{Pe(e.$$)}),Ie=e=>xe.unregister(e),(Te=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};xe.register(e,r,e)}return e})(e)),Ce=[];function ke(){}var Se=(e,t)=>Object.defineProperty(t,"name",{value:e}),Ae={},Fe=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||ye(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},De=(e,r,n)=>{t.hasOwnProperty(e)?((void 0===n||void 0!==t[e].overloadTable&&void 0!==t[e].overloadTable[n])&&ye(`Cannot register public name '${e}' twice`),Fe(t,e,e),t[e].overloadTable.hasOwnProperty(n)&&ye(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),t[e].overloadTable[n]=r):(t[e]=r,t[e].argCount=n)};function Le(e,t,r,n,s,a,i,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=s,this.getActualType=a,this.upcast=i,this.downcast=o,this.pureVirtualFunctions=[]}var $e=(e,t,r)=>{for(;t!==r;)t.upcast||ye(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e},Me=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function Re(e,t){if(null===t)return this.isReference&&ye(`null is not a valid ${this.name}`),0;t.$$||ye(`Cannot pass "${Me(t)}" as a ${this.name}`),t.$$.ptr||ye(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return $e(t.$$.ptr,r,this.registeredClass)}function Be(e,t){var r;if(null===t)return this.isReference&&ye(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||ye(`Cannot pass "${Me(t)}" as a ${this.name}`),t.$$.ptr||ye(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&ye(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=$e(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ye("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:ye(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var s=t.clone();r=this.rawShare(r,at.toHandle(()=>s.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:ye("Unsupporting sharing policy")}return r}function Ge(e,t){if(null===t)return this.isReference&&ye(`null is not a valid ${this.name}`),0;t.$$||ye(`Cannot pass "${Me(t)}" as a ${this.name}`),t.$$.ptr||ye(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&ye(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return $e(t.$$.ptr,r,this.registeredClass)}var Oe=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=Oe(e,t,r.baseClass);return null===n?null:r.downcast(n)},Ne={},je=(e,t)=>(t=((e,t)=>{for(void 0===t&&ye("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),Ne[t]),Ve=(e,t)=>(t.ptrType&&t.ptr||pe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&pe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Te(Object.create(e,{$$:{value:t,writable:!0}})));function We(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=je(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function s(){return this.isSmartPointer?Ve(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ve(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,i=this.registeredClass.getActualType(t),o=Ae[i];if(!o)return s.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Oe(t,this.registeredClass,a.registeredClass);return null===l?s.call(this):this.isSmartPointer?Ve(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Ve(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function Ue(e,t,r,n,s,a,i,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=s,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,s||void 0!==t.baseClass?this.toWireType=Be:n?(this.toWireType=Re,this.destructorFunction=null):(this.toWireType=Ge,this.destructorFunction=null)}var ze,He=(e,r,n)=>{t.hasOwnProperty(e)||pe("Replacing nonexistent public symbol"),void 0!==t[e].overloadTable&&void 0!==n?t[e].overloadTable[n]=r:(t[e]=r,t[e].argCount=n)},Xe=(e,t,r=!1)=>{e=we(e);var n,s=(n=t,ze.get(n));return"function"!=typeof s&&ye(`unknown function pointer with signature ${e}: ${t}`),s};class qe extends Error{}var Je=e=>{var t=bs(e),r=we(t);return Es(t),r},Ke=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||de[t]||(me[t]?me[t].forEach(e):(r.push(t),n[t]=!0))}),new qe(`${e}: `+r.map(Je).join([", "]))};function Qe(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function Ye(e,t,r,n,s,a){var i=t.length;i<2&&ye("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,l=Qe(t),u=!t[0].isVoid,c=t[0],h=t[1],d=[e,ye,n,s,ue,c.fromWireType.bind(c),h?.toWireType.bind(h)],m=2;m<i;++m){var f=t[m];d.push(f.toWireType.bind(f))}if(!l)for(m=o?1:2;m<t.length;++m)null!==t[m].destructorFunction&&d.push(t[m].destructorFunction);let p=function(e,t,r,n){var s=Qe(e),a=e.length-2,i=[],o=["fn"];t&&o.push("thisWired");for(var l=0;l<a;++l)i.push(`arg${l}`),o.push(`arg${l}Wired`);i=i.join(","),o=o.join(",");var u=`return function (${i}) {\n`;s&&(u+="var destructors = [];\n");var c=s?"destructors":"null",h=["humanName","throwBindingError","invoker","fn","runDestructors","fromRetWire","toClassParamWire"];for(t&&(u+=`var thisWired = toClassParamWire(${c}, this);\n`),l=0;l<a;++l){var d=`toArg${l}Wire`;u+=`var arg${l}Wired = ${d}(${c}, arg${l});\n`,h.push(d)}if(u+=(r||n?"var rv = ":"")+`invoker(${o});\n`,s)u+="runDestructors(destructors);\n";else for(l=t?1:2;l<e.length;++l){var m=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(u+=`${m}_dtor(${m});\n`,h.push(`${m}_dtor`))}return r&&(u+="var ret = fromRetWire(rv);\nreturn ret;\n"),u+="}\n",new Function(h,u)}(t,o,u,a);var g=p(...d);return Se(e,g)}var Ze=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(w[t+4*n>>2]);return r},et=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},tt=(e,t,r)=>(e instanceof Object||ye(`${r} with invalid "this": ${e}`),e instanceof t.registeredClass.constructor||ye(`${r} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||ye(`cannot call emscripten binding method ${r} on deleted object`),$e(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)),rt=[],nt=[0,1,,1,null,1,!0,1,!1,1],st=e=>{e>9&&0===--nt[e+1]&&(nt[e]=void 0,rt.push(e))},at={toValue:e=>(e||ye(`Cannot use deleted val. handle = ${e}`),nt[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=rt.pop()||nt.length;return nt[t]=e,nt[t+1]=1,t}}}},it={name:"emscripten::val",fromWireType:e=>{var t=at.toValue(e);return st(e),t},toWireType:(e,t)=>at.toHandle(t),readValueFromPointer:ce,destructorFunction:null},ot=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(d[e])}:function(e){return this.fromWireType(m[e])};case 2:return r?function(e){return this.fromWireType(f[e>>1])}:function(e){return this.fromWireType(p[e>>1])};case 4:return r?function(e){return this.fromWireType(g[e>>2])}:function(e){return this.fromWireType(w[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},lt=(e,t)=>{var r=de[e];return void 0===r&&ye(`${t} has unknown type ${Je(e)}`),r},ct=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(v[e>>2])};case 8:return function(e){return this.fromWireType(y[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},ht=Object.assign({optional:!0},it),dt=new TextDecoder("utf-16le"),mt=(e,t,r)=>{var n=e>>1,s=U(p,n,t/2,r);return dt.decode(p.subarray(n,s))},ft=(e,t,r)=>{if(r??(r=2147483647),r<2)return 0;for(var n=t,s=(r-=2)<2*e.length?r/2:e.length,a=0;a<s;++a){var i=e.charCodeAt(a);f[t>>1]=i,t+=2}return f[t>>1]=0,t-n},pt=e=>2*e.length,gt=(e,t,r)=>{for(var n="",s=e>>2,a=0;!(a>=t/4);a++){var i=w[s+a];if(!i&&!r)break;n+=String.fromCodePoint(i)}return n},wt=(e,t,r)=>{if(r??(r=2147483647),r<4)return 0;for(var n=t,s=n+r-4,a=0;a<e.length;++a){var i=e.codePointAt(a);if(i>65535&&a++,g[t>>2]=i,(t+=4)+4>s)break}return g[t>>2]=0,t-n},vt=e=>{for(var t=0,r=0;r<e.length;++r){e.codePointAt(r)>65535&&r++,t+=4}return t},yt=[],bt=(e,t,r)=>{var n=[],s=e(n,r);return n.length&&(w[t>>2]=at.toHandle(n)),s},_t={},Et=e=>{var t=_t[e];return void 0===t?we(e):t},xt=()=>globalThis;var It,Pt=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],Tt=e=>{var t;return e=(t=e)>2?ae(t):t,Pt[e]||("undefined"!=typeof document?document.querySelector(e):null)},Ct=e=>{var t=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter(e=>t.includes(e))},kt={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{kt.lastError||(kt.lastError=e)},getNewId:e=>{for(var t=kt.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,n)=>{for(var s=0;s<e;s++){var a=It[r](),i=a&&kt.getNewId(n);a?(a.name=i,n[i]=a):kt.recordError(1282),g[t+4*s>>2]=i}},getSource:(e,t,r,n)=>{for(var s="",a=0;a<t;++a){var i=n?w[n+4*a>>2]:void 0;s+=ae(w[r+4*a>>2],i)}return s},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let t=function(t,r){var n=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==n instanceof WebGLRenderingContext?n:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?kt.registerContext(r,t):0},registerContext:(e,t)=>{var r=kt.getNewId(kt.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),kt.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&kt.initExtensions(n),r},makeContextCurrent:e=>(kt.currentContext=kt.contexts[e],t.ctx=It=kt.currentContext?.GLctx,!(e&&!It)),getContext:e=>kt.contexts[e],deleteContext:e=>{kt.currentContext===kt.contexts[e]&&(kt.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(kt.contexts[e].GLctx.canvas),kt.contexts[e]?.GLctx.canvas&&(kt.contexts[e].GLctx.canvas.GLctxObject=void 0),kt.contexts[e]=null},initExtensions:e=>{if(e||(e=kt.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t,r=e.GLctx;(t=r).multiDrawWebgl=t.getExtension("WEBGL_multi_draw"),(e=>{e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")})(r),(e=>{e.extClipControl=e.getExtension("EXT_clip_control")})(r),(e=>{e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")})(r),(e=>{var t=e.getExtension("ANGLE_instanced_arrays");if(t)e.vertexAttribDivisor=(e,r)=>t.vertexAttribDivisorANGLE(e,r),e.drawArraysInstanced=(e,r,n,s)=>t.drawArraysInstancedANGLE(e,r,n,s),e.drawElementsInstanced=(e,r,n,s,a)=>t.drawElementsInstancedANGLE(e,r,n,s,a)})(r),(e=>{var t=e.getExtension("OES_vertex_array_object");if(t)e.createVertexArray=()=>t.createVertexArrayOES(),e.deleteVertexArray=e=>t.deleteVertexArrayOES(e),e.bindVertexArray=e=>t.bindVertexArrayOES(e),e.isVertexArray=e=>t.isVertexArrayOES(e)})(r),(e=>{var t=e.getExtension("WEBGL_draw_buffers");if(t)e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r)})(r),(e=>{e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")})(r),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),Ct(r).forEach(e=>{e.includes("lose_context")||e.includes("debug")||r.getExtension(e)})}}},St=e=>It.activeTexture(e),At=(e,t)=>{It.attachShader(kt.programs[e],kt.shaders[t])},Ft=(e,t,r)=>{It.bindAttribLocation(kt.programs[e],t,ae(r))},Dt=(e,t)=>{35051==e?It.currentPixelPackBufferBinding=t:35052==e&&(It.currentPixelUnpackBufferBinding=t),It.bindBuffer(e,kt.buffers[t])},Lt=(e,t,r)=>{It.bindBufferBase(e,t,kt.buffers[r])},$t=(e,t)=>{It.bindFramebuffer(e,kt.framebuffers[t])},Mt=(e,t)=>{It.bindRenderbuffer(e,kt.renderbuffers[t])},Rt=(e,t)=>{It.bindTexture(e,kt.textures[t])},Bt=e=>{It.bindVertexArray(kt.vaos[e])},Gt=Bt,Ot=Bt,Nt=Ot,jt=(e,t,r,n)=>It.blendColor(e,t,r,n),Vt=e=>It.blendEquation(e),Wt=(e,t)=>It.blendEquationSeparate(e,t),Ut=(e,t)=>It.blendFunc(e,t),zt=(e,t,r,n)=>It.blendFuncSeparate(e,t,r,n),Ht=(e,t,r,n,s,a,i,o,l,u)=>It.blitFramebuffer(e,t,r,n,s,a,i,o,l,u),Xt=(e,t,r,n)=>{kt.currentContext.version>=2?r&&t?It.bufferData(e,m,n,r,t):It.bufferData(e,t,n):It.bufferData(e,r?m.subarray(r,r+t):t,n)},qt=(e,t,r,n)=>{kt.currentContext.version>=2?r&&It.bufferSubData(e,t,m,n,r):It.bufferSubData(e,t,m.subarray(n,n+r))},Jt=e=>It.checkFramebufferStatus(e),Kt=e=>It.clear(e),Qt=(e,t,r,n)=>It.clearColor(e,t,r,n),Yt=e=>It.clearDepth(e),Zt=e=>It.clearStencil(e),er=(e,t,r,n)=>{It.colorMask(!!e,!!t,!!r,!!n)},tr=e=>{It.compileShader(kt.shaders[e])},rr=(e,t,r,n,s,a,i,o)=>{if(kt.currentContext.version>=2)return It.currentPixelUnpackBufferBinding||!i?void It.compressedTexImage2D(e,t,r,n,s,a,i,o):void It.compressedTexImage2D(e,t,r,n,s,a,m,o,i);It.compressedTexImage2D(e,t,r,n,s,a,m.subarray(o,o+i))},nr=(e,t,r,n,s,a,i,o,l)=>{if(kt.currentContext.version>=2)return It.currentPixelUnpackBufferBinding||!o?void It.compressedTexSubImage2D(e,t,r,n,s,a,i,o,l):void It.compressedTexSubImage2D(e,t,r,n,s,a,i,m,l,o);It.compressedTexSubImage2D(e,t,r,n,s,a,i,m.subarray(l,l+o))},sr=(e,t,r,n,s,a,i,o)=>It.copyTexSubImage2D(e,t,r,n,s,a,i,o),ar=()=>{var e=kt.getNewId(kt.programs),t=It.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,kt.programs[e]=t,e},ir=e=>{var t=kt.getNewId(kt.shaders);return kt.shaders[t]=It.createShader(e),t},or=e=>It.cullFace(e),lr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2],s=kt.buffers[n];s&&(It.deleteBuffer(s),s.name=0,kt.buffers[n]=null,n==It.currentPixelPackBufferBinding&&(It.currentPixelPackBufferBinding=0),n==It.currentPixelUnpackBufferBinding&&(It.currentPixelUnpackBufferBinding=0))}},ur=(e,t)=>{for(var r=0;r<e;++r){var n=g[t+4*r>>2],s=kt.framebuffers[n];s&&(It.deleteFramebuffer(s),s.name=0,kt.framebuffers[n]=null)}},cr=e=>{if(e){var t=kt.programs[e];t?(It.deleteProgram(t),t.name=0,kt.programs[e]=null):kt.recordError(1281)}},hr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2],s=kt.renderbuffers[n];s&&(It.deleteRenderbuffer(s),s.name=0,kt.renderbuffers[n]=null)}},dr=e=>{if(e){var t=kt.shaders[e];t?(It.deleteShader(t),kt.shaders[e]=null):kt.recordError(1281)}},mr=e=>{if(e){var t=kt.syncs[e];t?(It.deleteSync(t),t.name=0,kt.syncs[e]=null):kt.recordError(1281)}},fr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2],s=kt.textures[n];s&&(It.deleteTexture(s),s.name=0,kt.textures[n]=null)}},pr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2];It.deleteVertexArray(kt.vaos[n]),kt.vaos[n]=null}},gr=pr,wr=pr,vr=wr,yr=e=>It.depthFunc(e),br=e=>{It.depthMask(!!e)},_r=e=>It.disable(e),Er=e=>{It.disableVertexAttribArray(e)},xr=(e,t,r)=>{It.drawArrays(e,t,r)},Ir=(e,t,r,n)=>{It.drawElements(e,t,r,n)},Pr=e=>It.enable(e),Tr=e=>{It.enableVertexAttribArray(e)},Cr=(e,t)=>{var r=It.fenceSync(e,t);if(r){var n=kt.getNewId(kt.syncs);return r.name=n,kt.syncs[n]=r,n}return 0},kr=()=>It.finish(),Sr=()=>It.flush(),Ar=(e,t,r,n)=>{It.framebufferRenderbuffer(e,t,r,kt.renderbuffers[n])},Fr=(e,t,r,n,s)=>{It.framebufferTexture2D(e,t,r,kt.textures[n],s)},Dr=e=>It.frontFace(e),Lr=(e,t)=>{kt.genObject(e,t,"createBuffer",kt.buffers)},$r=(e,t)=>{kt.genObject(e,t,"createFramebuffer",kt.framebuffers)},Mr=(e,t)=>{kt.genObject(e,t,"createRenderbuffer",kt.renderbuffers)},Rr=(e,t)=>{kt.genObject(e,t,"createTexture",kt.textures)},Br=(e,t)=>{kt.genObject(e,t,"createVertexArray",kt.vaos)},Gr=Br,Or=Br,Nr=e=>It.generateMipmap(e),jr=(e,t)=>It.getAttribLocation(kt.programs[e],ae(t)),Vr=()=>{var e=Ct(It);return e=e.concat(e.map(e=>"GL_"+e))},Wr=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&kt.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var s=It.getParameter(34467);n=s?s.length:0;break;case 33309:if(kt.currentContext.version<2)return void kt.recordError(1282);n=Vr().length;break;case 33307:case 33308:if(kt.currentContext.version<2)return void kt.recordError(1280);n=33307==e?3:0}if(void 0===n){var a=It.getParameter(e);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void kt.recordError(1280);case"object":if(null===a)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void kt.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(r){case 0:g[t+4*i>>2]=a[i];break;case 2:v[t+4*i>>2]=a[i];break;case 4:d[t+i]=a[i]?1:0}return}try{n=0|a.name}catch(t){return kt.recordError(1280),void I(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return kt.recordError(1280),void I(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${a} of type ${typeof a}!`)}}switch(r){case 1:((e,t)=>{w[e>>2]=t;var r=w[e>>2];w[e+4>>2]=(t-r)/4294967296})(t,n);break;case 0:g[t>>2]=n;break;case 2:v[t>>2]=n;break;case 4:d[t]=n?1:0}}else kt.recordError(1281)},Ur=(e,t)=>Wr(e,t,4),zr=(e,t,r)=>{r?g[r>>2]=It.getBufferParameter(e,t):kt.recordError(1281)},Hr=()=>{var e=It.getError()||kt.lastError;return kt.lastError=0,e},Xr=(e,t,r,n)=>{var s=It.getFramebufferAttachmentParameter(e,t,r);(s instanceof WebGLRenderbuffer||s instanceof WebGLTexture)&&(s=0|s.name),g[n>>2]=s},qr=(e,t)=>Wr(e,t,0),Jr=(e,t,r,n,s)=>{if(n<0)kt.recordError(1281);else if(s){var a=It.getInternalformatParameter(e,t,r);if(null!==a)for(var i=0;i<a.length&&i<n;++i)g[s+4*i>>2]=a[i]}else kt.recordError(1281)},Kr=(e,t,r,n)=>{var s=It.getProgramInfoLog(kt.programs[e]);null===s&&(s="(unknown error)");var a=t>0&&n?oe(s,n,t):0;r&&(g[r>>2]=a)},Qr=(e,t,r)=>{if(r)if(e>=kt.counter)kt.recordError(1281);else if(e=kt.programs[e],35716==t){var n=It.getProgramInfoLog(e);null===n&&(n="(unknown error)"),g[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var s=It.getProgramParameter(e,35718),a=0;a<s;++a)e.maxUniformLength=Math.max(e.maxUniformLength,It.getActiveUniform(e,a).name.length+1);g[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var i=It.getProgramParameter(e,35721);for(a=0;a<i;++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,It.getActiveAttrib(e,a).name.length+1)}g[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var o=It.getProgramParameter(e,35382);for(a=0;a<o;++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,It.getActiveUniformBlockName(e,a).length+1)}g[r>>2]=e.maxUniformBlockNameLength}else g[r>>2]=It.getProgramParameter(e,t);else kt.recordError(1281)},Yr=(e,t,r)=>{r?g[r>>2]=It.getRenderbufferParameter(e,t):kt.recordError(1281)},Zr=(e,t,r,n)=>{var s=It.getShaderInfoLog(kt.shaders[e]);null===s&&(s="(unknown error)");var a=t>0&&n?oe(s,n,t):0;r&&(g[r>>2]=a)},en=(e,t,r,n)=>{var s=It.getShaderPrecisionFormat(e,t);g[r>>2]=s.rangeMin,g[r+4>>2]=s.rangeMax,g[n>>2]=s.precision},tn=(e,t,r)=>{if(r)if(35716==t){var n=It.getShaderInfoLog(kt.shaders[e]);null===n&&(n="(unknown error)");var s=n?n.length+1:0;g[r>>2]=s}else if(35720==t){var a=It.getShaderSource(kt.shaders[e]),i=a?a.length+1:0;g[r>>2]=i}else g[r>>2]=It.getShaderParameter(kt.shaders[e],t);else kt.recordError(1281)},rn=e=>{var t=X(e)+1,r=_s(t);return r&&oe(e,r,t),r},nn=e=>{var t=kt.stringCache[e];if(!t){switch(e){case 7939:t=rn(Vr().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=It.getParameter(e);r||kt.recordError(1280),t=r?rn(r):0;break;case 7938:var n=It.getParameter(7938),s=`OpenGL ES 2.0 (${n})`;kt.currentContext.version>=2&&(s=`OpenGL ES 3.0 (${n})`),t=rn(s);break;case 35724:var a=It.getParameter(35724),i=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==i&&(3==i[1].length&&(i[1]=i[1]+"0"),a=`OpenGL ES GLSL ES ${i[1]} (${a})`),t=rn(a);break;default:kt.recordError(1280)}kt.stringCache[e]=t}return t},sn=(e,t)=>{if(kt.currentContext.version<2)return kt.recordError(1282),0;var r=kt.stringiCache[e];if(r)return t<0||t>=r.length?(kt.recordError(1281),0):r[t];if(7939===e){var n=Vr().map(rn);return r=kt.stringiCache[e]=n,t<0||t>=r.length?(kt.recordError(1281),0):r[t]}return kt.recordError(1280),0},an=(e,t)=>It.getUniformBlockIndex(kt.programs[e],ae(t)),on=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),ln=(e,t)=>{if(t=ae(t),e=kt.programs[e]){(e=>{var t,r,n=e.uniformLocsById,s=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var a=It.getProgramParameter(e,35718);for(t=0;t<a;++t){var i=It.getActiveUniform(e,t),o=i.name,l=i.size,u=on(o),c=u>0?o.slice(0,u):o,h=e.uniformIdCounter;for(e.uniformIdCounter+=l,s[c]=[l,h],r=0;r<l;++r)n[h]=r,e.uniformArrayNamesById[h++]=c}}})(e);var r=e.uniformLocsById,n=0,s=t,a=on(t);a>0&&(o=t.slice(a+1),n=parseInt(o)>>>0,s=t.slice(0,a));var i=e.uniformSizeAndIdsByName[s];if(i&&n<i[0]&&(r[n+=i[1]]=r[n]||It.getUniformLocation(e,t)))return n}else kt.recordError(1281);var o;return-1},un=(e,t,r)=>{r?g[r>>2]=It.getVertexAttribOffset(e,t):kt.recordError(1281)},cn=(e,t,r)=>{((e,t,r,n)=>{if(r){var s=It.getVertexAttrib(e,t);if(34975==t)g[r>>2]=s&&s.name;else if("number"==typeof s||"boolean"==typeof s)switch(n){case 0:g[r>>2]=s;break;case 2:v[r>>2]=s;break;case 5:g[r>>2]=Math.fround(s)}else for(var a=0;a<s.length;a++)switch(n){case 0:g[r+4*a>>2]=s[a];break;case 2:v[r+4*a>>2]=s[a];break;case 5:g[r+4*a>>2]=Math.fround(s[a])}}else kt.recordError(1281)})(e,t,r,5)},hn=e=>It.isEnabled(e),dn=e=>{var t=kt.textures[e];return t?It.isTexture(t):0},mn=e=>It.lineWidth(e),fn=e=>{e=kt.programs[e],It.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},pn=(e,t)=>{3317==e?kt.unpackAlignment=t:3314==e&&(kt.unpackRowLength=t),It.pixelStorei(e,t)},gn=e=>0==(e-=5120)?d:1==e?m:2==e?f:4==e?g:6==e?v:5==e||28922==e||28520==e||30779==e||30782==e?w:p,wn=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),vn=(e,t,r,n,s,a)=>{var i=gn(e),o=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*i.BYTES_PER_ELEMENT,l=((e,t,r)=>{var n,s,a=(kt.unpackRowLength||e)*r;return t*(n=a,s=kt.unpackAlignment,n+s-1&-s)})(r,n,o);return i.subarray(wn(s,i),wn(s+l,i))},yn=(e,t,r,n,s,a,i)=>{if(kt.currentContext.version>=2){if(It.currentPixelPackBufferBinding)return void It.readPixels(e,t,r,n,s,a,i);var o=gn(a),l=wn(i,o);It.readPixels(e,t,r,n,s,a,o,l)}else{var u=vn(a,s,r,n,i);u?It.readPixels(e,t,r,n,s,a,u):kt.recordError(1280)}},bn=(e,t,r,n)=>It.renderbufferStorage(e,t,r,n),_n=(e,t,r,n,s)=>It.renderbufferStorageMultisample(e,t,r,n,s),En=(e,t,r,n)=>It.scissor(e,t,r,n),xn=(e,t,r,n)=>{var s=kt.getSource(e,t,r,n);It.shaderSource(kt.shaders[e],s)},In=(e,t,r)=>It.stencilFunc(e,t,r),Pn=(e,t,r,n)=>It.stencilFuncSeparate(e,t,r,n),Tn=e=>It.stencilMask(e),Cn=(e,t)=>It.stencilMaskSeparate(e,t),kn=(e,t,r)=>It.stencilOp(e,t,r),Sn=(e,t,r,n)=>It.stencilOpSeparate(e,t,r,n),An=(e,t,r,n,s,a,i,o,l)=>{if(kt.currentContext.version>=2){if(It.currentPixelUnpackBufferBinding)return void It.texImage2D(e,t,r,n,s,a,i,o,l);if(l){var u=gn(o),c=wn(l,u);return void It.texImage2D(e,t,r,n,s,a,i,o,u,c)}}var h=l?vn(o,i,n,s,l):null;It.texImage2D(e,t,r,n,s,a,i,o,h)},Fn=(e,t,r)=>It.texParameterf(e,t,r),Dn=(e,t,r)=>{var n=v[r>>2];It.texParameterf(e,t,n)},Ln=(e,t,r)=>It.texParameteri(e,t,r),$n=(e,t,r)=>{var n=g[r>>2];It.texParameteri(e,t,n)},Mn=(e,t,r,n,s,a,i,o,l)=>{if(kt.currentContext.version>=2){if(It.currentPixelUnpackBufferBinding)return void It.texSubImage2D(e,t,r,n,s,a,i,o,l);if(l){var u=gn(o);return void It.texSubImage2D(e,t,r,n,s,a,i,o,u,wn(l,u))}}var c=l?vn(o,i,s,a,l):null;It.texSubImage2D(e,t,r,n,s,a,i,o,c)},Rn=e=>{var t=It.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=It.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}kt.recordError(1282)},Bn=(e,t)=>{It.uniform1f(Rn(e),t)},Gn=[],On=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform1fv(Rn(e),v,r>>2,t);else{if(t<=288)for(var n=Gn[t],s=0;s<t;++s)n[s]=v[r+4*s>>2];else n=v.subarray(r>>2,r+4*t>>2);It.uniform1fv(Rn(e),n)}},Nn=(e,t)=>{It.uniform1i(Rn(e),t)},jn=[],Vn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform1iv(Rn(e),g,r>>2,t);else{if(t<=288)for(var n=jn[t],s=0;s<t;++s)n[s]=g[r+4*s>>2];else n=g.subarray(r>>2,r+4*t>>2);It.uniform1iv(Rn(e),n)}},Wn=(e,t,r)=>{It.uniform2f(Rn(e),t,r)},Un=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform2fv(Rn(e),v,r>>2,2*t);else{if(t<=144)for(var n=Gn[t*=2],s=0;s<t;s+=2)n[s]=v[r+4*s>>2],n[s+1]=v[r+(4*s+4)>>2];else n=v.subarray(r>>2,r+8*t>>2);It.uniform2fv(Rn(e),n)}},zn=(e,t,r)=>{It.uniform2i(Rn(e),t,r)},Hn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform2iv(Rn(e),g,r>>2,2*t);else{if(t<=144)for(var n=jn[t*=2],s=0;s<t;s+=2)n[s]=g[r+4*s>>2],n[s+1]=g[r+(4*s+4)>>2];else n=g.subarray(r>>2,r+8*t>>2);It.uniform2iv(Rn(e),n)}},Xn=(e,t,r,n)=>{It.uniform3f(Rn(e),t,r,n)},qn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform3fv(Rn(e),v,r>>2,3*t);else{if(t<=96)for(var n=Gn[t*=3],s=0;s<t;s+=3)n[s]=v[r+4*s>>2],n[s+1]=v[r+(4*s+4)>>2],n[s+2]=v[r+(4*s+8)>>2];else n=v.subarray(r>>2,r+12*t>>2);It.uniform3fv(Rn(e),n)}},Jn=(e,t,r,n)=>{It.uniform3i(Rn(e),t,r,n)},Kn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform3iv(Rn(e),g,r>>2,3*t);else{if(t<=96)for(var n=jn[t*=3],s=0;s<t;s+=3)n[s]=g[r+4*s>>2],n[s+1]=g[r+(4*s+4)>>2],n[s+2]=g[r+(4*s+8)>>2];else n=g.subarray(r>>2,r+12*t>>2);It.uniform3iv(Rn(e),n)}},Qn=(e,t,r,n,s)=>{It.uniform4f(Rn(e),t,r,n,s)},Yn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform4fv(Rn(e),v,r>>2,4*t);else{if(t<=72){var n=Gn[4*t],s=v;r>>=2,t*=4;for(var a=0;a<t;a+=4){var i=r+a;n[a]=s[i],n[a+1]=s[i+1],n[a+2]=s[i+2],n[a+3]=s[i+3]}}else n=v.subarray(r>>2,r+16*t>>2);It.uniform4fv(Rn(e),n)}},Zn=(e,t,r,n,s)=>{It.uniform4i(Rn(e),t,r,n,s)},es=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform4iv(Rn(e),g,r>>2,4*t);else{if(t<=72)for(var n=jn[t*=4],s=0;s<t;s+=4)n[s]=g[r+4*s>>2],n[s+1]=g[r+(4*s+4)>>2],n[s+2]=g[r+(4*s+8)>>2],n[s+3]=g[r+(4*s+12)>>2];else n=g.subarray(r>>2,r+16*t>>2);It.uniform4iv(Rn(e),n)}},ts=(e,t,r)=>{e=kt.programs[e],It.uniformBlockBinding(e,t,r)},rs=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&It.uniformMatrix2fv(Rn(e),!!r,v,n>>2,4*t);else{if(t<=72)for(var s=Gn[t*=4],a=0;a<t;a+=4)s[a]=v[n+4*a>>2],s[a+1]=v[n+(4*a+4)>>2],s[a+2]=v[n+(4*a+8)>>2],s[a+3]=v[n+(4*a+12)>>2];else s=v.subarray(n>>2,n+16*t>>2);It.uniformMatrix2fv(Rn(e),!!r,s)}},ns=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&It.uniformMatrix3fv(Rn(e),!!r,v,n>>2,9*t);else{if(t<=32)for(var s=Gn[t*=9],a=0;a<t;a+=9)s[a]=v[n+4*a>>2],s[a+1]=v[n+(4*a+4)>>2],s[a+2]=v[n+(4*a+8)>>2],s[a+3]=v[n+(4*a+12)>>2],s[a+4]=v[n+(4*a+16)>>2],s[a+5]=v[n+(4*a+20)>>2],s[a+6]=v[n+(4*a+24)>>2],s[a+7]=v[n+(4*a+28)>>2],s[a+8]=v[n+(4*a+32)>>2];else s=v.subarray(n>>2,n+36*t>>2);It.uniformMatrix3fv(Rn(e),!!r,s)}},ss=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&It.uniformMatrix4fv(Rn(e),!!r,v,n>>2,16*t);else{if(t<=18){var s=Gn[16*t],a=v;n>>=2,t*=16;for(var i=0;i<t;i+=16){var o=n+i;s[i]=a[o],s[i+1]=a[o+1],s[i+2]=a[o+2],s[i+3]=a[o+3],s[i+4]=a[o+4],s[i+5]=a[o+5],s[i+6]=a[o+6],s[i+7]=a[o+7],s[i+8]=a[o+8],s[i+9]=a[o+9],s[i+10]=a[o+10],s[i+11]=a[o+11],s[i+12]=a[o+12],s[i+13]=a[o+13],s[i+14]=a[o+14],s[i+15]=a[o+15]}}else s=v.subarray(n>>2,n+64*t>>2);It.uniformMatrix4fv(Rn(e),!!r,s)}},as=e=>{e=kt.programs[e],It.useProgram(e),It.currentProgram=e},is=(e,t)=>It.vertexAttrib1f(e,t),os=(e,t)=>{It.vertexAttrib2f(e,v[t>>2],v[t+4>>2])},ls=(e,t)=>{It.vertexAttrib3f(e,v[t>>2],v[t+4>>2],v[t+8>>2])},us=(e,t)=>{It.vertexAttrib4f(e,v[t>>2],v[t+4>>2],v[t+8>>2],v[t+12>>2])},cs=(e,t,r,n,s,a)=>{It.vertexAttribPointer(e,t,r,!!n,s,a)},hs=(e,t,r,n)=>It.viewport(e,t,r,n),ds=(e,t,r)=>{r=Number(r),It.waitSync(kt.syncs[e],t,r)},ms=(e,t)=>Math.ceil(e/t)*t,fs=e=>{var t=(e-h.buffer.byteLength+65535)/65536|0;try{return h.grow(t),C(),1}catch(e){}},ps=["default","low-power","high-performance"],gs=(e,t)=>{var r=t>>2,n=g[r+2],s={alpha:!!d[t+0],depth:!!d[t+1],stencil:!!d[t+2],antialias:!!d[t+3],premultipliedAlpha:!!d[t+4],preserveDrawingBuffer:!!d[t+5],powerPreference:ps[n],failIfMajorPerformanceCaveat:!!d[t+12],majorVersion:g[r+4],minorVersion:g[r+5],enableExtensionsByDefault:d[t+24],explicitSwapControl:d[t+25],proxyContextToMainThread:g[r+7],renderViaOffscreenBackBuffer:d[t+32]},a=Tt(e);return a?s.explicitSwapControl?0:kt.createContext(a,s):0},ws=()=>kt.currentContext?kt.currentContext.handle:0;se.createPreloadedFile=(e,t,r,n,s,a,i,o,l,u)=>{ne(e,t,r,n,s,o,l,u).then(a).catch(i)},se.preloadFile=ne,se.staticInit(),(()=>{let e=ke.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof ke))return!1;if(!(e instanceof ke))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,s=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)s=n.upcast(s),n=n.baseClass;return t===n&&r===s},clone(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Te(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ye("Object already scheduled for deletion"),Ie(this),Pe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ye("Object already scheduled for deletion"),Ce.push(this),Ce.length,this.$$.deleteScheduled=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(Ue.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:ce,fromWireType:We});for(var vs=new Float32Array(288),ys=0;ys<=288;++ys)Gn[ys]=vs.subarray(0,ys);var bs,_s,Es,xs=new Int32Array(288);for(ys=0;ys<=288;++ys)jn[ys]=xs.subarray(0,ys);if(t.noExitRuntime&&t.noExitRuntime,t.preloadPlugins&&(re=t.preloadPlugins),t.print&&(x=t.print),t.printErr&&(I=t.printErr),t.wasmBinary&&(l=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&t.thisProgram,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()();t.GL=kt;var Is,Ps={w:(e,t,r)=>{throw new B(e).init(t,r),e},K:function(e,t,r){ie.varargs=r;try{var n=ie.getStreamFromFD(e);switch(t){case 0:if((s=G())<0)return-28;for(;se.streams[s];)s++;return se.dupStream(n,s).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var s=G();return n.flags|=s,0;case 12:s=O();return f[s+0>>1]=2,0}return-28}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},hb:function(e,t,r){try{var n=ie.getStreamFromFD(e);n.getdents||(n.getdents=se.readdir(n.path));for(var s=280,a=0,i=se.llseek(n,0,1),o=Math.floor(i/s),l=Math.min(n.getdents.length,o+Math.floor(r/s)),u=o;u<l;u++){var c,h,m=n.getdents[u];if("."===m)c=n.node.id,h=4;else if(".."===m){c=se.lookupPath(n.path,{parent:!0}).node.id,h=4}else{var p;try{p=se.lookupNode(n.node,m)}catch(e){if(28===e?.errno)continue;throw e}c=p.id,h=se.isChrdev(p.mode)?2:se.isDir(p.mode)?4:se.isLink(p.mode)?10:8}b[t+a>>3]=BigInt(c),b[t+a+8>>3]=BigInt((u+1)*s),f[t+a+16>>1]=280,d[t+a+18]=h,oe(m,t+a+19,256),a+=s}return se.llseek(n,u*s,0),a}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},ob:function(e,t,r){ie.varargs=r;try{var n=ie.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var s=n.tty.ops.ioctl_tcgets(n),a=O();g[a>>2]=s.c_iflag||0,g[a+4>>2]=s.c_oflag||0,g[a+8>>2]=s.c_cflag||0,g[a+12>>2]=s.c_lflag||0;for(var i=0;i<32;i++)d[a+i+17]=s.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=O();var o=g[a>>2],l=g[a+4>>2],u=g[a+8>>2],c=g[a+12>>2],h=[];for(i=0;i<32;i++)h.push(d[a+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:o,c_oflag:l,c_cflag:u,c_lflag:c,c_cc:h})}return 0;case 21519:if(!n.tty)return-59;a=O();return g[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21537:case 21531:a=O();return se.ioctl(n,t,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var m=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=O();f[a>>1]=m[0],f[a+2>>1]=m[1]}return 0;default:return-28}}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},fb:function(e,t,r){try{return t=ie.getStr(t),t=ie.calculateAt(e,t),se.mkdir(t,r,0),0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},L:function(e,t,r,n){ie.varargs=n;try{t=ie.getStr(t),t=ie.calculateAt(e,t);var s=n?G():0;return se.open(t,r,s).fd}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},kb:function(e){try{return e=ie.getStr(e),se.rmdir(e),0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},gb:function(e,t){try{return e=ie.getStr(e),ie.writeStat(t,se.stat(e))}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},lb:function(e,t,r){try{if(t=ie.getStr(t),t=ie.calculateAt(e,t),r){if(512!==r)return-28;se.rmdir(t)}else se.unlink(t);return 0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},pb:()=>k(""),u:e=>{var t=le[e];delete le[e];var r=t.rawConstructor,n=t.rawDestructor,s=t.fields,a=s.map(e=>e.getterReturnType).concat(s.map(e=>e.setterArgumentType));ge([e],a,e=>{var a={};return s.forEach((t,r)=>{var n=t.fieldName,i=e[r],o=e[r].optional,l=t.getter,u=t.getterContext,c=e[r+s.length],h=t.setter,d=t.setterContext;a[n]={read:e=>i.fromWireType(l(u,e)),write:(e,t)=>{var r=[];h(d,e,c.toWireType(r,t)),ue(r)},optional:o}}),[{name:t.name,fromWireType:e=>{var t={};for(var r in a)t[r]=a[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var s in a)if(!(s in t)&&!a[s].optional)throw new TypeError(`Missing field: "${s}"`);var i=r();for(s in a)a[s].write(i,t[s]);return null!==e&&e.push(n,i),i},readValueFromPointer:ce,destructorFunction:n}]})},H:(e,t,r,n,s)=>{t=we(t);const a=0n===n;let i=e=>e;if(a){const e=8*r;i=t=>BigInt.asUintN(e,t),s=i(s)}be(e,{name:t,fromWireType:i,toWireType:(e,t)=>("number"==typeof t&&(t=BigInt(t)),t),readValueFromPointer:_e(t,r,!a),destructorFunction:null})},db:(e,t,r,n)=>{be(e,{name:t=we(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},readValueFromPointer:function(e){return this.fromWireType(m[e])},destructorFunction:null})},i:(e,t,r,n,s,a,i,o,l,u,c,h,d)=>{c=we(c),a=Xe(s,a),o&&(o=Xe(i,o)),u&&(u=Xe(l,u)),d=Xe(h,d);var m=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);De(m,function(){Ke(`Cannot construct ${c} due to unbound types`,[n])}),ge([e,t,r],n?[n]:[],t=>{var r,s,i;t=t[0],i=n?(s=t.registeredClass).instancePrototype:ke.prototype;var l=Se(c,function(...e){if(Object.getPrototypeOf(this)!==h)throw new ve(`Use 'new' to construct ${c}`);if(void 0===f.constructor_body)throw new ve(`${c} has no accessible constructor`);var t=f.constructor_body[e.length];if(void 0===t)throw new ve(`Tried to invoke ctor of ${c} with invalid number of parameters (${e.length}) - expected (${Object.keys(f.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)}),h=Object.create(i,{constructor:{value:l}});l.prototype=h;var f=new Le(c,l,h,d,s,a,o,u);f.baseClass&&((r=f.baseClass).__derivedClasses??(r.__derivedClasses=[]),f.baseClass.__derivedClasses.push(f));var p=new Ue(c,f,!0,!1,!1),g=new Ue(c+"*",f,!1,!1,!1),w=new Ue(c+" const*",f,!1,!0,!1);return Ae[e]={pointerType:g,constPointerType:w},He(m,l),[p,g,w]})},h:(e,t,r,n,s,a,i,o,l)=>{var u=Ze(r,n);t=we(t),t=et(t),a=Xe(s,a,o),ge([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function s(){Ke(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var l=e.registeredClass.constructor;return void 0===l[t]?(s.argCount=r-1,l[t]=s):(Fe(l,t,n),l[t].overloadTable[r-1]=s),ge([],u,s=>{var u=[s[0],null].concat(s.slice(1)),c=Ye(n,u,null,a,i,o);if(void 0===l[t].overloadTable?(c.argCount=r-1,l[t]=c):l[t].overloadTable[r-1]=c,e.registeredClass.__derivedClasses)for(const r of e.registeredClass.__derivedClasses)r.constructor.hasOwnProperty(t)||(r.constructor[t]=c);return[]}),[]})},v:(e,t,r,n,s,a)=>{var i=Ze(t,r);s=Xe(n,s),ge([],[e],e=>{var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new ve(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Ke(`Cannot construct ${e.name} due to unbound types`,i)},ge([],i,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Ye(r,n,null,s,a),[])),[]})},a:(e,t,r,n,s,a,i,o,l,u)=>{var c=Ze(r,n);t=we(t),t=et(t),a=Xe(s,a,l),ge([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function s(){Ke(`Cannot call ${n} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,h=u[t];return void 0===h||void 0===h.overloadTable&&h.className!==e.name&&h.argCount===r-2?(s.argCount=r-2,s.className=e.name,u[t]=s):(Fe(u,t,n),u[t].overloadTable[r-2]=s),ge([],c,s=>{var o=Ye(n,s,e,a,i,l);return void 0===u[t].overloadTable?(o.argCount=r-2,u[t]=o):u[t].overloadTable[r-2]=o,[]}),[]})},g:(e,t,r,n,s,a,i,o,l,u)=>{t=we(t),s=Xe(n,s),ge([],[e],e=>{var n=`${(e=e[0]).name}.${t}`,c={get(){Ke(`Cannot access ${n} due to unbound types`,[r,i])},enumerable:!0,configurable:!0};return c.set=l?()=>Ke(`Cannot access ${n} due to unbound types`,[r,i]):e=>ye(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,t,c),ge([],l?[r,i]:[r],r=>{var i=r[0],c={get(){var t=tt(this,e,n+" getter");return i.fromWireType(s(a,t))},enumerable:!0};if(l){l=Xe(o,l);var h=r[1];c.set=function(t){var r=tt(this,e,n+" setter"),s=[];l(u,r,h.toWireType(s,t)),ue(s)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,c),[]}),[]})},bb:e=>be(e,it),B:(e,t,r,n)=>{function s(){}t=we(t),s.values={},be(e,{name:t,constructor:s,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,readValueFromPointer:ot(t,r,n),destructorFunction:null}),De(t,s)},o:(e,t,r)=>{var n=lt(e,"enum");t=we(t);var s=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:Se(`${n.name}_${t}`,function(){})}});s.values[r]=a,s[t]=a},G:(e,t,r)=>{be(e,{name:t=we(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:ct(t,r),destructorFunction:null})},I:(e,t,r,n,s,a,i,o)=>{var l=Ze(t,r);e=we(e),e=et(e),s=Xe(n,s,i),De(e,function(){Ke(`Cannot call ${e} due to unbound types`,l)},t-1),ge([],l,r=>{var n=[r[0],null].concat(r.slice(1));return He(e,Ye(e,n,null,s,a,i),t-1),[]})},p:(e,t,r,n,s)=>{t=we(t);let a=e=>e;if(0===n){var i=32-8*r;a=e=>e<<i>>>i,s=a(s)}be(e,{name:t,fromWireType:a,toWireType:(e,t)=>t,readValueFromPointer:_e(t,r,0!==n),destructorFunction:null})},j:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function s(e){var t=w[e>>2],r=w[e+4>>2];return new n(d.buffer,r,t)}be(e,{name:r=we(r),fromWireType:s,readValueFromPointer:s},{ignoreDuplicateRegistrations:!0})},y:(e,t)=>{be(e,ht)},n:(e,t,r,n,s,a,i,o,l,u,c,h)=>{r=we(r),a=Xe(s,a),o=Xe(i,o),u=Xe(l,u),h=Xe(c,h),ge([e],[t],e=>(e=e[0],[new Ue(r,e.registeredClass,!1,!1,!0,e,n,a,o,u,h)]))},cb:(e,t)=>{be(e,{name:t=we(t),fromWireType(e){var t,r=w[e>>2];return t=ae(e+4,r,!0),Es(e),t},toWireType(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||ArrayBuffer.isView(t)&&1==t.BYTES_PER_ELEMENT||ye("Cannot pass non-string to std::string"),r=n?X(t):t.length;var s=_s(4+r+1),a=s+4;return w[s>>2]=r,n?oe(t,a,r+1):m.set(t,a),null!==e&&e.push(Es,s),s},readValueFromPointer:ce,destructorFunction(e){Es(e)}})},D:(e,t,r)=>{var n,s,a;r=we(r),2===t?(n=mt,s=ft,a=pt):(n=gt,s=wt,a=vt),be(e,{name:r,fromWireType:e=>{var r=w[e>>2],s=n(e+4,r*t,!0);return Es(e),s},toWireType:(e,n)=>{"string"!=typeof n&&ye(`Cannot pass non-string to C++ string type ${r}`);var i=a(n),o=_s(4+i+t);return w[o>>2]=i/t,s(n,o+4,i+t),null!==e&&e.push(Es,o),o},readValueFromPointer:ce,destructorFunction(e){Es(e)}})},t:(e,t,r,n,s,a)=>{le[e]={name:we(t),rawConstructor:Xe(r,n),rawDestructor:Xe(s,a),fields:[]}},l:(e,t,r,n,s,a,i,o,l,u)=>{le[e].fields.push({fieldName:we(t),getterReturnType:r,getter:Xe(n,s),getterContext:a,setterArgumentType:i,setter:Xe(o,l),setterContext:u})},eb:(e,t)=>{be(e,{isVoid:!0,name:t=we(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},c:(e,t,r)=>{var[n,...s]=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=lt(w[t+4*n>>2],`parameter ${n}`);return r})(e,t),a=n.toWireType.bind(n),i=s.map(e=>e.readValueFromPointer.bind(e));e--;var o,l={toValue:at.toValue},u=i.map((e,t)=>{var r=`argFromPtr${t}`;return l[r]=e,`${r}(args${t?"+"+8*t:""})`});switch(r){case 0:o="toValue(handle)";break;case 2:o="new (toValue(handle))";break;case 3:o="";break;case 1:l.getStringOrSymbol=Et,o="toValue(handle)[getStringOrSymbol(methodName)]"}o+=`(${u})`,n.isVoid||(l.toReturnWire=a,l.emval_returnValue=bt,o=`return emval_returnValue(toReturnWire, destructorsRef, ${o})`),o=`return function (handle, methodName, destructorsRef, args) {\n ${o}\n }`;var c,h,d=new Function(Object.keys(l),o)(...Object.values(l)),m=`methodCaller<(${s.map(e=>e.name)}) => ${n.name}>`;return c=Se(m,d),h=yt.length,yt.push(c),h},d:st,F:(e,t)=>(e=at.toValue(e))==(t=at.toValue(t)),x:e=>0===e?at.toHandle(xt()):(e=Et(e),at.toHandle(xt()[e])),k:e=>(e=Et(e),at.toHandle(t[e])),q:(e,t)=>(e=at.toValue(e),t=at.toValue(t),at.toHandle(e[t])),f:e=>{e>9&&(nt[e+1]+=1)},_a:(e,t)=>(e=at.toValue(e))instanceof(t=at.toValue(t)),b:(e,t,r,n,s)=>yt[e](t,r,n,s),ab:()=>at.toHandle([]),s:e=>at.toHandle(Et(e)),$a:()=>at.toHandle({}),e:e=>{var t=at.toValue(e);ue(t),st(e)},C:(e,t,r)=>{e=at.toValue(e),t=at.toValue(t),r=at.toValue(r),e[t]=r},ib:function(e,t,r){if(!((n=e)>=0&&n<=3))return 28;var n,s;s=0===e?Date.now():performance.now();var a=Math.round(1e3*s*1e3);return b[r>>3]=BigInt(a),0},M:(e,t,r)=>{var n=Tt(e);if(!n)return-4;g[t>>2]=n.width,g[r>>2]=n.height},Za:St,Ya:At,Wa:Ft,Va:Dt,uc:Lt,Ua:$t,Ta:Mt,Sa:Rt,zb:Gt,xb:Nt,Ra:jt,Qa:Vt,Ab:Wt,Pa:Ut,Oa:zt,sb:Ht,Na:Xt,Ma:qt,La:Jt,Ka:Kt,Ja:Qt,Ia:Yt,Ha:Zt,Ga:er,Fa:tr,Ea:rr,Da:nr,Ca:sr,Ba:ar,Aa:ir,za:or,ya:lr,xa:ur,wa:cr,va:hr,ua:dr,tb:mr,ta:fr,sa:gr,wb:vr,ra:yr,qa:br,pa:_r,oa:Er,na:xr,ma:Ir,la:Pr,ka:Tr,ub:Cr,ja:kr,ia:Sr,ha:Ar,ga:Fr,fa:Dr,ea:Lr,da:$r,ba:Mr,aa:Rr,yb:Gr,vb:Or,ca:Nr,Bb:jr,W:Ur,$:zr,_:Hr,Z:Xr,Y:qr,X:Jr,V:Kr,U:Qr,T:Yr,S:Zr,R:en,Q:tn,P:nn,O:sn,wc:an,xc:ln,yc:un,N:cn,Xa:hn,tc:dn,sc:mn,rc:fn,qc:pn,pc:yn,oc:bn,rb:_n,nc:En,mc:xn,lc:In,kc:Pn,jc:Tn,ic:Cn,hc:kn,gc:Sn,fc:An,ec:Fn,dc:Dn,cc:Ln,bc:$n,ac:Mn,$b:Bn,_b:On,Zb:Nn,Yb:Vn,Xb:Wn,Wb:Un,Vb:zn,Ub:Hn,Tb:Xn,Sb:qn,Rb:Jn,Qb:Kn,Pb:Qn,Ob:Yn,Nb:Zn,Mb:es,vc:ts,Lb:rs,Kb:ns,Jb:ss,Ib:as,Hb:is,Gb:os,Fb:ls,Eb:us,Db:cs,Cb:hs,qb:ds,jb:e=>{var t=m.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var s=t*(1+.2/n);s=Math.min(s,e+100663296);var a=Math.min(r,ms(Math.max(e,s),65536));if(fs(a))return!0}return!1},E:gs,A:e=>{kt.currentContext==e&&(kt.currentContext=0),kt.deleteContext(e)},r:ws,m:e=>kt.makeContextCurrent(e)?0:-5,z:function(e){try{var t=ie.getStreamFromFD(e);return se.close(t),0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return e.errno}},nb:function(e,t,r,n){try{var s=((e,t,r,n)=>{for(var s=0,a=0;a<r;a++){var i=w[t>>2],o=w[t+4>>2];t+=8;var l=se.read(e,d,i,o,n);if(l<0)return-1;if(s+=l,l<o)break;void 0!==n&&(n+=l)}return s})(ie.getStreamFromFD(e),t,r);return w[n>>2]=s,0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return e.errno}},mb:function(e,t,r,n){var s;t=(s=t)<-9007199254740992||s>9007199254740992?NaN:Number(s);try{if(isNaN(t))return 61;var a=ie.getStreamFromFD(e);return se.llseek(a,t,r),b[n>>3]=BigInt(a.position),a.getdents&&0===t&&0===r&&(a.getdents=null),0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return e.errno}},J:function(e,t,r,n){try{var s=((e,t,r,n)=>{for(var s=0,a=0;a<r;a++){var i=w[t>>2],o=w[t+4>>2];t+=8;var l=se.write(e,d,i,o,n);if(l<0)return-1;if(s+=l,l<o)break;void 0!==n&&(n+=l)}return s})(ie.getStreamFromFD(e),t,r);return w[n>>2]=s,0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return e.errno}}};return Is=await async function(){function e(e,r){var n;return Is=e.exports,h=Is.zc,C(),ze=Is.Cc,bs=(n=Is).Bc,t._malloc=_s=n.Dc,t._free=Es=n.Ec,Is}var r={a:Ps};return t.instantiateWasm?new Promise((n,s)=>{t.instantiateWasm(r,(t,r)=>{n(e(t))})}):(E??(E=S()),e((await F(l,E,r)).instance))}(),function e(){function r(){t.calledRun=!0,P||(T=!0,t.noFSInit||se.initialized||se.init(),Is.Ac(),se.ignorePermissions=!1,u?.(t),t.onRuntimeInitialized?.(),function(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)$(t.postRun.shift());D(L)}())}ee>0?te=e:(!function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)R(t.preRun.shift());D(M)}(),ee>0?te=e:t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),r()},1)):r())}(),T?t:new Promise((e,t)=>{u=e,c=t})}class ht{constructor(){this.executing=!1,this.queue=[]}exec(e,t,...r){return new Promise((n,s)=>{this.queue.push({fn:async()=>{if(e)try{const s=await e.call(t,...r);n(s)}catch(e){s(e)}else s(new Error("Function is null!"))}}),this.executing||this.execNextTask()})}execNextTask(){if(this.queue.length<1)return void(this.executing=!1);this.executing=!0;this.queue.shift().fn().then(()=>{this.execNextTask()})}}e.PAGInit=(e={})=>ct(e).then(e=>(ot(e),e.webAssemblyQueue=new ht,e.globalCanvas=new e.GlobalCanvas,e.PAGFont.registerFallbackFontNames(),e)).catch(e=>{throw console.error(e),new Error("PAGInit fail! Please check .wasm file path valid.")}),e.types=p,Object.defineProperty(e,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=libpag.min.js.map