onnxruntime-web
Version:
A Javascript library for running ONNX models on browsers
11 lines • 403 kB
JavaScript
/*!
* ONNX Runtime Web v1.24.3
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
var Wn=Object.defineProperty;var gf=Object.getOwnPropertyDescriptor;var yf=Object.getOwnPropertyNames;var bf=Object.prototype.hasOwnProperty;var Gn=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var V=(t,e)=>()=>(t&&(e=t(t=0)),e);var Vt=(t,e)=>{for(var r in e)Wn(t,r,{get:e[r],enumerable:!0})},wf=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of yf(e))!bf.call(t,o)&&o!==r&&Wn(t,o,{get:()=>e[o],enumerable:!(n=gf(e,o))||n.enumerable});return t};var Yt=t=>wf(Wn({},"__esModule",{value:!0}),t);var $r,Et,kt,_f,za,Hn=V(()=>{"use strict";$r=new Map,Et=[],kt=(t,e,r)=>{if(e&&typeof e.init=="function"&&typeof e.createInferenceSessionHandler=="function"){let n=$r.get(t);if(n===void 0)$r.set(t,{backend:e,priority:r});else{if(n.priority>r)return;if(n.priority===r&&n.backend!==e)throw new Error(`cannot register backend "${t}" using priority ${r}`)}if(r>=0){let o=Et.indexOf(t);o!==-1&&Et.splice(o,1);for(let i=0;i<Et.length;i++)if($r.get(Et[i]).priority<=r){Et.splice(i,0,t);return}Et.push(t)}return}throw new TypeError("not a valid backend")},_f=async t=>{let e=$r.get(t);if(!e)return"backend not found.";if(e.initialized)return e.backend;if(e.aborted)return e.error;{let r=!!e.initPromise;try{return r||(e.initPromise=e.backend.init(t)),await e.initPromise,e.initialized=!0,e.backend}catch(n){return r||(e.error=`${n}`,e.aborted=!0),e.error}finally{delete e.initPromise}}},za=async t=>{let e=t.executionProviders||[],r=e.map(d=>typeof d=="string"?d:d.name),n=r.length===0?Et:r,o,i=[],s=new Set;for(let d of n){let c=await _f(d);typeof c=="string"?i.push({name:d,err:c}):(o||(o=c),o===c&&s.add(d))}if(!o)throw new Error(`no available backend found. ERR: ${i.map(d=>`[${d.name}] ${d.err}`).join(", ")}`);for(let{name:d,err:c}of i)r.includes(d)&&console.warn(`removing requested execution provider "${d}" from session options because it is not available: ${c}`);let u=e.filter(d=>s.has(typeof d=="string"?d:d.name));return[o,new Proxy(t,{get:(d,c)=>c==="executionProviders"?u:Reflect.get(d,c)})]}});var Da=V(()=>{"use strict";Hn()});var Ba,Ma=V(()=>{"use strict";Ba="1.24.3"});var Ra,ke,Fn=V(()=>{"use strict";Ma();Ra="warning",ke={wasm:{},webgl:{},webgpu:{},versions:{common:Ba},set logLevel(t){if(t!==void 0){if(typeof t!="string"||["verbose","info","warning","error","fatal"].indexOf(t)===-1)throw new Error(`Unsupported logging level: ${t}`);Ra=t}},get logLevel(){return Ra}};Object.defineProperty(ke,"logLevel",{enumerable:!0})});var ye,Ua=V(()=>{"use strict";Fn();ye=ke});var Na,Va,La=V(()=>{"use strict";Na=(t,e)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=t.dims[3],r.height=t.dims[2];let n=r.getContext("2d");if(n!=null){let o,i;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(o=t.dims[2],i=t.dims[3]):(o=t.dims[3],i=t.dims[2]);let s=e?.format!==void 0?e.format:"RGB",u=e?.norm,d,c;u===void 0||u.mean===void 0?d=[255,255,255,255]:typeof u.mean=="number"?d=[u.mean,u.mean,u.mean,u.mean]:(d=[u.mean[0],u.mean[1],u.mean[2],0],u.mean[3]!==void 0&&(d[3]=u.mean[3])),u===void 0||u.bias===void 0?c=[0,0,0,0]:typeof u.bias=="number"?c=[u.bias,u.bias,u.bias,u.bias]:(c=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(c[3]=u.bias[3]));let p=i*o,m=0,g=p,b=p*2,y=-1;s==="RGBA"?(m=0,g=p,b=p*2,y=p*3):s==="RGB"?(m=0,g=p,b=p*2):s==="RBG"&&(m=0,b=p,g=p*2);for(let w=0;w<i;w++)for(let S=0;S<o;S++){let x=(t.data[m++]-c[0])*d[0],$=(t.data[g++]-c[1])*d[1],T=(t.data[b++]-c[2])*d[2],I=y===-1?255:(t.data[y++]-c[3])*d[3];n.fillStyle="rgba("+x+","+$+","+T+","+I+")",n.fillRect(S,w,1,1)}if("toDataURL"in r)return r.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},Va=(t,e)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let o,i,s;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(o=t.dims[2],i=t.dims[1],s=t.dims[3]):(o=t.dims[3],i=t.dims[2],s=t.dims[1]);let u=e!==void 0&&e.format!==void 0?e.format:"RGB",d=e?.norm,c,p;d===void 0||d.mean===void 0?c=[255,255,255,255]:typeof d.mean=="number"?c=[d.mean,d.mean,d.mean,d.mean]:(c=[d.mean[0],d.mean[1],d.mean[2],255],d.mean[3]!==void 0&&(c[3]=d.mean[3])),d===void 0||d.bias===void 0?p=[0,0,0,0]:typeof d.bias=="number"?p=[d.bias,d.bias,d.bias,d.bias]:(p=[d.bias[0],d.bias[1],d.bias[2],0],d.bias[3]!==void 0&&(p[3]=d.bias[3]));let m=i*o;if(e!==void 0&&(e.format!==void 0&&s===4&&e.format!=="RGBA"||s===3&&e.format!=="RGB"&&e.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let g=4,b=0,y=1,w=2,S=3,x=0,$=m,T=m*2,I=-1;u==="RGBA"?(x=0,$=m,T=m*2,I=m*3):u==="RGB"?(x=0,$=m,T=m*2):u==="RBG"&&(x=0,T=m,$=m*2),n=r.createImageData(o,i);for(let E=0;E<i*o;b+=g,y+=g,w+=g,S+=g,E++)n.data[b]=(t.data[x++]-p[0])*c[0],n.data[y]=(t.data[$++]-p[1])*c[1],n.data[w]=(t.data[T++]-p[2])*c[2],n.data[S]=I===-1?255:(t.data[I++]-p[3])*c[3]}else throw new Error("Can not access image data");return n}});var qn,Wa,Ga,Ha,Fa,qa,Ka=V(()=>{"use strict";xr();qn=(t,e)=>{if(t===void 0)throw new Error("Image buffer must be defined");if(e.height===void 0||e.width===void 0)throw new Error("Image height and width must be defined");if(e.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=e,o=e.norm??{mean:255,bias:0},i,s;typeof o.mean=="number"?i=[o.mean,o.mean,o.mean,o.mean]:i=[o.mean[0],o.mean[1],o.mean[2],o.mean[3]??255],typeof o.bias=="number"?s=[o.bias,o.bias,o.bias,o.bias]:s=[o.bias[0],o.bias[1],o.bias[2],o.bias[3]??0];let u=e.format!==void 0?e.format:"RGBA",d=e.tensorFormat!==void 0&&e.tensorFormat!==void 0?e.tensorFormat:"RGB",c=r*n,p=d==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),m=4,g=0,b=1,y=2,w=3,S=0,x=c,$=c*2,T=-1;u==="RGB"&&(m=3,g=0,b=1,y=2,w=-1),d==="RGBA"?T=c*3:d==="RBG"?(S=0,$=c,x=c*2):d==="BGR"&&($=0,x=c,S=c*2);for(let E=0;E<c;E++,g+=m,y+=m,b+=m,w+=m)p[S++]=(t[g]+s[0])/i[0],p[x++]=(t[b]+s[1])/i[1],p[$++]=(t[y]+s[2])/i[2],T!==-1&&w!==-1&&(p[T++]=(t[w]+s[3])/i[3]);return d==="RGBA"?new De("float32",p,[1,4,r,n]):new De("float32",p,[1,3,r,n])},Wa=async(t,e)=>{let r=typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement,n=typeof ImageData<"u"&&t instanceof ImageData,o=typeof ImageBitmap<"u"&&t instanceof ImageBitmap,i=typeof t=="string",s,u=e??{},d=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},c=p=>typeof HTMLCanvasElement<"u"&&p instanceof HTMLCanvasElement||p instanceof OffscreenCanvas?p.getContext("2d"):null;if(r){let p=d();p.width=t.width,p.height=t.height;let m=c(p);if(m!=null){let g=t.height,b=t.width;if(e!==void 0&&e.resizedHeight!==void 0&&e.resizedWidth!==void 0&&(g=e.resizedHeight,b=e.resizedWidth),e!==void 0){if(u=e,e.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");u.tensorFormat="RGBA",u.height=g,u.width=b}else u.tensorFormat="RGBA",u.height=g,u.width=b;m.drawImage(t,0,0),s=m.getImageData(0,0,b,g).data}else throw new Error("Can not access image data")}else if(n){let p,m;if(e!==void 0&&e.resizedWidth!==void 0&&e.resizedHeight!==void 0?(p=e.resizedHeight,m=e.resizedWidth):(p=t.height,m=t.width),e!==void 0&&(u=e),u.format="RGBA",u.height=p,u.width=m,e!==void 0){let g=d();g.width=m,g.height=p;let b=c(g);if(b!=null)b.putImageData(t,0,0),s=b.getImageData(0,0,m,p).data;else throw new Error("Can not access image data")}else s=t.data}else if(o){if(e===void 0)throw new Error("Please provide image config with format for Imagebitmap");let p=d();p.width=t.width,p.height=t.height;let m=c(p);if(m!=null){let g=t.height,b=t.width;return m.drawImage(t,0,0,b,g),s=m.getImageData(0,0,b,g).data,u.height=g,u.width=b,qn(s,u)}else throw new Error("Can not access image data")}else{if(i)return new Promise((p,m)=>{let g=d(),b=c(g);if(!t||!b)return m();let y=new Image;y.crossOrigin="Anonymous",y.src=t,y.onload=()=>{g.width=y.width,g.height=y.height,b.drawImage(y,0,0,g.width,g.height);let w=b.getImageData(0,0,g.width,g.height);u.height=g.height,u.width=g.width,p(qn(w.data,u))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(s!==void 0)return qn(s,u);throw new Error("Input data provided is not supported - aborted tensor creation")},Ga=(t,e)=>{let{width:r,height:n,download:o,dispose:i}=e,s=[1,n,r,4];return new De({location:"texture",type:"float32",texture:t,dims:s,download:o,dispose:i})},Ha=(t,e)=>{let{dataType:r,dims:n,download:o,dispose:i}=e;return new De({location:"gpu-buffer",type:r??"float32",gpuBuffer:t,dims:n,download:o,dispose:i})},Fa=(t,e)=>{let{dataType:r,dims:n,download:o,dispose:i}=e;return new De({location:"ml-tensor",type:r??"float32",mlTensor:t,dims:n,download:o,dispose:i})},qa=(t,e,r)=>new De({location:"cpu-pinned",type:t,data:e,dims:r??[e.length]})});var Pt,Xt,ja,Za,Qa=V(()=>{"use strict";Pt=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Xt=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),ja=!1,Za=()=>{if(!ja){ja=!0;let t=typeof BigInt64Array<"u"&&BigInt64Array.from,e=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;t&&(Pt.set("int64",BigInt64Array),Xt.set(BigInt64Array,"int64")),e&&(Pt.set("uint64",BigUint64Array),Xt.set(BigUint64Array,"uint64")),n?(Pt.set("float16",r),Xt.set(r,"float16")):Pt.set("float16",Uint16Array)}}});var Ya,Xa,Ja=V(()=>{"use strict";xr();Ya=t=>{let e=1;for(let r=0;r<t.length;r++){let n=t[r];if(typeof n!="number"||!Number.isSafeInteger(n))throw new TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);e*=n}return e},Xa=(t,e)=>{switch(t.location){case"cpu":return new De(t.type,t.data,e);case"cpu-pinned":return new De({location:"cpu-pinned",data:t.data,type:t.type,dims:e});case"texture":return new De({location:"texture",texture:t.texture,type:t.type,dims:e});case"gpu-buffer":return new De({location:"gpu-buffer",gpuBuffer:t.gpuBuffer,type:t.type,dims:e});case"ml-tensor":return new De({location:"ml-tensor",mlTensor:t.mlTensor,type:t.type,dims:e});default:throw new Error(`tensorReshape: tensor location ${t.location} is not supported`)}}});var De,xr=V(()=>{"use strict";La();Ka();Qa();Ja();De=class{constructor(e,r,n){Za();let o,i;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,o=e.type,i=e.dims,e.location){case"cpu-pinned":{let u=Pt.get(o);if(!u)throw new TypeError(`unsupported type "${o}" to create tensor from pinned buffer`);if(!(e.data instanceof u))throw new TypeError(`buffer should be of type ${u.name}`);this.cpuData=e.data;break}case"texture":{if(o!=="float32")throw new TypeError(`unsupported type "${o}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(o!=="float32"&&o!=="float16"&&o!=="int32"&&o!=="int64"&&o!=="uint32"&&o!=="uint8"&&o!=="bool"&&o!=="uint4"&&o!=="int4")throw new TypeError(`unsupported type "${o}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(o!=="float32"&&o!=="float16"&&o!=="int32"&&o!=="int64"&&o!=="uint32"&&o!=="uint64"&&o!=="int8"&&o!=="uint8"&&o!=="bool"&&o!=="uint4"&&o!=="int4")throw new TypeError(`unsupported type "${o}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let u,d;if(typeof e=="string")if(o=e,d=n,e==="string"){if(!Array.isArray(r))throw new TypeError("A string tensor's data must be a string array.");u=r}else{let c=Pt.get(e);if(c===void 0)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(r)){if(e==="float16"&&c===Uint16Array||e==="uint4"||e==="int4")throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${c.name} as data.`);e==="uint64"||e==="int64"?u=c.from(r,BigInt):u=c.from(r)}else if(r instanceof c)u=r;else if(r instanceof Uint8ClampedArray)if(e==="uint8")u=Uint8Array.from(r);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&r instanceof Uint16Array&&c!==Uint16Array)u=new globalThis.Float16Array(r.buffer,r.byteOffset,r.length);else throw new TypeError(`A ${o} tensor's data must be type of ${c}`)}else if(d=r,Array.isArray(e)){if(e.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let c=typeof e[0];if(c==="string")o="string",u=e;else if(c==="boolean")o="bool",u=Uint8Array.from(e);else throw new TypeError(`Invalid element type of data array: ${c}.`)}else if(e instanceof Uint8ClampedArray)o="uint8",u=Uint8Array.from(e);else{let c=Xt.get(e.constructor);if(c===void 0)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);o=c,u=e}if(d===void 0)d=[u.length];else if(!Array.isArray(d))throw new TypeError("A tensor's dims must be a number array");i=d,this.cpuData=u,this.dataLocation="cpu"}let s=Ya(i);if(this.cpuData&&s!==this.cpuData.length&&!((o==="uint4"||o==="int4")&&Math.ceil(s/2)===this.cpuData.length))throw new Error(`Tensor's size(${s}) does not match data length(${this.cpuData.length}).`);this.type=o,this.dims=i,this.size=s}static async fromImage(e,r){return Wa(e,r)}static fromTexture(e,r){return Ga(e,r)}static fromGpuBuffer(e,r){return Ha(e,r)}static fromMLTensor(e,r){return Fa(e,r)}static fromPinnedBuffer(e,r,n){return qa(e,r,n)}toDataURL(e){return Na(this,e)}toImageData(e){return Va(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let r=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=r,e&&this.disposer&&(this.disposer(),this.disposer=void 0),r}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Xa(this,e)}}});var Ke,Kn=V(()=>{"use strict";xr();Ke=De});var Sr,es,Ne,Me,wt,_t,jn=V(()=>{"use strict";Fn();Sr=(t,e)=>{(typeof ke.trace>"u"?!ke.wasm.trace:!ke.trace)||console.timeStamp(`${t}::ORT::${e}`)},es=(t,e)=>{let r=new Error().stack?.split(/\r\n|\r|\n/g)||[],n=!1;for(let o=0;o<r.length;o++){if(n&&!r[o].includes("TRACE_FUNC")){let i=`FUNC_${t}::${r[o].trim().split(" ")[1]}`;e&&(i+=`::${e}`),Sr("CPU",i);return}r[o].includes("TRACE_FUNC")&&(n=!0)}},Ne=t=>{(typeof ke.trace>"u"?!ke.wasm.trace:!ke.trace)||es("BEGIN",t)},Me=t=>{(typeof ke.trace>"u"?!ke.wasm.trace:!ke.trace)||es("END",t)},wt=t=>{(typeof ke.trace>"u"?!ke.wasm.trace:!ke.trace)||console.time(`ORT::${t}`)},_t=t=>{(typeof ke.trace>"u"?!ke.wasm.trace:!ke.trace)||console.timeEnd(`ORT::${t}`)}});var Tr,ts=V(()=>{"use strict";Hn();Kn();jn();Tr=class t{constructor(e){this.handler=e}async run(e,r,n){Ne(),wt("InferenceSession.run");let o={},i={};if(typeof e!="object"||e===null||e instanceof Ke||Array.isArray(e))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let s=!0;if(typeof r=="object"){if(r===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof Ke)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(r.length===0)throw new TypeError("'fetches' cannot be an empty array.");s=!1;for(let c of r){if(typeof c!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(c)===-1)throw new RangeError(`'fetches' contains invalid output name: ${c}.`);o[c]=null}if(typeof n=="object"&&n!==null)i=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else{let c=!1,p=Object.getOwnPropertyNames(r);for(let m of this.outputNames)if(p.indexOf(m)!==-1){let g=r[m];(g===null||g instanceof Ke)&&(c=!0,s=!1,o[m]=g)}if(c){if(typeof n=="object"&&n!==null)i=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else i=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let c of this.inputNames)if(typeof e[c]>"u")throw new Error(`input '${c}' is missing in 'feeds'.`);if(s)for(let c of this.outputNames)o[c]=null;let u=await this.handler.run(e,o,i),d={};for(let c in u)if(Object.hasOwnProperty.call(u,c)){let p=u[c];p instanceof Ke?d[c]=p:d[c]=new Ke(p.type,p.data,p.dims)}return _t("InferenceSession.run"),Me(),d}async release(){return this.handler.dispose()}static async create(e,r,n,o){Ne(),wt("InferenceSession.create");let i,s={};if(typeof e=="string"){if(i=e,typeof r=="object"&&r!==null)s=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(e instanceof Uint8Array){if(i=e,typeof r=="object"&&r!==null)s=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer){let p=e,m=0,g=e.byteLength;if(typeof r=="object"&&r!==null)s=r;else if(typeof r=="number"){if(m=r,!Number.isSafeInteger(m))throw new RangeError("'byteOffset' must be an integer.");if(m<0||m>=p.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${p.byteLength}).`);if(g=e.byteLength-m,typeof n=="number"){if(g=n,!Number.isSafeInteger(g))throw new RangeError("'byteLength' must be an integer.");if(g<=0||m+g>p.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${p.byteLength-m}].`);if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else if(typeof n<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");i=new Uint8Array(p,m,g)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[u,d]=await za(s),c=await u.createInferenceSessionHandler(i,d);return _t("InferenceSession.create"),Me(),new t(c)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var vf,rs=V(()=>{"use strict";ts();vf=Tr});var ns=V(()=>{"use strict"});var os=V(()=>{"use strict"});var is=V(()=>{"use strict"});var as=V(()=>{"use strict"});var Zn={};Vt(Zn,{InferenceSession:()=>vf,TRACE:()=>Sr,TRACE_EVENT_BEGIN:()=>wt,TRACE_EVENT_END:()=>_t,TRACE_FUNC_BEGIN:()=>Ne,TRACE_FUNC_END:()=>Me,Tensor:()=>Ke,env:()=>ye,registerBackend:()=>kt});var Ve=V(()=>{"use strict";Da();Ua();rs();Kn();ns();os();jn();is();as()});var Ir=V(()=>{"use strict"});var ls={};Vt(ls,{default:()=>$f});var us,ds,$f,cs=V(()=>{"use strict";Qn();vt();Cr();us="ort-wasm-proxy-worker",ds=globalThis.self?.name===us;ds&&(self.onmessage=t=>{let{type:e,in:r}=t.data;try{switch(e){case"init-wasm":Ar(r.wasm).then(()=>{Er(r).then(()=>{postMessage({type:e})},n=>{postMessage({type:e,err:n})})},n=>{postMessage({type:e,err:n})});break;case"init-ep":{let{epName:n,env:o}=r;kr(o,n).then(()=>{postMessage({type:e})},i=>{postMessage({type:e,err:i})});break}case"copy-from":{let{buffer:n}=r,o=Jt(n);postMessage({type:e,out:o});break}case"create":{let{model:n,options:o}=r;Pr(n,o).then(i=>{postMessage({type:e,out:i})},i=>{postMessage({type:e,err:i})});break}case"release":Or(r),postMessage({type:e});break;case"run":{let{sessionId:n,inputIndices:o,inputs:i,outputIndices:s,options:u}=r;zr(n,o,i,s,new Array(s.length).fill(null),u).then(d=>{d.some(c=>c[3]!=="cpu")?postMessage({type:e,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:e,out:d},Br([...i,...d]))},d=>{postMessage({type:e,err:d})});break}case"end-profiling":Dr(r),postMessage({type:e});break;default:}}catch(n){postMessage({type:e,err:n})}});$f=ds?null:t=>new Worker(t??Le,{type:"module",name:us})});var ms={};Vt(ms,{default:()=>xf});async function ps(t={}){var e=t,r=!!globalThis.window,n=!!globalThis.WorkerGlobalScope,o=n&&self.name?.startsWith("em-pthread");e.mountExternalData=(a,l)=>{a.startsWith("./")&&(a=a.substring(2)),(e.Zc||(e.Zc=new Map)).set(a,l)},e.unmountExternalData=()=>{delete e.Zc},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,ae:!0}).buffer.constructor;let i=a=>async(...l)=>{try{if(e.$c)throw Error("Session already started");let h=e.$c={Nd:l[0],errors:[]},f=await a(...l);if(e.$c!==h)throw Error("Session mismatch");e.gd?.flush();let _=h.errors;if(0<_.length){let C=await Promise.all(_);if(C=C.filter(P=>P),0<C.length)throw Error(C.join(`
`))}return f}finally{e.$c=null}};e.jsepInit=(a,l)=>{if(a==="webgpu"){[e.gd,e.Dd,e.Hd,e.jd,e.Gd,e.ac,e.Id,e.Kd,e.Ed,e.Fd,e.Jd]=l;let h=e.gd;e.jsepRegisterBuffer=(f,_,C,P)=>h.registerBuffer(f,_,C,P),e.jsepGetBuffer=f=>h.getBuffer(f),e.jsepCreateDownloader=(f,_,C)=>h.createDownloader(f,_,C),e.jsepOnCreateSession=f=>{h.onCreateSession(f)},e.jsepOnReleaseSession=f=>{h.onReleaseSession(f)},e.jsepOnRunStart=f=>h.onRunStart(f),e.Ld=(f,_)=>{h.upload(f,_)}}else if(a==="webnn"){let h=l[0];[e.Zd,e.vd,e.webnnEnsureTensor,e.xd,e.webnnDownloadTensor,e.Yd,e.webnnEnableTraceEvent]=l.slice(1),e.webnnReleaseTensorId=e.vd,e.webnnUploadTensor=e.xd,e.webnnRegisterMLContext=e.Yd,e.webnnOnRunStart=f=>h.onRunStart(f),e.webnnOnRunEnd=h.onRunEnd.bind(h),e.webnnOnReleaseSession=f=>{h.onReleaseSession(f)},e.webnnCreateMLTensorDownloader=(f,_)=>h.createMLTensorDownloader(f,_),e.webnnRegisterMLTensor=(f,_,C,P)=>h.registerMLTensor(f,_,C,P),e.webnnCreateMLContext=f=>h.createMLContext(f),e.webnnRegisterMLConstant=(f,_,C,P,B,G)=>h.registerMLConstant(f,_,C,P,B,e.Zc,G),e.webnnRegisterGraphInput=h.registerGraphInput.bind(h),e.webnnIsGraphInput=h.isGraphInput.bind(h),e.webnnRegisterGraphOutput=h.registerGraphOutput.bind(h),e.webnnIsGraphOutput=h.isGraphOutput.bind(h),e.webnnCreateTemporaryTensor=h.createTemporaryTensor.bind(h),e.webnnIsGraphInputOutputTypeSupported=h.isGraphInputOutputTypeSupported.bind(h)}};let s=()=>{let a=l=>(...h)=>{let f=et;return h=l(...h),et!=f?new Promise((_,C)=>{En={resolve:_,reject:C}}):h};(()=>{for(let l of["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"])e[l]=a(e[l])})(),i!==void 0&&(e._OrtRun=i(e._OrtRun),e._OrtRunWithBinding=i(e._OrtRunWithBinding)),s=void 0};e.asyncInit=()=>{s?.()};var u,d,c=(a,l)=>{throw l},p=import.meta.url,m="";if(r||n){try{m=new URL(".",p).href}catch{}n&&(d=a=>{var l=new XMLHttpRequest;return l.open("GET",a,!1),l.responseType="arraybuffer",l.send(null),new Uint8Array(l.response)}),u=async a=>{if(z(a))return new Promise((h,f)=>{var _=new XMLHttpRequest;_.open("GET",a,!0),_.responseType="arraybuffer",_.onload=()=>{_.status==200||_.status==0&&_.response?h(_.response):f(_.status)},_.onerror=f,_.send(null)});var l=await fetch(a,{credentials:"same-origin"});if(l.ok)return l.arrayBuffer();throw Error(l.status+" : "+l.url)}}var g,b,y,w,S,x,$=console.log.bind(console),T=console.error.bind(console),I=$,E=T,A=!1,z=a=>a.startsWith("file://");function v(){ht.buffer!=N.buffer&&Te()}if(o){let a=function(l){try{var h=l.data,f=h.Uc;if(f==="load"){let _=[];self.onmessage=C=>_.push(C),x=()=>{postMessage({Uc:"loaded"});for(let C of _)a(C);self.onmessage=a};for(let C of h.Ad)e[C]&&!e[C].proxy||(e[C]=(...P)=>{postMessage({Uc:"callHandler",zd:C,args:P})},C=="print"&&(I=e[C]),C=="printErr"&&(E=e[C]));ht=h.Vd,Te(),b=h.Wd,Se(),vr()}else if(f==="run"){(function(_){var C=(v(),W)[_+52>>>2>>>0];_=(v(),W)[_+56>>>2>>>0],Wi(C,C-_),de(C)})(h.Tc),Dn(h.Tc,0,0,1,0,0),Go(),In(h.Tc),M||(Mi(),M=!0);try{op(h.Pd,h.dd)}catch(_){if(_!="unwind")throw _}}else h.target!=="setimmediate"&&(f==="checkMailbox"?M&&fr():f&&(E(`worker: received unknown command ${f}`),E(h)))}catch(_){throw Ri(),_}};var Yy=a,M=!1;self.onunhandledrejection=l=>{throw l.reason||l},self.onmessage=a}var N,K,q,Q,D,W,j,Y,Z,te,ie,we=!1;function Te(){var a=ht.buffer;e.HEAP8=N=new Int8Array(a),q=new Int16Array(a),e.HEAPU8=K=new Uint8Array(a),Q=new Uint16Array(a),e.HEAP32=D=new Int32Array(a),e.HEAPU32=W=new Uint32Array(a),j=new Float32Array(a),Y=new Float64Array(a),Z=new BigInt64Array(a),te=new BigUint64Array(a)}function re(){we=!0,o?x():ct.tb()}function U(a){throw E(a="Aborted("+a+")"),A=!0,a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info."),S?.(a),a}function X(){return{a:{ma:Em,hb:Am,g:ip,J:ap,f:sp,o:up,h:dp,ha:lp,b:cp,T:pp,Ia:Zo,n:mp,_:Jo,Ya:ei,Ea:ti,Ga:ri,Za:ni,Wa:oi,Pa:ii,Va:ai,ka:si,Fa:ui,Ca:di,Xa:li,Da:ci,cb:fp,ea:gp,xa:yp,va:wp,da:vp,O:$p,H:xp,wa:Sp,Z:Pp,ya:Op,Sa:zp,Aa:Bp,Ja:Mp,ta:Rp,fa:Up,Ra:In,$a:Np,R:Gp,s:jp,c:Sn,ib:Zp,y:Qp,M:Yp,D:Xp,m:Jp,t:wi,jb:em,I:tm,S:rm,j:nm,v:om,r:im,l:am,Ma:sm,Na:um,Oa:dm,Ka:xi,La:Si,ua:Ti,eb:cm,bb:fm,u:hm,aa:gm,ga:ym,ab:pm,V:bm,_a:wm,Ba:_m,F:lm,U:vm,la:wr,za:xm,gb:$m,fb:Sm,Ta:Ei,Ua:ki,Ha:wn,$:Pi,ja:Oi,Qa:zi,ia:Di,lb:mf,na:af,mb:pf,oa:of,G:Zm,d:zm,q:Pm,w:km,B:Gm,pb:tf,K:qm,x:Bm,pa:rf,X:sf,ba:ef,nb:cf,ob:lf,ra:Qm,qa:Jm,qb:Ym,N:Km,Y:nf,e:Dm,A:Mm,k:Om,kb:ff,p:Um,z:Nm,C:Rm,E:Vm,L:Hm,rb:jm,Q:uf,ca:Fm,W:df,sb:Wm,sa:Lm,P:Xm,i:Im,a:ht,db:dr}}}async function Se(){function a(f,_){var C=ct=f.exports;f={};for(let[P,B]of Object.entries(C))typeof B=="function"?(C=Vp(B),f[P]=C):f[P]=B;return ct=f,ct=function(){var P=ct,B=H=>ue=>H(ue)>>>0,G=H=>()=>H()>>>0;return(P=Object.assign({},P)).ub=B(P.ub),P.Yb=G(P.Yb),P._b=B(P._b),P.mc=B(P.mc),P.nc=G(P.nc),P.rc=B(P.rc),P}(),Lo.push(ct.$b),Bi=(f=ct).ub,Mi=f.vb,e._OrtInit=f.wb,e._OrtGetLastError=f.xb,e._OrtCreateSessionOptions=f.yb,e._OrtAppendExecutionProvider=f.zb,e._OrtAddFreeDimensionOverride=f.Ab,e._OrtAddSessionConfigEntry=f.Bb,e._OrtReleaseSessionOptions=f.Cb,e._OrtCreateSession=f.Db,e._OrtReleaseSession=f.Eb,e._OrtGetInputOutputCount=f.Fb,e._OrtGetInputOutputMetadata=f.Gb,e._OrtFree=f.Hb,e._OrtCreateTensor=f.Ib,e._OrtGetTensorData=f.Jb,e._OrtReleaseTensor=f.Kb,e._OrtCreateRunOptions=f.Lb,e._OrtAddRunConfigEntry=f.Mb,e._OrtReleaseRunOptions=f.Nb,e._OrtCreateBinding=f.Ob,e._OrtBindInput=f.Pb,e._OrtBindOutput=f.Qb,e._OrtClearBoundOutputs=f.Rb,e._OrtReleaseBinding=f.Sb,e._OrtRunWithBinding=f.Tb,e._OrtRun=f.Ub,e._OrtEndProfiling=f.Vb,e._JsepOutput=f.Wb,e._JsepGetNodeName=f.Xb,_r=f.Yb,tt=e._free=f.Zb,Zt=e._malloc=f._b,Dn=f.bc,Ri=f.cc,Ui=f.dc,Ni=f.ec,Bn=f.fc,Vi=f.gc,Li=f.hc,ce=f.ic,Qt=f.jc,Wi=f.kc,de=f.lc,Mn=f.mc,le=f.nc,Gi=f.oc,Rn=f.pc,Hi=f.qc,Fi=f.rc,qi=f.sc,Un=f.tc,Ki=f.uc,ji=f.vc,Zi=f.wc,Qi=f.xc,Yi=f.yc,Xi=f.zc,Ji=f.Ac,ea=f.Bc,ta=f.Cc,ra=f.Dc,na=f.Ec,oa=f.Fc,ia=f.Gc,aa=f.Hc,sa=f.Ic,ua=f.Jc,da=f.Kc,la=f.Lc,ca=f.Mc,pa=f.Nc,ma=f.Oc,fa=f.Pc,ha=f.Rc,ga=f.Sc,ya=f.bd,ba=f.cd,wa=f.hd,_a=f.kd,va=f.ld,$a=f.md,xa=f.nd,Sa=f.od,Ta=f.pd,Ia=f.qd,Ca=f.rd,Aa=f.wd,Ea=f.Rd,ka=f.Sd,Pa=f.Td,Oa=f.Ud,b=_,ct}var l,h=X();return e.instantiateWasm?new Promise(f=>{e.instantiateWasm(h,(_,C)=>{f(a(_,C))})}):o?a(new WebAssembly.Instance(b,X()),b):(ie??=e.locateFile?e.locateFile?e.locateFile("ort-wasm-simd-threaded.jsep.wasm",m):m+"ort-wasm-simd-threaded.jsep.wasm":new URL("ort-wasm-simd-threaded.jsep.wasm",import.meta.url).href,l=await async function(f){var _=ie;if(!g&&!z(_))try{var C=fetch(_,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(C,f)}catch(P){E(`wasm streaming compile failed: ${P}`),E("falling back to ArrayBuffer instantiation")}return async function(P,B){try{var G=await async function(H){if(!g)try{var ue=await u(H);return new Uint8Array(ue)}catch{}if(H==ie&&g)H=new Uint8Array(g);else{if(!d)throw"both async and sync fetching of the wasm failed";H=d(H)}return H}(P);return await WebAssembly.instantiate(G,B)}catch(H){E(`failed to asynchronously prepare wasm: ${H}`),U(H)}}(_,f)}(h),a(l.instance,l.module))}class Be{name="ExitStatus";constructor(l){this.message=`Program terminated with exit(${l})`,this.status=l}}var ze=a=>{a.terminate(),a.onmessage=()=>{}},Xe=[],Ce=0,$e=null,Fe=a=>{ft.length==0&&(Fo(),Ho(ft[0]));var l=ft.pop();if(!l)return 6;Kt.push(l),It[a.Tc]=l,l.Tc=a.Tc;var h={Uc:"run",Pd:a.Od,dd:a.dd,Tc:a.Tc};return l.postMessage(h,a.ud),0},Ue=0,ve=(a,l,...h)=>{var f,_=16*h.length,C=le(),P=Mn(_),B=P>>>3;for(f of h)typeof f=="bigint"?((v(),Z)[B++>>>0]=1n,(v(),Z)[B++>>>0]=f):((v(),Z)[B++>>>0]=0n,(v(),Y)[B++>>>0]=f);return a=Ui(a,0,_,P,l),de(C),a};function dr(a){if(o)return ve(0,1,a);if(y=a,!(0<Ue)){for(var l of Kt)ze(l);for(l of ft)ze(l);ft=[],Kt=[],It={},A=!0}c(0,new Be(a))}function Vo(a){if(o)return ve(1,0,a);wn(a)}var wn=a=>{if(y=a,o)throw Vo(a),"unwind";dr(a)},ft=[],Kt=[],Lo=[],It={},Wo=a=>{var l=a.Tc;delete It[l],ft.push(a),Kt.splice(Kt.indexOf(a),1),a.Tc=0,Ni(l)};function Go(){Lo.forEach(a=>a())}var Ho=a=>new Promise(l=>{a.onmessage=_=>{var C=_.data;if(_=C.Uc,C.ad&&C.ad!=_r()){var P=It[C.ad];P?P.postMessage(C,C.ud):E(`Internal error! Worker sent a message "${_}" to target pthread ${C.ad}, but that thread no longer exists!`)}else _==="checkMailbox"?fr():_==="spawnThread"?Fe(C):_==="cleanupThread"?mr(()=>{Wo(It[C.Qd])}):_==="loaded"?(a.loaded=!0,l(a)):C.target==="setimmediate"?a.postMessage(C):_==="uncaughtException"?a.onerror(C.error):_==="callHandler"?e[C.zd](...C.args):_&&E(`worker sent an unknown command ${_}`)},a.onerror=_=>{throw E(`worker sent an error! ${_.filename}:${_.lineno}: ${_.message}`),_};var h,f=[];for(h of[])e.propertyIsEnumerable(h)&&f.push(h);a.postMessage({Uc:"load",Ad:f,Vd:ht,Wd:b})});function Fo(){var a=new Worker((()=>{let l=URL;return import.meta.url>"file:"&&import.meta.url<"file;"?new l("ort.bundle.min.mjs",import.meta.url):new URL(import.meta.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});ft.push(a)}var ht,op=(a,l)=>{Ue=0,a=Un(a,l),0<Ue?y=a:Bn(a)},lr=[],cr=0;function ip(a){var l=new _n(a>>>=0);return(v(),N)[l.Vc+12>>>0]==0&&(qo(l,!0),cr--),Ko(l,!1),lr.push(l),Fi(a)}var Ut=0,ap=()=>{ce(0,0);var a=lr.pop();Gi(a.ed),Ut=0};function qo(a,l){l=l?1:0,(v(),N)[a.Vc+12>>>0]=l}function Ko(a,l){l=l?1:0,(v(),N)[a.Vc+13>>>0]=l}class _n{constructor(l){this.ed=l,this.Vc=l-24}}var vn=a=>{var l=Ut;if(!l)return Qt(0),0;var h=new _n(l);(v(),W)[h.Vc+16>>>2>>>0]=l;var f=(v(),W)[h.Vc+4>>>2>>>0];if(!f)return Qt(0),l;for(var _ of a){if(_===0||_===f)break;if(Hi(_,f,h.Vc+16))return Qt(_),l}return Qt(f),l};function sp(){return vn([])}function up(a){return vn([a>>>0])}function dp(a,l,h,f){return vn([a>>>0,l>>>0,h>>>0,f>>>0])}var lp=()=>{var a=lr.pop();a||U("no exception to throw");var l=a.ed;throw(v(),N)[a.Vc+13>>>0]==0&&(lr.push(a),Ko(a,!0),qo(a,!1),cr++),Rn(l),Ut=l};function cp(a,l,h){var f=new _n(a>>>=0);throw l>>>=0,h>>>=0,(v(),W)[f.Vc+16>>>2>>>0]=0,(v(),W)[f.Vc+4>>>2>>>0]=l,(v(),W)[f.Vc+8>>>2>>>0]=h,Rn(a),cr++,Ut=a}var pp=()=>cr;function jo(a,l,h,f){return o?ve(2,1,a,l,h,f):Zo(a,l,h,f)}function Zo(a,l,h,f){if(a>>>=0,l>>>=0,h>>>=0,f>>>=0,!globalThis.SharedArrayBuffer)return 6;var _=[];return o&&_.length===0?jo(a,l,h,f):(a={Od:h,Tc:a,dd:f,ud:_},o?(a.Uc="spawnThread",postMessage(a,_),0):Fe(a))}function mp(a){throw Ut||=a>>>0,Ut}var Qo=globalThis.TextDecoder&&new TextDecoder,Yo=(a,l,h,f)=>{if(h=l+h,f)return h;for(;a[l]&&!(l>=h);)++l;return l},Xo=(a,l=0,h,f)=>{if(16<(h=Yo(a,l>>>=0,h,f))-l&&a.buffer&&Qo)return Qo.decode(a.buffer instanceof ArrayBuffer?a.subarray(l,h):a.slice(l,h));for(f="";l<h;){var _=a[l++];if(128&_){var C=63&a[l++];if((224&_)==192)f+=String.fromCharCode((31&_)<<6|C);else{var P=63&a[l++];65536>(_=(240&_)==224?(15&_)<<12|C<<6|P:(7&_)<<18|C<<12|P<<6|63&a[l++])?f+=String.fromCharCode(_):(_-=65536,f+=String.fromCharCode(55296|_>>10,56320|1023&_))}}else f+=String.fromCharCode(_)}return f},Ae=(a,l,h)=>(a>>>=0)?Xo((v(),K),a,l,h):"";function Jo(a,l,h){return o?ve(3,1,a,l,h):0}function ei(a,l){if(o)return ve(4,1,a,l)}function ti(a,l){if(o)return ve(5,1,a,l)}function ri(a,l,h){if(o)return ve(6,1,a,l,h)}function ni(a,l,h){return o?ve(7,1,a,l,h):0}function oi(a,l){if(o)return ve(8,1,a,l)}function ii(a,l,h){if(o)return ve(9,1,a,l,h)}function ai(a,l,h,f){if(o)return ve(10,1,a,l,h,f)}function si(a,l,h,f){if(o)return ve(11,1,a,l,h,f)}function ui(a,l,h,f){if(o)return ve(12,1,a,l,h,f)}function di(a){if(o)return ve(13,1,a)}function li(a,l){if(o)return ve(14,1,a,l)}function ci(a,l,h){if(o)return ve(15,1,a,l,h)}var fp=()=>U(""),Je=a=>{a>>>=0;for(var l="";;){var h=(v(),K)[a++>>>0];if(!h)return l;l+=String.fromCharCode(h)}},$n={},xn={},hp={},Nt=class extends Error{constructor(a){super(a),this.name="BindingError"}};function lt(a,l,h={}){return function(f,_,C={}){var P=_.name;if(!f)throw new Nt(`type "${P}" must have a positive integer typeid pointer`);if(xn.hasOwnProperty(f)){if(C.Bd)return;throw new Nt(`Cannot register type '${P}' twice`)}xn[f]=_,delete hp[f],$n.hasOwnProperty(f)&&(_=$n[f],delete $n[f],_.forEach(B=>B()))}(a,l,h)}var pi=(a,l,h)=>{switch(l){case 1:return h?f=>(v(),N)[f>>>0]:f=>(v(),K)[f>>>0];case 2:return h?f=>(v(),q)[f>>>1>>>0]:f=>(v(),Q)[f>>>1>>>0];case 4:return h?f=>(v(),D)[f>>>2>>>0]:f=>(v(),W)[f>>>2>>>0];case 8:return h?f=>(v(),Z)[f>>>3>>>0]:f=>(v(),te)[f>>>3>>>0];default:throw new TypeError(`invalid integer width (${l}): ${a}`)}};function gp(a,l,h,f,_){a>>>=0,h>>>=0,l=Je(l>>>0);let C=P=>P;if(f=f===0n){let P=8*h;C=B=>BigInt.asUintN(P,B),_=C(_)}lt(a,{name:l,Qc:C,Xc:(P,B)=>(typeof B=="number"&&(B=BigInt(B)),B),Wc:pi(l,h,!f),Yc:null})}function yp(a,l,h,f){lt(a>>>=0,{name:l=Je(l>>>0),Qc:function(_){return!!_},Xc:function(_,C){return C?h:f},Wc:function(_){return this.Qc((v(),K)[_>>>0])},Yc:null})}var mi=[],Ct=[0,1,,1,null,1,!0,1,!1,1];function Sn(a){9<(a>>>=0)&&--Ct[a+1]==0&&(Ct[a]=void 0,mi.push(a))}var Ge=a=>{if(!a)throw new Nt(`Cannot use deleted val. handle = ${a}`);return Ct[a]},qe=a=>{switch(a){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let l=mi.pop()||Ct.length;return Ct[l]=a,Ct[l+1]=1,l}};function Tn(a){return this.Qc((v(),W)[a>>>2>>>0])}var bp={name:"emscripten::val",Qc:a=>{var l=Ge(a);return Sn(a),l},Xc:(a,l)=>qe(l),Wc:Tn,Yc:null};function wp(a){return lt(a>>>0,bp)}var _p=(a,l)=>{switch(l){case 4:return function(h){return this.Qc((v(),j)[h>>>2>>>0])};case 8:return function(h){return this.Qc((v(),Y)[h>>>3>>>0])};default:throw new TypeError(`invalid float width (${l}): ${a}`)}};function vp(a,l,h){h>>>=0,lt(a>>>=0,{name:l=Je(l>>>0),Qc:f=>f,Xc:(f,_)=>_,Wc:_p(l,h),Yc:null})}function $p(a,l,h,f,_){a>>>=0,h>>>=0,l=Je(l>>>0);let C=B=>B;if(f===0){var P=32-8*h;C=B=>B<<P>>>P,_=C(_)}lt(a,{name:l,Qc:C,Xc:(B,G)=>G,Wc:pi(l,h,f!==0),Yc:null})}function xp(a,l,h){function f(C){var P=(v(),W)[C>>>2>>>0];return C=(v(),W)[C+4>>>2>>>0],new _((v(),N).buffer,C,P)}var _=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][l];lt(a>>>=0,{name:h=Je(h>>>0),Qc:f,Wc:f},{Bd:!0})}var gt=(a,l,h)=>{var f=(v(),K);if(l>>>=0,0<h){var _=l;h=l+h-1;for(var C=0;C<a.length;++C){var P=a.codePointAt(C);if(127>=P){if(l>=h)break;f[l++>>>0]=P}else if(2047>=P){if(l+1>=h)break;f[l++>>>0]=192|P>>6,f[l++>>>0]=128|63&P}else if(65535>=P){if(l+2>=h)break;f[l++>>>0]=224|P>>12,f[l++>>>0]=128|P>>6&63,f[l++>>>0]=128|63&P}else{if(l+3>=h)break;f[l++>>>0]=240|P>>18,f[l++>>>0]=128|P>>12&63,f[l++>>>0]=128|P>>6&63,f[l++>>>0]=128|63&P,C++}}f[l>>>0]=0,a=l-_}else a=0;return a},pr=a=>{for(var l=0,h=0;h<a.length;++h){var f=a.charCodeAt(h);127>=f?l++:2047>=f?l+=2:55296<=f&&57343>=f?(l+=4,++h):l+=3}return l};function Sp(a,l){lt(a>>>=0,{name:l=Je(l>>>0),Qc(h){var f=(v(),W)[h>>>2>>>0];return f=Ae(h+4,f,!0),tt(h),f},Xc(h,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var _=typeof f=="string";if(!(_||ArrayBuffer.isView(f)&&f.BYTES_PER_ELEMENT==1))throw new Nt("Cannot pass non-string to std::string");var C=_?pr(f):f.length,P=Zt(4+C+1),B=P+4;return(v(),W)[P>>>2>>>0]=C,_?gt(f,B,C+1):(v(),K).set(f,B>>>0),h!==null&&h.push(tt,P),P},Wc:Tn,Yc(h){tt(h)}})}var fi=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Tp=(a,l,h)=>{if(a>>>=1,16<(l=Yo((v(),Q),a,l/2,h))-a&&fi)return fi.decode((v(),Q).slice(a,l));for(h="";a<l;++a){var f=(v(),Q)[a>>>0];h+=String.fromCharCode(f)}return h},Ip=(a,l,h)=>{if(h??=2147483647,2>h)return 0;var f=l;h=(h-=2)<2*a.length?h/2:a.length;for(var _=0;_<h;++_){var C=a.charCodeAt(_);(v(),q)[l>>>1>>>0]=C,l+=2}return(v(),q)[l>>>1>>>0]=0,l-f},Cp=a=>2*a.length,Ap=(a,l,h)=>{var f="";a>>>=2;for(var _=0;!(_>=l/4);_++){var C=(v(),W)[a+_>>>0];if(!C&&!h)break;f+=String.fromCodePoint(C)}return f},Ep=(a,l,h)=>{if(l>>>=0,h??=2147483647,4>h)return 0;var f=l;h=f+h-4;for(var _=0;_<a.length;++_){var C=a.codePointAt(_);if(65535<C&&_++,(v(),D)[l>>>2>>>0]=C,(l+=4)+4>h)break}return(v(),D)[l>>>2>>>0]=0,l-f},kp=a=>{for(var l=0,h=0;h<a.length;++h)65535<a.codePointAt(h)&&h++,l+=4;return l};function Pp(a,l,h){if(a>>>=0,l>>>=0,h=Je(h>>>=0),l===2)var f=Tp,_=Ip,C=Cp;else f=Ap,_=Ep,C=kp;lt(a,{name:h,Qc:P=>{var B=(v(),W)[P>>>2>>>0];return B=f(P+4,B*l,!0),tt(P),B},Xc:(P,B)=>{if(typeof B!="string")throw new Nt(`Cannot pass non-string to C++ string type ${h}`);var G=C(B),H=Zt(4+G+l);return(v(),W)[H>>>2>>>0]=G/l,_(B,H+4,G+l),P!==null&&P.push(tt,H),H},Wc:Tn,Yc(P){tt(P)}})}function Op(a,l){lt(a>>>=0,{Cd:!0,name:l=Je(l>>>0),Qc:()=>{},Xc:()=>{}})}function zp(a){Dn(a>>>0,!n,1,!r,131072,!1),Go()}var mr=a=>{if(!A)try{if(a(),!(0<Ue))try{o?_r()&&Bn(y):wn(y)}catch(l){l instanceof Be||l=="unwind"||c(0,l)}}catch(l){l instanceof Be||l=="unwind"||c(0,l)}},Dp=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function In(a){a>>>=0,Dp||(Atomics.waitAsync((v(),D),a>>>2,a).value.then(fr),a+=128,Atomics.store((v(),D),a>>>2,1))}var fr=()=>mr(()=>{var a=_r();a&&(In(a),Li())});function Bp(a,l){(a>>>=0)==l>>>0?setTimeout(fr):o?postMessage({ad:a,Uc:"checkMailbox"}):(a=It[a])&&a.postMessage({Uc:"checkMailbox"})}var Cn=[];function Mp(a,l,h,f,_){for(l>>>=0,_>>>=0,Cn.length=0,h=_>>>3,f=_+f>>>3;h<f;){var C;C=(v(),Z)[h++>>>0]?(v(),Z)[h++>>>0]:(v(),Y)[h++>>>0],Cn.push(C)}return(l?Nn[l]:Cm[a])(...Cn)}var Rp=()=>{Ue=0};function Up(a){a>>>=0,o?postMessage({Uc:"cleanupThread",Qd:a}):Wo(It[a])}function Np(a){}var hr=a=>{try{a()}catch(l){U(l)}};function Vp(a){var l=(...h)=>{gr.push(a);try{return a(...h)}finally{A||(gr.pop(),et&&yt===1&&gr.length===0&&(yt=0,Ue+=1,hr(ka),typeof Fibers<"u"&&Fibers.ce()))}};return yi.set(a,l),l}var yt=0,et=null,hi=0,gr=[],An=new Map,gi=new Map,yi=new Map,Lp=0,En=null,Wp=[],bi=a=>function(l){if(!A){if(yt===0){var h=!1,f=!1;l((_=0)=>{if(!A&&(hi=_,h=!0,f)){yt=2,hr(()=>Pa(et)),typeof MainLoop<"u"&&MainLoop.yd&&MainLoop.resume(),_=!1;try{var C=function(){var G=(v(),D)[et+8>>>2>>>0];return G=gi.get(G),G=yi.get(G),--Ue,G()}()}catch(G){C=G,_=!0}var P=!1;if(!et){var B=En;B&&(En=null,(_?B.reject:B.resolve)(C),P=!0)}if(_&&!P)throw C}}),f=!0,h||(yt=1,et=function(){var _=Zt(65548),C=_+12;if((v(),W)[_>>>2>>>0]=C,(v(),W)[_+4>>>2>>>0]=C+65536,C=gr[0],!An.has(C)){var P=Lp++;An.set(C,P),gi.set(P,C)}return C=An.get(C),(v(),D)[_+8>>>2>>>0]=C,_}(),typeof MainLoop<"u"&&MainLoop.yd&&MainLoop.pause(),hr(()=>Ea(et)))}else yt===2?(yt=0,hr(Oa),tt(et),et=null,Wp.forEach(mr)):U(`invalid state: ${yt}`);return hi}}(l=>{a().then(l)});function Gp(a){return a>>>=0,bi(async()=>{var l=await Ge(a);return qe(l)})}var kn=[],Hp=a=>{var l=kn.length;return kn.push(a),l},Fp=(a,l)=>{for(var h=Array(a),f=0;f<a;++f){var _=f,C=(v(),W)[l+4*f>>>2>>>0],P=xn[C];if(P===void 0)throw a=`parameter ${f}`,C=Bi(C),l=Je(C),tt(C),new Nt(`${a} has unknown type ${l}`);h[_]=P}return h},qp=(a,l,h)=>{var f=[];return a=a(f,h),f.length&&((v(),W)[l>>>2>>>0]=qe(f)),a},Kp={},yr=a=>{var l=Kp[a];return l===void 0?Je(a):l};function jp(a,l,h){var[f,..._]=Fp(a,l>>>0);l=f.Xc.bind(f);var C=_.map(G=>G.Wc.bind(G));a--;var P={toValue:Ge};switch(a=C.map((G,H)=>{var ue=`argFromPtr${H}`;return P[ue]=G,`${ue}(args${H?"+"+8*H:""})`}),h){case 0:var B="toValue(handle)";break;case 2:B="new (toValue(handle))";break;case 3:B="";break;case 1:P.getStringOrSymbol=yr,B="toValue(handle)[getStringOrSymbol(methodName)]"}return B+=`(${a})`,f.Cd||(P.toReturnWire=l,P.emval_returnValue=qp,B=`return emval_returnValue(toReturnWire, destructorsRef, ${B})`),B=`return function (handle, methodName, destructorsRef, args) {
${B}
}`,h=new Function(Object.keys(P),B)(...Object.values(P)),B=`methodCaller<(${_.map(G=>G.name)}) => ${f.name}>`,Hp(Object.defineProperty(h,"name",{value:B}))}function Zp(a,l){return l>>>=0,(a=Ge(a>>>0))==Ge(l)}function Qp(a){return(a>>>=0)?(a=yr(a),qe(globalThis[a])):qe(globalThis)}function Yp(a){return a=yr(a>>>0),qe(e[a])}function Xp(a,l){return l>>>=0,a=Ge(a>>>0),l=Ge(l),qe(a[l])}function Jp(a){9<(a>>>=0)&&(Ct[a+1]+=1)}function wi(a,l,h,f,_){return kn[a>>>0](l>>>0,h>>>0,f>>>0,_>>>0)}function em(a,l,h,f,_){return wi(a>>>0,l>>>0,h>>>0,f>>>0,_>>>0)}function tm(){return qe([])}function rm(a){a=Ge(a>>>0);for(var l=Array(a.length),h=0;h<a.length;h++)l[h]=a[h];return qe(l)}function nm(a){return qe(yr(a>>>0))}function om(){return qe({})}function im(a){for(var l=Ge(a>>>=0);l.length;){var h=l.pop();l.pop()(h)}Sn(a)}function am(a,l,h){l>>>=0,h>>>=0,a=Ge(a>>>0),l=Ge(l),h=Ge(h),a[l]=h}function sm(a,l){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a),l>>>=0,a=new Date(1e3*a),(v(),D)[l>>>2>>>0]=a.getUTCSeconds(),(v(),D)[l+4>>>2>>>0]=a.getUTCMinutes(),(v(),D)[l+8>>>2>>>0]=a.getUTCHours(),(v(),D)[l+12>>>2>>>0]=a.getUTCDate(),(v(),D)[l+16>>>2>>>0]=a.getUTCMonth(),(v(),D)[l+20>>>2>>>0]=a.getUTCFullYear()-1900,(v(),D)[l+24>>>2>>>0]=a.getUTCDay(),a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(v(),D)[l+28>>>2>>>0]=a}var _i=a=>a%4==0&&(a%100!=0||a%400==0),vi=[0,31,60,91,121,152,182,213,244,274,305,335],$i=[0,31,59,90,120,151,181,212,243,273,304,334];function um(a,l){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a),l>>>=0,a=new Date(1e3*a),(v(),D)[l>>>2>>>0]=a.getSeconds(),(v(),D)[l+4>>>2>>>0]=a.getMinutes(),(v(),D)[l+8>>>2>>>0]=a.getHours(),(v(),D)[l+12>>>2>>>0]=a.getDate(),(v(),D)[l+16>>>2>>>0]=a.getMonth(),(v(),D)[l+20>>>2>>>0]=a.getFullYear()-1900,(v(),D)[l+24>>>2>>>0]=a.getDay();var h=(_i(a.getFullYear())?vi:$i)[a.getMonth()]+a.getDate()-1|0;(v(),D)[l+28>>>2>>>0]=h,(v(),D)[l+36>>>2>>>0]=-60*a.getTimezoneOffset(),h=new Date(a.getFullYear(),6,1).getTimezoneOffset();var f=new Date(a.getFullYear(),0,1).getTimezoneOffset();a=0|(h!=f&&a.getTimezoneOffset()==Math.min(f,h)),(v(),D)[l+32>>>2>>>0]=a}function dm(a){a>>>=0;var l=new Date((v(),D)[a+20>>>2>>>0]+1900,(v(),D)[a+16>>>2>>>0],(v(),D)[a+12>>>2>>>0],(v(),D)[a+8>>>2>>>0],(v(),D)[a+4>>>2>>>0],(v(),D)[a>>>2>>>0],0),h=(v(),D)[a+32>>>2>>>0],f=l.getTimezoneOffset(),_=new Date(l.getFullYear(),6,1).getTimezoneOffset(),C=new Date(l.getFullYear(),0,1).getTimezoneOffset(),P=Math.min(C,_);return 0>h?(v(),D)[a+32>>>2>>>0]=+(_!=C&&P==f):0<h!=(P==f)&&(_=Math.max(C,_),l.setTime(l.getTime()+6e4*((0<h?P:_)-f))),(v(),D)[a+24>>>2>>>0]=l.getDay(),h=(_i(l.getFullYear())?vi:$i)[l.getMonth()]+l.getDate()-1|0,(v(),D)[a+28>>>2>>>0]=h,(v(),D)[a>>>2>>>0]=l.getSeconds(),(v(),D)[a+4>>>2>>>0]=l.getMinutes(),(v(),D)[a+8>>>2>>>0]=l.getHours(),(v(),D)[a+12>>>2>>>0]=l.getDate(),(v(),D)[a+16>>>2>>>0]=l.getMonth(),(v(),D)[a+20>>>2>>>0]=l.getYear(),a=l.getTime(),BigInt(isNaN(a)?-1:a/1e3)}function xi(a,l,h,f,_,C,P){return o?ve(16,1,a,l,h,f,_,C,P):-52}function Si(a,l,h,f,_,C){if(o)return ve(17,1,a,l,h,f,_,C)}var jt={},lm=()=>performance.timeOrigin+performance.now();function Ti(a,l){if(o)return ve(18,1,a,l);if(jt[a]&&(clearTimeout(jt[a].id),delete jt[a]),!l)return 0;var h=setTimeout(()=>{delete jt[a],mr(()=>Vi(a,performance.timeOrigin+performance.now()))},l);return jt[a]={id:h,be:l},0}function cm(a,l,h,f){a>>>=0,l>>>=0,h>>>=0,f>>>=0;var _=new Date().getFullYear(),C=new Date(_,0,1).getTimezoneOffset();_=new Date(_,6,1).getTimezoneOffset();var P=Math.max(C,_);(v(),W)[a>>>2>>>0]=60*P,(v(),D)[l>>>2>>>0]=+(C!=_),a=(l=B=>{var G=Math.abs(B);return`UTC${0<=B?"-":"+"}${String(Math.floor(G/60)).padStart(2,"0")}${String(G%60).padStart(2,"0")}`})(C),l=l(_),_<C?(gt(a,h,17),gt(l,f,17)):(gt(a,f,17),gt(l,h,17))}var pm=()=>Date.now(),mm=1;function fm(a,l,h){if(h>>>=0,!(0<=a&&3>=a))return 28;if(a===0)a=Date.now();else{if(!mm)return 52;a=performance.timeOrigin+performance.now()}return a=Math.round(1e6*a),(v(),Z)[h>>>3>>>0]=BigInt(a),0}var Pn=[],Ii=(a,l)=>{Pn.length=0;for(var h;h=(v(),K)[a++>>>0];){var f=h!=105;l+=(f&=h!=112)&&l%8?4:0,Pn.push(h==112?(v(),W)[l>>>2>>>0]:h==106?(v(),Z)[l>>>3>>>0]:h==105?(v(),D)[l>>>2>>>0]:(v(),Y)[l>>>3>>>0]),l+=f?8:4}return Pn};function hm(a,l,h){return a>>>=0,l=Ii(l>>>0,h>>>0),Nn[a](...l)}function gm(a,l,h){return a>>>=0,l=Ii(l>>>0,h>>>0),Nn[a](...l)}var ym=()=>{};function bm(a,l){return E(Ae(a>>>0,l>>>0))}var wm=()=>{throw Ue+=1,"unwind"};function _m(){return 4294901760}var vm=()=>navigator.hardwareConcurrency,At={},br=a=>{var l;return(l=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+l[1]:(l=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+l[1]:0},Ci=a=>{for(var l of a)(a=br(l))&&(At[a]=l)};function $m(){var a=Error().stack.toString().split(`
`);return a[0]=="Error"&&a.shift(),Ci(a),At.sd=br(a[3]),At.Md=a,At.sd}function wr(a){if(!(a=At[a>>>0]))return 0;var l;if(l=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=l[1];else if(l=/^\s+at (.*) \(.*\)$/.exec(a))a=l[1];else{if(!(l=/^(.+?)@/.exec(a)))return 0;a=l[1]}tt(wr.td??0),l=pr(a)+1;var h=Zt(l);return h&>(a,h,l),wr.td=h,wr.td}function xm(a){a>>>=0;var l=(v(),K).length;if(a<=l||4294901760<a)return!1;for(var h=1;4>=h;h*=2){var f=l*(1+.2/h);f=Math.min(f,a+100663296);e:{f=(Math.min(4294901760,65536*Math.ceil(Math.max(a,f)/65536))-ht.buffer.byteLength+65535)/65536|0;try{ht.grow(f),Te();var _=1;break e}catch{}_=void 0}if(_)return!0}return!1}function Sm(a,l,h){if(a>>>=0,l>>>=0,At.sd==a)var f=At.Md;else(f=Error().stack.toString().split(`
`))[0]=="Error"&&f.shift(),Ci(f);for(var _=3;f[_]&&br(f[_])!=a;)++_;for(a=0;a<h&&f[a+_];++a)(v(),D)[l+4*a>>>2>>>0]=br(f[a+_]);return a}var On,zn={},Ai=()=>{if(!On){var a,l={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(a in zn)zn[a]===void 0?delete l[a]:l[a]=zn[a];var h=[];for(a in l)h.push(`${a}=${l[a]}`);On=h}return On};function Ei(a,l){if(o)return ve(19,1,a,l);a>>>=0,l>>>=0;var h,f=0,_=0;for(h of Ai()){var C=l+f;(v(),W)[a+_>>>2>>>0]=C,f+=gt(h,C,1/0)+1,_+=4}return 0}function ki(a,l){if(o)return ve(20,1,a,l);a>>>=0,l>>>=0;var h=Ai();for(var f of((v(),W)[a>>>2>>>0]=h.length,a=0,h))a+=pr(f)+1;return(v(),W)[l>>>2>>>0]=a,0}function Pi(a){return o?ve(21,1,a):52}function Oi(a,l,h,f){return o?ve(22,1,a,l,h,f):52}function zi(a,l,h,f){return o?ve(23,1,a,l,h,f):70}var Tm=[null,[],[]];function Di(a,l,h,f){if(o)return ve(24,1,a,l,h,f);l>>>=0,h>>>=0,f>>>=0;for(var _=0,C=0;C<h;C++){var P=(v(),W)[l>>>2>>>0],B=(v(),W)[l+4>>>2>>>0];l+=8;for(var G=0;G<B;G++){var H=a,ue=(v(),K)[P+G>>>0],pe=Tm[H];ue===0||ue===10?((H===1?I:E)(Xo(pe)),pe.length=0):pe.push(ue)}_+=B}return(v(),W)[f>>>2>>>0]=_,0}function Im(a){return a>>>0}o||function(){for(var a=e.numThreads-1;a--;)Fo();Xe.push(async()=>{var l=async function(){if(!o)return Promise.all(ft.map(Ho))}();Ce++,await l,--Ce==0&&$e&&(l=$e,$e=null,l())})}(),o||(ht=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),Te()),e.wasmBinary&&(g=e.wasmBinary),e.stackSave=()=>le(),e.stackRestore=a=>de(a),e.stackAlloc=a=>Mn(a),e.setValue=function(a,l,h="i8"){switch(h.endsWith("*")&&(h="*"),h){case"i1":case"i8":(v(),N)[a>>>0]=l;break;case"i16":(v(),q)[a>>>1>>>0]=l;break;case"i32":(v(),D)[a>>>2>>>0]=l;break;case"i64":(v(),Z)[a>>>3>>>0]=BigInt(l);break;case"float":(v(),j)[a>>>2>>>0]=l;break;case"double":(v(),Y)[a>>>3>>>0]=l;break;case"*":(v(),W)[a>>>2>>>0]=l;break;default:U(`invalid type for setValue: ${h}`)}},e.getValue=function(a,l="i8"){switch(l.endsWith("*")&&(l="*"),l){case"i1":case"i8":return(v(),N)[a>>>0];case"i16":return(v(),q)[a>>>1>>>0];case"i32":return(v(),D)[a>>>2>>>0];case"i64":return(v(),Z)[a>>>3>>>0];case"float":return(v(),j)[a>>>2>>>0];case"double":return(v(),Y)[a>>>3>>>0];case"*":return(v(),W)[a>>>2>>>0];default:U(`invalid type for getValue: ${l}`)}},e.UTF8ToString=Ae,e.stringToUTF8=gt,e.lengthBytesUTF8=pr;var Bi,Mi,_r,tt,Zt,Dn,Ri,Ui,Ni,Bn