Spaces:
Running
Running
Initial deploy
Browse files- README.md +11 -5
- assets/model-url-LsIpDZ5m.js +0 -0
- assets/parity-OtuGNq8O.js +1 -0
- assets/snake-CUy0MTJY.css +1 -0
- assets/snake-Id5oVReI.js +1 -0
- fixtures/parity-multilingual.json +0 -0
- index.html +16 -17
- ort/ort-wasm-simd-threaded.asyncify.mjs +124 -0
- ort/ort-wasm-simd-threaded.asyncify.wasm +3 -0
- ort/ort-wasm-simd-threaded.jsep.mjs +108 -0
- ort/ort-wasm-simd-threaded.jsep.wasm +3 -0
- ort/ort-wasm-simd-threaded.jspi.mjs +120 -0
- ort/ort-wasm-simd-threaded.jspi.wasm +3 -0
- ort/ort-wasm-simd-threaded.mjs +59 -0
- ort/ort-wasm-simd-threaded.wasm +3 -0
- ort/ort.all.bundle.min.mjs +0 -0
- ort/ort.all.min.mjs +0 -0
- ort/ort.all.mjs +0 -0
- ort/ort.bundle.min.mjs +0 -0
- ort/ort.jspi.bundle.min.mjs +0 -0
- ort/ort.jspi.min.mjs +8 -0
- ort/ort.jspi.mjs +0 -0
- ort/ort.min.mjs +0 -0
- ort/ort.mjs +0 -0
- ort/ort.node.min.mjs +8 -0
- ort/ort.wasm.bundle.min.mjs +9 -0
- ort/ort.wasm.min.mjs +7 -0
- ort/ort.wasm.mjs +0 -0
- ort/ort.webgl.min.mjs +0 -0
- ort/ort.webgl.mjs +0 -0
- ort/ort.webgpu.bundle.min.mjs +0 -0
- ort/ort.webgpu.min.mjs +8 -0
- ort/ort.webgpu.mjs +0 -0
- parity.html +14 -0
- snake.html +94 -0
README.md
CHANGED
|
@@ -1,10 +1,16 @@
|
|
| 1 |
---
|
| 2 |
-
title: Laya
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Laya in the browser
|
| 3 |
+
emoji: 🐍
|
| 4 |
+
colorFrom: green
|
| 5 |
+
colorTo: gray
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
license: apache-2.0
|
| 9 |
+
models:
|
| 10 |
+
- mizchi/laya-multilingual-onnx
|
| 11 |
---
|
| 12 |
|
| 13 |
+
Typed decisions from a Laya checkpoint running in onnxruntime-web (WebGPU). Source and tests:
|
| 14 |
+
https://github.com/mizchi/laya-mlx (`web/`). The model is fetched from
|
| 15 |
+
https://huggingface.co/mizchi/laya-multilingual-onnx on first load and cached by the browser.
|
| 16 |
+
Desktop browsers with WebGPU (Chrome, Edge) are recommended; the wasm fallback is slow.
|
assets/model-url-LsIpDZ5m.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
assets/parity-OtuGNq8O.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
import{a as e,i as t,n,o as r,r as i}from"./model-url-LsIpDZ5m.js";function a(e,n){return{argmaxAgrees:t(e)===t(n),maxAbsError:e.reduce((e,t,r)=>Math.max(e,Math.abs(t-n[r])),0)}}var o=document.getElementById(`status`),s=document.getElementById(`report`),c=new URLSearchParams(location.search).get(`model`)??`https://huggingface.co/mizchi/laya-multilingual-onnx/resolve/main/`;async function l(){let t=await(await fetch(`/fixtures/parity-multilingual.json`)).json();o.textContent=`loading ${c}`;let{agent:l,provider:u}=await i(c,{wasmPaths:n,batchSize:64,onProgress:e=>{o.textContent=`${e.file}: ${(e.received/1e6).toFixed(0)} / ${e.total?(e.total/1e6).toFixed(0):`?`} MB`}});o.textContent=`running on ${u}`;let d={provider:u,questions:0,argmax_agreements:0,probability_max_abs_error:0,public_result_equal:0,timings_ms:{}};for(let n of t.cases){let i=performance.now(),o=await l.predict(n.state,n.questions);d.timings_ms[n.name]=Math.round(performance.now()-i),Object.keys(n.questions).forEach((i,s)=>{let c=n.items[s].markers.length,l=n.items[s].qtype,u=t.config.temperature_by_options[r(l,c)]??t.config.temperature[l],f=e(n.logits[s].slice(0,c).map(e=>e/Math.max(.001,u))),p=o.answers[i],{argmaxAgrees:m,maxAbsError:h}=a(f,p.type===`noul`?[1-p.noul,p.noul]:Object.values(p.probabilities));d.questions+=1,m&&(d.argmax_agreements+=1),d.probability_max_abs_error=Math.max(d.probability_max_abs_error,h)}),JSON.stringify(o)===JSON.stringify(n.result)&&(d.public_result_equal+=1)}return o.textContent=`done: ${d.argmax_agreements}/${d.questions} argmax on ${u}`,s.textContent=JSON.stringify(d,null,2),d}l().then(e=>console.log(`[laya] RESULT `+JSON.stringify(e))).catch(e=>{o.textContent=`ERROR ${String(e)}`,console.error(e)});
|
assets/snake-CUy0MTJY.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
:root{--bg:#0b1216;--fg:#dcfff0;--muted:#7b8a93;--dim:#13272e;--green:#7ef3b6;--amber:#f5c26b;--cyan:#7fd8f2;--red:#ff6b6b}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;padding:0 16px;font:14px ui-monospace,SFMono-Regular,Menlo,monospace}[hidden]{display:none}.muted{color:var(--muted)}.green{color:var(--green)}.amber{color:var(--amber)}.cyan{color:var(--cyan)}.red{color:var(--red)}.bar{border-bottom:1px solid var(--dim);justify-content:space-between;align-items:center;padding:10px 0;display:flex}footer.bar{border-bottom:none;border-top:1px solid var(--dim)}#state.green{color:var(--green)}#state.red{color:var(--red)}.layout{grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:16px 0;display:grid}@media (max-width:900px){.layout{grid-template-columns:1fr}}.board h1{letter-spacing:.1em;align-items:baseline;gap:16px;margin:16px 0 12px;font-size:20px;display:flex}.board canvas{max-width:100%;image-rendering:pixelated;border:1px solid var(--dim);display:block}.scores{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.scores>div{flex-direction:column;gap:4px;display:flex}.scores strong{font-size:28px;font-weight:400}.scores>div:first-child strong{color:var(--green)}.scores>div:nth-child(2) strong{color:var(--fg)}.scores>div:nth-child(3) strong{color:var(--muted)}.fill{align-items:center;gap:8px;margin-bottom:16px;display:flex}.fill .track{flex:1}.track{background:var(--dim);width:100%;height:10px;display:inline-block}#probs .track{width:18ch}.track .bar{background:var(--muted);width:0;height:100%;display:block}.controls{flex-wrap:wrap;gap:8px;display:flex}.controls button{background:var(--bg);color:var(--fg);border:1px solid var(--dim);font:inherit;cursor:pointer;padding:6px 10px}.controls button:hover{border-color:var(--green)}.controls button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}.panel h2{align-items:baseline;gap:12px;margin:16px 0 4px;font-size:18px;display:flex}.row{justify-content:space-between;align-items:center;gap:8px;margin:10px 0;display:flex}#probs{margin:0 0 8px;padding:0;list-style:none}#probs li{grid-template-columns:6ch 1fr 5ch;align-items:center;gap:8px;padding:4px 0;display:grid}#probs li .dir,#probs li .val{color:var(--muted)}#probs li.selected .dir,#probs li.selected .val{color:var(--green)}#probs li.selected .bar{background:var(--green)}.metric{align-items:center;gap:8px;margin:8px 0;display:flex}.metric .track{flex:1}.stats{grid-template-columns:auto 1fr;gap:4px 16px;margin:16px 0;display:grid}.stats dt{color:var(--muted)}.stats dd{text-align:right;margin:0}
|
assets/snake-Id5oVReI.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
import{n as e,r as t}from"./model-url-LsIpDZ5m.js";function n(e){let t=document.getElementById(e);if(!t)throw Error(`Missing element #${e}`);return t}async function r(n,r=3){let i=new URLSearchParams(location.search).get(`model`)??`https://huggingface.co/mizchi/laya-multilingual-onnx/resolve/main/`;n.status(`fetching model from ${i}`);let a=await t(i,{wasmPaths:e,batchSize:r,onProgress:e=>{let t=e=>(e/1e6).toFixed(0);n.status(e.total?`downloading model ${t(e.received)} / ${t(e.total)} MB`:`downloading model ${t(e.received)} MB`)}});return n.status(`ready on ${a.provider} · ${a.bundle.onnxConfig.dtype}`),a}function i(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}var a=[`UP`,`DOWN`,`LEFT`,`RIGHT`],o={UP:[0,-1],DOWN:[0,1],LEFT:[-1,0],RIGHT:[1,0]};function s(e){return e[0]*1e5+e[1]}function c(e,t){return(e%t+t)%t}function l(e,t){if(Math.min(e,t)<4||e%2!=0&&t%2!=0)throw Error(`Board dimensions must be >= 4, with at least one even dimension`);if(t%2!=0)return l(t,e).map(([e,t])=>[t,e]);let n=[[0,0]];for(let r=0;r<t;r++)if(r%2==0)for(let t=1;t<e;t++)n.push([t,r]);else for(let t=e-1;t>=1;t--)n.push([t,r]);for(let e=t-1;e>=1;e--)n.push([0,e]);return n}var u=class e{width;height;seed;cycle;capacity;indices;rng;body;food;score;ticks;alive;won;deathReason;constructor(e=24,t=16,n=7,r=6){if(this.width=e,this.height=t,this.seed=n,this.cycle=l(e,t),this.indices=new Map,this.cycle.forEach((e,t)=>this.indices.set(s(e),t)),this.capacity=e*t,!(r>=2&&r<this.capacity))throw Error(`Initial length must be >= 2 and smaller than the board`);this.rng=i(n);let a=this.indices.get(s([Math.floor(e/2),Math.floor(t/2)]));this.body=[];for(let e=0;e<r;e++){let t=this.cycle[c(a-e,this.capacity)];this.body.push(t)}this.score=0,this.ticks=0,this.alive=!0,this.won=!1,this.deathReason=null,this.food=this.spawnFood()}static fromSnapshot(t){let n=new e(t.width,t.height,t.seed,2);return n.body=t.body.map(e=>[e[0],e[1]]),n.food=t.food?[t.food[0],t.food[1]]:null,n.score=t.score,n.ticks=t.ticks,n.alive=t.alive,n.won=t.won,n.deathReason=t.death_reason,n}get head(){return this.body[0]}spawnFood(){let e=new Set(this.body.map(s)),t=this.cycle.filter(t=>!e.has(s(t)));return t.length===0?null:t[Math.floor(this.rng()*t.length)]}target(e){let[t,n]=o[e],[r,i]=this.head;return[r+t,i+n]}legalReason(e){let t=this.target(e),[n,r]=t;if(!(n>=0&&n<this.width&&r>=0&&r<this.height))return`wall`;let i=this.body[1];if(t[0]===i[0]&&t[1]===i[1])return`reverse`;let a=new Set(this.body.map(s));if(!(this.food&&t[0]===this.food[0]&&t[1]===this.food[1])){let e=this.body[this.body.length-1];a.delete(s(e))}return a.has(s(t))?`body`:`legal`}moves(){if(!this.alive||this.won)return[];let e=this.indices.get(s(this.head)),t=this.body[this.body.length-1],n=c(this.indices.get(s(t))-e,this.capacity),r=this.food,i=c(this.indices.get(s(r))-e,this.capacity),o=[];for(let t of a){let a=this.legalReason(t),l=a===`legal`,u=this.target(t),d=c((this.indices.get(s(u))??e)-e,this.capacity),f=u[0]===r[0]&&u[1]===r[1],p=l;p&&(d>n||d===n&&f)&&(p=!1,a=`would cross the tail`),p&&(d===0||d>i)&&(p=!1,a=`would skip the food on the safe route`),o.push({direction:t,legal:l,safe:p,advance:d,reason:a,eats:f})}return o}foodReachability(){let e=new Set(this.body.map(s));e.delete(s(this.head));let t=new Set([s(this.head)]),n=[this.head],r=0;for(;r<n.length;){let[i,a]=n[r];r++;for(let[r,c]of Object.values(o)){let o=[i+r,a+c],l=s(o);o[0]>=0&&o[0]<this.width&&o[1]>=0&&o[1]<this.height&&!e.has(l)&&!t.has(l)&&(t.add(l),n.push(o))}}return[!!this.food&&t.has(s(this.food)),t.size]}step(e,t=()=>this.spawnFood()){if(!this.alive||this.won)throw Error(`Cannot step a finished game`);this.ticks++;let n=this.legalReason(e);if(n!==`legal`)return this.alive=!1,this.deathReason=n,!1;let r=this.target(e);return this.body.unshift(r),this.food&&r[0]===this.food[0]&&r[1]===this.food[1]?(this.score++,this.body.length===this.capacity?(this.won=!0,this.food=null):this.food=t(),!0):(this.body.pop(),!1)}snapshot(){return{width:this.width,height:this.height,seed:this.seed,body:this.body.map(e=>[e[0],e[1]]),food:this.food?[this.food[0],this.food[1]]:null,score:this.score,length:this.body.length,ticks:this.ticks,alive:this.alive,won:this.won,death_reason:this.deathReason}}};function d(e){if(e.length===0)return`NONE`;let t=e[0];for(let n of e)n.advance>t.advance&&(t=n);return t.direction}function f(e,t,n,r,i){let a=t.filter(e=>e.safe),o=d(a);if(i===`compact`){let e=`Safe route: ${a.length?`yes`:`no`}. Food reachable through empty cells: ${n?`yes`:`no`}.`,r={};for(let e of t)r[e.direction]=e.legal?e.safe?e.eats?`Safe. Eat food now. Best.`:e.direction===o?`Safe. Best route to food.`:`Safe. Slower route.`:`Unsafe. Traps the snake.`:`Blocked. Collision.`;return{state:e,questions:{move:{type:`choice`,instructions:`Choose the best safe move toward food.`,criteria:r},risk:{type:`noul`,instructions:`Is a safe route available?`},food:{type:`noul`,instructions:`Is food reachable through empty cells?`}},preferred:o}}let s={};for(let e of t)s[e.direction]=e.legal?e.safe?e.eats?`Safe. Eat the food immediately. Best move.`:e.direction===o?`Safe. Best progress toward food.`:`Safe but less progress toward food.`:`Unsafe route. Risk of trapping the snake.`:`Collision: ${e.reason}. Unsafe.`;return{state:`Snake game. ${a.length} safe directions available. Food reachable through empty cells: ${n?`yes`:`no`}. Open cells: ${r}. Snake length: ${e.body.length}. ${a.length?`There is a safe route forward.`:`The snake is trapped.`}`,questions:{move:{type:`choice`,instructions:`Select the safest move with best progress toward food. Avoid collisions.`,criteria:s},risk:{type:`noul`,instructions:`Is there a safe route forward for the snake?`},food:{type:`noul`,instructions:`Is food reachable through the currently empty cells?`}},preferred:o}}function p(e,t){let n=e[0],r=t(n);for(let i of e){let e=t(i);e>r&&(r=e,n=i)}return n}function m(e,t,n){let r=p(a,t=>e[t]),i=n&&!t.includes(r)?p(t,t=>e[t]):r;return{proposed:r,executed:i,intervened:r!==i}}function h(e){return Number.isFinite(e)&&e>=0&&e<=1}async function g(e,t,n){let r=performance.now(),i=t.moves(),o=i.filter(e=>e.safe);if(o.length===0&&n.guarded)throw Error(`Cycle safety invariant violated: no safe action`);let[s,c]=t.foodReachability(),l=f(t,i,s,c,n.prompt),u=performance.now(),d=await e.predict(l.state,l.questions),p=performance.now()-u,g=d.answers.move;if(!g||g.type!==`choice`)throw Error(`Model returned an unexpected shape for the move answer`);let _=d.answers.risk;if(!_||_.type!==`noul`)throw Error(`Model returned an unexpected shape for the risk answer`);let v=d.answers.food;if(!v||v.type!==`noul`)throw Error(`Model returned an unexpected shape for the food answer`);let y={};for(let e of a)y[e]=g.probabilities[e]??NaN;if([...a.map(e=>y[e]),_.noul,v.noul].some(e=>!h(e)))throw Error(`Model returned an invalid probability; no move executed`);let b=o.map(e=>e.direction),x=m(y,b,n.guarded);return{probabilities:y,proposed:x.proposed,executed:x.executed,safeDirections:b,intervened:x.intervened,deadEndRisk:1-_.noul,foodReachable:v.noul,inferenceMs:p,decisionMs:performance.now()-r,inputTokens:d.usage.input_tokens,outputTokens:d.usage.output_tokens??0,safeCount:o.length,plannerBest:l.preferred}}var _=class{game;lastDecision=null;paused=!1;maxSpeed=!1;fps;stats;agent;settings;inFlight=null;recent=[];constructor(e,t){this.agent=e,this.settings=t,this.fps=t.fps,this.game=this.newGame(t.seed),this.stats={best:0,round:1,decisions:0,interventions:0,startedAt:performance.now(),decisionsPerSecond:0}}newGame(e){return new u(this.settings.width,this.settings.height,e,this.settings.initialLength)}get elapsedSeconds(){return(performance.now()-this.stats.startedAt)/1e3}get finished(){return!this.game.alive||this.game.won}togglePause(){this.paused=!this.paused}changeSpeed(e){this.fps=Math.min(240,Math.max(1,this.fps+e))}reset(){this.stats.round+=1,this.game=this.newGame(this.settings.seed+this.stats.round-1),this.lastDecision=null}tick(){return this.inFlight||=this.advance().finally(()=>{this.inFlight=null}),this.inFlight}async advance(){if(this.paused||this.finished)return;let e={guarded:this.settings.guarded,prompt:this.settings.prompt},t=await g(this.agent,this.game,e);this.lastDecision=t,this.game.step(t.executed),this.stats.decisions+=1,t.intervened&&(this.stats.interventions+=1),this.stats.best=Math.max(this.stats.best,this.game.score);let n=performance.now();this.recent.push(n),this.recent=this.recent.filter(e=>n-e<=1e3),this.stats.decisionsPerSecond=this.recent.length}delayAfter(e){return this.maxSpeed?0:Math.max(0,1e3/this.fps-(performance.now()-e))}};function v(e){return Array.isArray(e)?e.map(e=>[e,``]):Object.entries(e).map(([e,t])=>[e,String(t)])}function y(e,t){return t.includes(`Best`)?.7:t.startsWith(`Safe`)?.2:.05}function b(e,t){let n=v(e.criteria).map(([e,n])=>[e,t(e,n)]),r=n.reduce((e,[,t])=>e+t,0),i={},a=n[0]?.[0]??``,o=-1/0;for(let[e,t]of n)i[e]=t/r,t>o&&(o=t,a=e);return{type:`choice`,confidence:.5,action:{act_probability:1},choice:a,probabilities:i}}function x(e,t){let n=/yes/.test(String(t))?.9:.4;return{type:`noul`,confidence:n,action:{act_probability:1},noul:n}}function S(e){return{type:`score`,confidence:.5,action:{act_probability:1},score:0,legend:{},probabilities:{0:1}}}var C=class{probability;constructor(e={}){this.probability=e.probability??y}async predict(e,t){let n={};for(let[r,i]of Object.entries(t))n[r]=i.type===`choice`?b(i,this.probability):i.type===`noul`?x(i,e):S(i);let r=JSON.stringify(e).length+JSON.stringify(t).length;return{model:`laya-rl-agent`,answers:n,usage:{input_tokens:Math.ceil(r/4),output_tokens:0}}}},w=`#0b1216`,T=`#13272e`,E=`#dcfff0`,D=`#f5c26b`;function O(e){return e.toString().padStart(2,`0`)}function k(e){return e.toString().padStart(4,`0`)}function A(e){let t=Math.max(0,Math.floor(e));return`${O(Math.floor(t/60))}:${O(t%60)}`}function j(e,t){if(e===0)return E;let n=1-e/Math.max(1,t);return`rgb(${Math.round(18+64*n)}, ${Math.round(73+150*n)}, ${Math.round(57+102*n)})`}var M=class{ctx;cell;cols;rows;constructor(e,t,n){this.cols=t,this.rows=n;let r=e.parentElement?.clientWidth||e.width;this.cell=Math.max(4,Math.min(32,Math.floor(r/t),Math.floor(640/n))),e.width=this.cell*t,e.height=this.cell*n;let i=e.getContext(`2d`);if(!i)throw Error(`Canvas 2D context unavailable`);this.ctx=i}drawBoard(e){let{ctx:t,cell:n}=this,r=n*this.cols,i=n*this.rows;t.fillStyle=w,t.fillRect(0,0,r,i),t.fillStyle=T;for(let e=0;e<this.rows;e++)for(let r=0;r<this.cols;r++){let i=r*n+n/2,a=e*n+n/2;t.fillRect(i-1,a-1,2,2)}let a=e.body.length;for(let r=a-1;r>=0;r--){let[i,o]=e.body[r];t.fillStyle=j(r,a),t.fillRect(i*n,o*n,n,n)}if(e.food){let[r,i]=e.food;t.fillStyle=D,t.beginPath(),t.arc(r*n+n/2,i*n+n/2,n*.3,0,Math.PI*2),t.fill()}}render(e,t,r,i){this.drawBoard(e);let o=n(`state`);o.textContent=i.state,o.classList.remove(`green`,`red`),o.classList.add(e.alive?`green`:`red`),n(`round`).textContent=`ROUND ${O(r.round)}`,n(`score`).textContent=String(e.score),n(`length`).textContent=String(e.length),n(`best`).textContent=String(r.best);let s=e.width*e.height,c=s>0?100*e.length/s:0;n(`fill-bar`).style.width=`${c}%`,n(`fill-pct`).textContent=`${c.toFixed(1)}%`;let l=t?.probabilities;for(let e of a){let n=document.querySelector(`#probs li[data-dir="${e}"]`);if(!n)throw Error(`Missing element #probs li[data-dir="${e}"]`);let r=l?.[e]??0,i=n.querySelector(`.bar`),a=n.querySelector(`.val`);if(!i||!a)throw Error(`Malformed #probs row for ${e}`);i.style.width=`${100*r}%`,a.textContent=r.toFixed(2),n.classList.toggle(`selected`,t?.proposed===e)}n(`executing`).textContent=t?.executed??`—`;let u=n(`shield`);u.hidden=!t?.intervened;let d=t?.deadEndRisk??0,f=n(`risk-bar`);f.style.width=`${100*d}%`,f.classList.remove(`amber`,`red`),f.classList.add(d<.5?`amber`:`red`),n(`risk-val`).textContent=d.toFixed(2);let p=t?.foodReachable??0;n(`food-bar`).style.width=`${100*p}%`,n(`food-val`).textContent=p.toFixed(2),n(`inference`).textContent=`${(t?.inferenceMs??0).toFixed(1)} ms`,n(`rate`).textContent=`${r.decisionsPerSecond.toFixed(1)} /s`,n(`output-tokens`).textContent=String(t?.outputTokens??0),n(`engine`).textContent=i.engine,n(`engine-title`).textContent=i.engine.split(` · `)[0]??i.engine,n(`interventions`).textContent=k(r.interventions),n(`clock`).textContent=A(i.elapsedSeconds)}},N=1e3,P=100;function F(e){return new Promise(t=>setTimeout(t,e))}async function I(){let e=new URLSearchParams(location.search),t=Number(e.get(`width`)??24),i=Number(e.get(`height`)??16),a=Number(e.get(`seed`)??7),o=Number(e.get(`length`)??6),s=Number(e.get(`fps`)??12),c=!e.has(`unassisted`),l=e.get(`prompt`)===`detailed`?`detailed`:`compact`,u=e.has(`max-speed`),d=e.get(`model`),f=n(`loading`),p={status(e){f.textContent=e}},m,h;if(d===`stub`)p.status(`stub agent (no model)`),m=new C,h=`STUB · planner`;else{let e=await r(p);m=e.agent,h=`${e.provider===`webgpu`?`WebGPU`:`wasm`} · ${e.bundle.onnxConfig.dtype===`float16`?`FP16`:`FP32`}`}let g=document.getElementById(`board`);if(!(g instanceof HTMLCanvasElement))throw Error(`Missing canvas#board`);let v=new M(g,t,i),y=new _(m,{width:t,height:i,seed:a,initialLength:o,fps:s,guarded:c,prompt:l});y.maxSpeed=u;let b=n(`pause`),x=n(`max-speed`);x.setAttribute(`aria-pressed`,String(y.maxSpeed)),b.addEventListener(`click`,()=>y.togglePause()),n(`slower`).addEventListener(`click`,()=>y.changeSpeed(-2)),n(`faster`).addEventListener(`click`,()=>y.changeSpeed(2)),x.addEventListener(`click`,()=>{y.maxSpeed=!y.maxSpeed,x.setAttribute(`aria-pressed`,String(y.maxSpeed))}),n(`reset`).addEventListener(`click`,()=>y.reset()),window.addEventListener(`keydown`,e=>{e.code===`Space`?(e.preventDefault(),y.togglePause()):e.key===`ArrowUp`||e.key===`+`?(e.preventDefault(),y.changeSpeed(2)):e.key===`ArrowDown`||e.key===`-`?(e.preventDefault(),y.changeSpeed(-2)):(e.key===`r`||e.key===`R`)&&(e.preventDefault(),y.reset())});function S(){let e=y.paused?`PAUSED`:y.game.alive?y.game.won?`BOARD CLEAR`:`LIVE`:`GAME OVER`;v.render(y.game.snapshot(),y.lastDecision,y.stats,{engine:h,state:e,elapsedSeconds:y.elapsedSeconds}),document.body.dataset.ready=`1`}for(S();;){let e=performance.now();if(await y.tick(),S(),y.finished){await F(N),y.reset(),S();continue}await F(y.paused?P:y.delayAfter(e))}}I().catch(e=>{let t=`ERROR ${String(e)}`;n(`loading`).textContent=t;let r=n(`state`);r.textContent=`ERROR`,r.classList.remove(`green`),r.classList.add(`red`),console.error(e)});
|
fixtures/parity-multilingual.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
index.html
CHANGED
|
@@ -1,19 +1,18 @@
|
|
| 1 |
<!doctype html>
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
</body>
|
| 19 |
</html>
|
|
|
|
| 1 |
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<title>Laya in the browser</title>
|
| 6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 7 |
+
</head>
|
| 8 |
+
<body>
|
| 9 |
+
<h1>Laya in the browser</h1>
|
| 10 |
+
<p>Typed decisions from a Laya checkpoint, running in onnxruntime-web (WebGPU).</p>
|
| 11 |
+
<ul>
|
| 12 |
+
<li>
|
| 13 |
+
<a href="parity.html">Parity check</a> — runs the 63-question fixture through the model
|
| 14 |
+
</li>
|
| 15 |
+
<li><a href="snake.html">Snake</a> — Laya plays Snake with the cycle safety shield</li>
|
| 16 |
+
</ul>
|
| 17 |
+
</body>
|
|
|
|
| 18 |
</html>
|
ort/ort-wasm-simd-threaded.asyncify.mjs
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var g=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,m=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,n=ba&&self.name?.startsWith("em-pthread");if(m){const {createRequire:a}=await import("module");var require=a(import.meta.url),ca=require("worker_threads");global.Worker=ca.Worker;n=(ba=!ca.Qe)&&"em-pthread"==ca.workerData}g.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(g.ed||(g.ed=new Map)).set(a,b)};
|
| 2 |
+
g.unmountExternalData=()=>{delete g.ed;delete g.Te;delete g.Se;delete g.Ue};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor;
|
| 3 |
+
let ea=()=>{const a=b=>(...c)=>{const d=r;c=b(...c);return r!=d?da():c};(b=>{for(const c of b)g[c]=a(g[c])})(["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"]);"undefined"!==typeof jsepRunAsync&&(g._OrtRun=jsepRunAsync(g._OrtRun),g._OrtRunWithBinding=jsepRunAsync(g._OrtRunWithBinding));ea=void 0};g.asyncInit=()=>{ea?.()};var fa="./this.program",ha=(a,b)=>{throw b;},ia=import.meta.url,ka="",la,ma;
|
| 4 |
+
if(m){var fs=require("fs");ia.startsWith("file:")&&(ka=require("path").dirname(require("url").fileURLToPath(ia))+"/");ma=a=>{a=na(a)?new URL(a):a;return fs.readFileSync(a)};la=async a=>{a=na(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(fa=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ha=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ka=(new URL(".",ia)).href}catch{}m||(ba&&(ma=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
| 5 |
+
b.send(null);return new Uint8Array(b.response)}),la=async a=>{if(na(a))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var oa=console.log.bind(console),pa=console.error.bind(console);
|
| 6 |
+
if(m){var qa=require("util"),ra=a=>"object"==typeof a?qa.inspect(a):a;oa=(...a)=>fs.writeSync(1,a.map(ra).join(" ")+"\n");pa=(...a)=>fs.writeSync(2,a.map(ra).join(" ")+"\n")}var sa=oa,t=pa,ta,ua,va=!1,wa,na=a=>a.startsWith("file://");function u(){v.buffer!=w.buffer&&xa()}var ya,za;
|
| 7 |
+
if(m&&n){var Ba=ca.parentPort;Ba.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>Ba.postMessage(a)});process.on("uncaughtException",a=>{postMessage({$c:"uncaughtException",error:a});process.exit(1)})}var Ca;
|
| 8 |
+
if(n){var Da=!1;self.onunhandledrejection=b=>{throw b.reason||b;};function a(b){try{var c=b.data,d=c.$c;if("load"===d){let e=[];self.onmessage=f=>e.push(f);Ca=()=>{postMessage({$c:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of c.ue)if(!g[f]||g[f].proxy)g[f]=(...k)=>{postMessage({$c:"callHandler",te:f,args:k})},"print"==f&&(sa=g[f]),"printErr"==f&&(t=g[f]);v=c.Me;xa();ua=c.Ne;Ea();Fa()}else if("run"===d){Ga(c.Xc);Ha(c.Xc,0,0,1,0,0);Ia();Ja(c.Xc);Da||(Ka(),Da=!0);try{La(c.ze,c.kd)}catch(e){if("unwind"!=
|
| 9 |
+
e)throw e;}}else"setimmediate"!==c.target&&("checkMailbox"===d?Da&&Ma():d&&(t(`worker: received unknown command ${d}`),t(c)))}catch(e){throw Na(),e;}}self.onmessage=a}var w,x,Oa,Pa,B,C,Qa,D,E,Ra,Sa=!1;function xa(){var a=v.buffer;g.HEAP8=w=new Int8Array(a);Oa=new Int16Array(a);g.HEAPU8=x=new Uint8Array(a);Pa=new Uint16Array(a);g.HEAP32=B=new Int32Array(a);g.HEAPU32=C=new Uint32Array(a);Qa=new Float32Array(a);D=new Float64Array(a);E=new BigInt64Array(a);Ra=new BigUint64Array(a)}
|
| 10 |
+
function Ta(){Sa=!0;n?Ca():F.hc()}function G(a){a="Aborted("+a+")";t(a);va=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");za?.(a);throw a;}var Ua;async function Va(a){if(!ta)try{var b=await la(a);return new Uint8Array(b)}catch{}if(a==Ua&&ta)a=new Uint8Array(ta);else if(ma)a=ma(a);else throw"both async and sync fetching of the wasm failed";return a}
|
| 11 |
+
async function Wa(a,b){try{var c=await Va(a);return await WebAssembly.instantiate(c,b)}catch(d){t(`failed to asynchronously prepare wasm: ${d}`),G(d)}}async function Xa(a){var b=Ua;if(!ta&&!na(b)&&!m)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){t(`wasm streaming compile failed: ${d}`),t("falling back to ArrayBuffer instantiation")}return Wa(b,a)}
|
| 12 |
+
function Ya(){Za={qa:$a,f:ab,K:bb,k:cb,p:db,l:eb,fa:fb,b:gb,da:hb,gc:ib,q:jb,ea:kb,Ua:lb,cc:mb,ec:nb,Va:ob,Sa:pb,La:qb,Ra:rb,oa:sb,dc:tb,ac:ub,Ta:vb,bc:wb,_a:xb,Ba:yb,Xb:zb,Vb:Ab,Aa:Bb,O:Cb,J:Eb,Wb:Fb,ka:Gb,Yb:Hb,Oa:Ib,_b:Jb,Ea:Kb,Tb:Lb,Ca:Mb,Na:Ja,Xa:Nb,U:Ob,n:Pb,c:Qb,qb:Rb,w:Sb,N:Tb,A:Ub,j:Vb,o:Wb,rb:Xb,H:Yb,T:Zb,g:$b,u:ac,m:bc,i:cc,Ia:dc,Ja:ec,Ka:fc,Ga:gc,Ha:hc,Ub:ic,ab:jc,Za:kc,Z:lc,pb:mc,Da:nc,Ya:oc,X:pc,Wa:qc,$b:rc,G:sc,db:tc,_:uc,pa:vc,Zb:wc,cb:xc,bb:yc,lb:zc,z:Ac,sa:Bc,ra:Cc,nb:Dc,Y:Ec,v:Fc,
|
| 13 |
+
kb:Gc,jb:Hc,ib:Ic,mb:Jc,gb:Kc,fb:Lc,eb:Mc,Pa:Nc,Qa:Oc,fc:Pc,W:Qc,Fa:Rc,ma:Sc,Ma:Tc,la:Uc,Fb:Vc,va:Wc,Gb:Xc,wa:Yc,E:Zc,e:$c,r:ad,x:bd,C:cd,Ib:dd,ca:ed,D:fd,xa:gd,aa:hd,ha:jd,Jb:kd,Kb:ld,za:md,Lb:nd,ya:od,Mb:pd,ua:qd,ba:rd,d:sd,B:td,s:ud,Eb:vd,t:wd,y:xd,F:yd,I:zd,L:Ad,Nb:Bd,R:Cd,ia:Dd,$:Ed,Pb:Fd,Rb:Gd,Ob:Hd,h:Id,a:v,$a:Jd,Hb:Kd,V:Ld,M:Md,na:Nd,Db:Od,ja:Pd,S:Qd,Ab:Rd,Bb:Sd,vb:Td,wb:Ud,P:Vd,xb:Wd,yb:Xd,ta:Yd,Sb:Zd,ob:$d,Q:ae,hb:be,Cb:ce,sb:de,tb:ee,ub:fe,ga:ge,zb:he,Qb:ie};return{a:Za}}
|
| 14 |
+
async function Ea(){function a(d,e){var f=F=d.exports;d={};for(let [k,h]of Object.entries(f))"function"==typeof h?(f=je(h),d[k]=f):d[k]=h;F=d;F=ke();le.push(F.sd);d=F;me=d.ic;Ka=d.jc;g._OrtInit=d.kc;g._OrtGetLastError=d.lc;g._OrtCreateSessionOptions=d.mc;g._OrtAppendExecutionProvider=d.nc;g._OrtAddFreeDimensionOverride=d.oc;g._OrtAddSessionConfigEntry=d.pc;g._OrtReleaseSessionOptions=d.qc;g._OrtCreateSession=d.rc;g._OrtReleaseSession=d.sc;g._OrtGetInputOutputCount=d.tc;g._OrtGetInputOutputMetadata=
|
| 15 |
+
d.uc;g._OrtFree=d.vc;g._OrtCreateTensor=d.wc;g._OrtGetTensorData=d.xc;g._OrtReleaseTensor=d.yc;g._OrtCreateRunOptions=d.zc;g._OrtAddRunConfigEntry=d.Ac;g._OrtReleaseRunOptions=d.Bc;g._OrtCreateBinding=d.Cc;g._OrtBindInput=d.Dc;g._OrtBindOutput=d.Ec;g._OrtClearBoundOutputs=d.Fc;g._OrtReleaseBinding=d.Gc;g._OrtRunWithBinding=d.Hc;g._OrtRun=d.Ic;g._OrtEndProfiling=d.Jc;ne=g._OrtCreateWebGpuInstance=d.Kc;g._wgpuCreateInstance=d.Lc;oe=g._OrtGetWebGpuDevice=d.Mc;pe=d.Nc;H=g._free=d.Oc;qe=g._malloc=d.Pc;
|
| 16 |
+
re=g._wgpuBufferRelease=d.Qc;se=d.Rc;te=d.Sc;ue=d.Tc;ve=d.Uc;we=d.Vc;xe=d.Yc;ye=d.Zc;ze=d.hd;Ae=d.id;Be=d.jd;Ce=d.ld;De=d.md;Ee=d.nd;Fe=d.od;Ge=d.pd;He=d.qd;Ie=d.rd;Ha=d.ud;Na=d.vd;Je=d.wd;Ke=d.xd;Le=d.yd;Me=d.zd;Ne=d.Ad;Oe=d.Bd;I=d.Cd;Pe=d.Dd;Qe=d.Ed;J=d.Fd;Re=d.Gd;K=d.Hd;Se=d.Id;Te=d.Jd;Ue=d.Kd;Ve=d.Ld;dynCall_vii=d.Md;We=d.Nd;dynCall_v=d.Od;Xe=d.Pd;Ye=d.Qd;Ze=d.Rd;dynCall_iii=d.Sd;$e=d.Td;af=d.Ud;bf=d.Vd;dynCall_vi=d.Wd;cf=d.Xd;df=d.Yd;ef=d.Zd;ff=d._d;gf=d.$d;hf=d.ae;jf=d.be;kf=d.ce;lf=d.de;mf=
|
| 17 |
+
d.fe;nf=d.ge;of=d.he;pf=d.ie;qf=d.je;rf=d.ke;sf=d.le;tf=d.me;uf=d.Ae;vf=d.Be;wf=d.Ce;xf=d.De;yf=d.Ee;zf=d.Fe;Af=d.Ge;Bf=d.He;Cf=d.Ie;Df=d.Je;Ef=d.Ke;Ff=d.nf;Gf=d.of;Hf=d.pf;If=d.qf;ua=e;return F}var b=Ya();if(g.instantiateWasm)return new Promise(d=>{g.instantiateWasm(b,(e,f)=>{d(a(e,f))})});if(n){var c=new WebAssembly.Instance(ua,Ya());return a(c,ua)}Ua??=g.locateFile?g.locateFile?g.locateFile("ort-wasm-simd-threaded.asyncify.wasm",ka):ka+"ort-wasm-simd-threaded.asyncify.wasm":(new URL("ort-wasm-simd-threaded.asyncify.wasm",
|
| 18 |
+
import.meta.url)).href;return function(d){return a(d.instance,d.module)}(await Xa(b))}class Jf{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
| 19 |
+
var Kf=a=>{a.terminate();a.onmessage=()=>{}},Lf=[],Mf=0,Nf=null,Tf=a=>{0==Of.length&&(Pf(),Qf(Of[0]));var b=Of.pop();if(!b)return 6;Rf.push(b);Sf[a.Xc]=b;b.Xc=a.Xc;var c={$c:"run",ze:a.ye,kd:a.kd,Xc:a.Xc};m&&b.unref();b.postMessage(c,a.oe);return 0},L=0,M=(a,b,...c)=>{var d=16*c.length,e=K(),f=Re(d),k=f>>>3,h;for(h of c)"bigint"==typeof h?((u(),E)[k++>>>0]=1n,(u(),E)[k++>>>0]=h):((u(),E)[k++>>>0]=0n,(u(),D)[k++>>>0]=h);a=Je(a,0,d,f,b);J(e);return a};
|
| 20 |
+
function Jd(a){if(n)return M(0,1,a);wa=a;if(!(0<L)){for(var b of Rf)Kf(b);for(b of Of)Kf(b);Of=[];Rf=[];Sf={};va=!0}ha(a,new Jf(a))}function Uf(a){if(n)return M(1,0,a);Pc(a)}var Pc=a=>{wa=a;if(n)throw Uf(a),"unwind";Jd(a)},Of=[],Rf=[],le=[],Sf={};function Vf(){for(var a=g.numThreads-1;a--;)Pf();Lf.push(async()=>{var b=Wf();Mf++;await b;Mf--;0==Mf&&Nf&&(b=Nf,Nf=null,b())})}var Xf=a=>{var b=a.Xc;delete Sf[b];Of.push(a);Rf.splice(Rf.indexOf(a),1);a.Xc=0;Ke(b)};function Ia(){le.forEach(a=>a())}
|
| 21 |
+
var Qf=a=>new Promise(b=>{a.onmessage=f=>{var k=f.data;f=k.$c;if(k.gd&&k.gd!=pe()){var h=Sf[k.gd];h?h.postMessage(k,k.oe):t(`Internal error! Worker sent a message "${f}" to target pthread ${k.gd}, but that thread no longer exists!`)}else if("checkMailbox"===f)Ma();else if("spawnThread"===f)Tf(k);else if("cleanupThread"===f)N(()=>{Xf(Sf[k.Le])});else if("loaded"===f)a.loaded=!0,m&&!a.Xc&&a.unref(),b(a);else if("setimmediate"===k.target)a.postMessage(k);else if("uncaughtException"===f)a.onerror(k.error);
|
| 22 |
+
else if("callHandler"===f)g[k.te](...k.args);else f&&t(`worker sent an unknown command ${f}`)};a.onerror=f=>{t(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f;};m&&(a.on("message",f=>a.onmessage({data:f})),a.on("error",f=>a.onerror(f)));var c=[],d=[],e;for(e of d)g.propertyIsEnumerable(e)&&c.push(e);a.postMessage({$c:"load",ue:c,Me:v,Ne:ua})});async function Wf(){if(!n)return Promise.all(Of.map(Qf))}
|
| 23 |
+
function Pf(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});Of.push(a)}function Ga(a){var b=(u(),C)[a+52>>>2>>>0];a=(u(),C)[a+56>>>2>>>0];Qe(b,b-a);J(b)}var La=(a,b)=>{L=0;a=We(a,b);0<L?wa=a:Le(a)},v,Yf=[],Zf=0,O=a=>-9007199254740992>a||9007199254740992<a?NaN:Number(a);function ab(a){a>>>=0;var b=new $f(a);0==(u(),w)[b.ad+12>>>0]&&(ag(b,!0),Zf--);bg(b,!1);Yf.push(b);return Ve(a)}
|
| 24 |
+
var cg=0,bb=()=>{I(0,0);var a=Yf.pop();Se(a.td);cg=0};function ag(a,b){b=b?1:0;(u(),w)[a.ad+12>>>0]=b}function bg(a,b){b=b?1:0;(u(),w)[a.ad+13>>>0]=b}class $f{constructor(a){this.td=a;this.ad=a-24}}var dg=a=>{var b=cg;if(!b)return Pe(0),0;var c=new $f(b);(u(),C)[c.ad+16>>>2>>>0]=b;var d=(u(),C)[c.ad+4>>>2>>>0];if(!d)return Pe(0),b;for(var e of a){if(0===e||e===d)break;if(Ue(e,d,c.ad+16))return Pe(e),b}Pe(d);return b};function cb(){return dg([])}function db(a){return dg([a>>>0])}
|
| 25 |
+
function eb(a,b,c,d){return dg([a>>>0,b>>>0,c>>>0,d>>>0])}var fb=()=>{var a=Yf.pop();a||G("no exception to throw");var b=a.td;0==(u(),w)[a.ad+13>>>0]&&(Yf.push(a),bg(a,!0),ag(a,!1),Zf++);Te(b);cg=b;throw cg;};function gb(a,b,c){a>>>=0;var d=new $f(a);b>>>=0;c>>>=0;(u(),C)[d.ad+16>>>2>>>0]=0;(u(),C)[d.ad+4>>>2>>>0]=b;(u(),C)[d.ad+8>>>2>>>0]=c;Te(a);cg=a;Zf++;throw cg;}var hb=()=>Zf;function eg(a,b,c,d){return n?M(2,1,a,b,c,d):ib(a,b,c,d)}
|
| 26 |
+
function ib(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(n&&0===e.length)return eg(a,b,c,d);a={ye:c,Xc:a,kd:d,oe:e};return n?(a.$c="spawnThread",postMessage(a,e),0):Tf(a)}function jb(a){cg||=a>>>0;throw cg;}
|
| 27 |
+
var fg=globalThis.TextDecoder&&new TextDecoder,gg=(a,b,c,d)=>{c=b+c;if(d)return c;for(;a[b]&&!(b>=c);)++b;return b},hg=(a,b=0,c,d)=>{b>>>=0;c=gg(a,b,c,d);if(16<c-b&&a.buffer&&fg)return fg.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var k=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|k:(e&7)<<18|f<<12|k<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|
|
| 28 |
+
e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},ig=(a,b,c)=>(a>>>=0)?hg((u(),x),a,b,c):"";function kb(a,b,c){return n?M(3,1,a,b,c):0}function lb(a,b){if(n)return M(4,1,a,b)}function mb(a,b){if(n)return M(5,1,a,b)}function nb(a,b,c){if(n)return M(6,1,a,b,c)}function ob(a,b,c){return n?M(7,1,a,b,c):0}function pb(a,b){if(n)return M(8,1,a,b)}function qb(a,b,c){if(n)return M(9,1,a,b,c)}function rb(a,b,c,d){if(n)return M(10,1,a,b,c,d)}function sb(a,b,c,d){if(n)return M(11,1,a,b,c,d)}
|
| 29 |
+
function tb(a,b,c,d){if(n)return M(12,1,a,b,c,d)}function ub(a){if(n)return M(13,1,a)}function vb(a,b){if(n)return M(14,1,a,b)}function wb(a,b,c){if(n)return M(15,1,a,b,c)}var xb=()=>G(""),P=a=>{a>>>=0;for(var b="";;){var c=(u(),x)[a++>>>0];if(!c)return b;b+=String.fromCharCode(c)}},jg={},kg={},lg={},mg=class extends Error{constructor(a){super(a);this.name="BindingError"}};
|
| 30 |
+
function ng(a,b,c={}){var d=b.name;if(!a)throw new mg(`type "${d}" must have a positive integer typeid pointer`);if(kg.hasOwnProperty(a)){if(c.ve)return;throw new mg(`Cannot register type '${d}' twice`);}kg[a]=b;delete lg[a];jg.hasOwnProperty(a)&&(b=jg[a],delete jg[a],b.forEach(e=>e()))}function Q(a,b,c={}){return ng(a,b,c)}
|
| 31 |
+
var og=(a,b,c)=>{switch(b){case 1:return c?d=>(u(),w)[d>>>0]:d=>(u(),x)[d>>>0];case 2:return c?d=>(u(),Oa)[d>>>1>>>0]:d=>(u(),Pa)[d>>>1>>>0];case 4:return c?d=>(u(),B)[d>>>2>>>0]:d=>(u(),C)[d>>>2>>>0];case 8:return c?d=>(u(),E)[d>>>3>>>0]:d=>(u(),Ra)[d>>>3>>>0];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}};
|
| 32 |
+
function yb(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);d=0n===d;let f=k=>k;if(d){const k=8*c;f=h=>BigInt.asUintN(k,h);e=f(e)}Q(a,{name:b,Wc:f,cd:(k,h)=>{"number"==typeof h&&(h=BigInt(h));return h},bd:og(b,c,!d),dd:null})}function zb(a,b,c,d){a>>>=0;b=P(b>>>0);Q(a,{name:b,Wc:function(e){return!!e},cd:function(e,f){return f?c:d},bd:function(e){return this.Wc((u(),x)[e>>>0])},dd:null})}var pg=[],qg=[0,1,,1,null,1,!0,1,!1,1];function Qb(a){a>>>=0;9<a&&0===--qg[a+1]&&(qg[a]=void 0,pg.push(a))}
|
| 33 |
+
var R=a=>{if(!a)throw new mg(`Cannot use deleted val. handle = ${a}`);return qg[a]},S=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=pg.pop()||qg.length;qg[b]=a;qg[b+1]=1;return b}};function rg(a){return this.Wc((u(),C)[a>>>2>>>0])}var sg={name:"emscripten::val",Wc:a=>{var b=R(a);Qb(a);return b},cd:(a,b)=>S(b),bd:rg,dd:null};function Ab(a){return Q(a>>>0,sg)}
|
| 34 |
+
var tg=(a,b)=>{switch(b){case 4:return function(c){return this.Wc((u(),Qa)[c>>>2>>>0])};case 8:return function(c){return this.Wc((u(),D)[c>>>3>>>0])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}};function Bb(a,b,c){a>>>=0;c>>>=0;b=P(b>>>0);Q(a,{name:b,Wc:d=>d,cd:(d,e)=>e,bd:tg(b,c),dd:null})}function Cb(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);let f=h=>h;if(0===d){var k=32-8*c;f=h=>h<<k>>>k;e=f(e)}Q(a,{name:b,Wc:f,cd:(h,l)=>l,bd:og(b,c,0!==d),dd:null})}
|
| 35 |
+
function Eb(a,b,c){function d(f){var k=(u(),C)[f>>>2>>>0];f=(u(),C)[f+4>>>2>>>0];return new e((u(),w).buffer,f,k)}a>>>=0;var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=P(c>>>0);Q(a,{name:c,Wc:d,bd:d},{ve:!0})}
|
| 36 |
+
var T=(a,b,c)=>{var d=(u(),x);b>>>=0;if(0<c){var e=b;c=b+c-1;for(var f=0;f<a.length;++f){var k=a.codePointAt(f);if(127>=k){if(b>=c)break;d[b++>>>0]=k}else if(2047>=k){if(b+1>=c)break;d[b++>>>0]=192|k>>6;d[b++>>>0]=128|k&63}else if(65535>=k){if(b+2>=c)break;d[b++>>>0]=224|k>>12;d[b++>>>0]=128|k>>6&63;d[b++>>>0]=128|k&63}else{if(b+3>=c)break;d[b++>>>0]=240|k>>18;d[b++>>>0]=128|k>>12&63;d[b++>>>0]=128|k>>6&63;d[b++>>>0]=128|k&63;f++}}d[b>>>0]=0;a=b-e}else a=0;return a},U=a=>{for(var b=0,c=0;c<a.length;++c){var d=
|
| 37 |
+
a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b};
|
| 38 |
+
function Fb(a,b){a>>>=0;b=P(b>>>0);Q(a,{name:b,Wc(c){var d=(u(),C)[c>>>2>>>0];d=ig(c+4,d,!0);H(c);return d},cd(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new mg("Cannot pass non-string to std::string");var f=e?U(d):d.length;var k=qe(4+f+1),h=k+4;(u(),C)[k>>>2>>>0]=f;e?T(d,h,f+1):(u(),x).set(d,h>>>0);null!==c&&c.push(H,k);return k},bd:rg,dd(c){H(c)}})}
|
| 39 |
+
var ug=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,vg=(a,b,c)=>{a>>>=1;b=gg((u(),Pa),a,b/2,c);if(16<b-a&&ug)return ug.decode((u(),Pa).slice(a,b));for(c="";a<b;++a){var d=(u(),Pa)[a>>>0];c+=String.fromCharCode(d)}return c},wg=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e){var f=a.charCodeAt(e);(u(),Oa)[b>>>1>>>0]=f;b+=2}(u(),Oa)[b>>>1>>>0]=0;return b-d},xg=a=>2*a.length,yg=(a,b,c)=>{var d="";a>>>=2;for(var e=0;!(e>=b/4);e++){var f=
|
| 40 |
+
(u(),C)[a+e>>>0];if(!f&&!c)break;d+=String.fromCodePoint(f)}return d},zg=(a,b,c)=>{b>>>=0;c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.codePointAt(e);65535<f&&e++;(u(),B)[b>>>2>>>0]=f;b+=4;if(b+4>c)break}(u(),B)[b>>>2>>>0]=0;return b-d},Ag=a=>{for(var b=0,c=0;c<a.length;++c)65535<a.codePointAt(c)&&c++,b+=4;return b};
|
| 41 |
+
function Gb(a,b,c){a>>>=0;b>>>=0;c>>>=0;c=P(c);if(2===b){var d=vg;var e=wg;var f=xg}else d=yg,e=zg,f=Ag;Q(a,{name:c,Wc:k=>{var h=(u(),C)[k>>>2>>>0];h=d(k+4,h*b,!0);H(k);return h},cd:(k,h)=>{if("string"!=typeof h)throw new mg(`Cannot pass non-string to C++ string type ${c}`);var l=f(h),p=qe(4+l+b);(u(),C)[p>>>2>>>0]=l/b;e(h,p+4,l+b);null!==k&&k.push(H,p);return p},bd:rg,dd(k){H(k)}})}function Hb(a,b){a>>>=0;b=P(b>>>0);Q(a,{we:!0,name:b,Wc:()=>{},cd:()=>{}})}
|
| 42 |
+
function Ib(a){Ha(a>>>0,!ba,1,!aa,131072,!1);Ia()}var N=a=>{if(!va)try{if(a(),!(0<L))try{n?pe()&&Le(wa):Pc(wa)}catch(b){b instanceof Jf||"unwind"==b||ha(1,b)}}catch(b){b instanceof Jf||"unwind"==b||ha(1,b)}},Bg=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ja(a){a>>>=0;Bg||(Atomics.waitAsync((u(),B),a>>>2,a).value.then(Ma),a+=128,Atomics.store((u(),B),a>>>2,1))}var Ma=()=>N(()=>{var a=pe();a&&(Ja(a),Ne())});
|
| 43 |
+
function Jb(a,b){a>>>=0;a==b>>>0?setTimeout(Ma):n?postMessage({gd:a,$c:"checkMailbox"}):(a=Sf[a])&&a.postMessage({$c:"checkMailbox"})}var Cg=[];function Kb(a,b,c,d,e){b>>>=0;e>>>=0;Cg.length=0;c=e>>>3;for(d=e+d>>>3;c<d;){var f;(u(),E)[c++>>>0]?f=(u(),E)[c++>>>0]:f=(u(),D)[c++>>>0];Cg.push(f)}return(b?Dg[b]:Eg[a])(...Cg)}var Lb=()=>{L=0};function Mb(a){a>>>=0;n?postMessage({$c:"cleanupThread",Le:a}):Xf(Sf[a])}function Nb(a){m&&Sf[a>>>0].ref()}var Fg=a=>{try{a()}catch(b){G(b)}};
|
| 44 |
+
function je(a){var b=(...c)=>{Gg.push(a);try{return a(...c)}finally{va||(Gg.pop(),r&&1===Hg&&0===Gg.length&&(Hg=0,L+=1,Fg(Gf),"undefined"!=typeof Fibers&&Fibers.We()))}};Ig.set(a,b);return b}var Hg=0,r=null,Jg=0,Gg=[],Kg=new Map,Lg=new Map,Ig=new Map,Mg=0,Ng=null,Og=[];function da(){return new Promise((a,b)=>{Ng={resolve:a,reject:b}})}
|
| 45 |
+
function Pg(){var a=qe(65548),b=a+12;(u(),C)[a>>>2>>>0]=b;(u(),C)[a+4>>>2>>>0]=b+65536;b=Gg[0];if(!Kg.has(b)){var c=Mg++;Kg.set(b,c);Lg.set(c,b)}b=Kg.get(b);(u(),B)[a+8>>>2>>>0]=b;return a}function Qg(){var a=(u(),B)[r+8>>>2>>>0];a=Lg.get(a);a=Ig.get(a);--L;return a()}
|
| 46 |
+
function Rg(a){if(!va){if(0===Hg){var b=!1,c=!1;a((d=0)=>{if(!va&&(Jg=d,b=!0,c)){Hg=2;Fg(()=>Hf(r));"undefined"!=typeof MainLoop&&MainLoop.se&&MainLoop.resume();d=!1;try{var e=Qg()}catch(h){e=h,d=!0}var f=!1;if(!r){var k=Ng;k&&(Ng=null,(d?k.reject:k.resolve)(e),f=!0)}if(d&&!f)throw e;}});c=!0;b||(Hg=1,r=Pg(),"undefined"!=typeof MainLoop&&MainLoop.se&&MainLoop.pause(),Fg(()=>Ff(r)))}else 2===Hg?(Hg=0,Fg(If),H(r),r=null,Og.forEach(N)):G(`invalid state: ${Hg}`);return Jg}}var Sg=a=>Rg(b=>{a().then(b)});
|
| 47 |
+
function Ob(a){a>>>=0;return Sg(async()=>{var b=await R(a);return S(b)})}var Tg=[],Ug=a=>{var b=Tg.length;Tg.push(a);return b},Vg=(a,b)=>{for(var c=Array(a),d=0;d<a;++d){var e=d,f=(u(),C)[b+4*d>>>2>>>0],k=kg[f];if(void 0===k)throw a=`parameter ${d}`,f=me(f),b=P(f),H(f),new mg(`${a} has unknown type ${b}`);c[e]=k}return c},Wg=(a,b,c)=>{var d=[];a=a(d,c);d.length&&((u(),C)[b>>>2>>>0]=S(d));return a},Xg={},Yg=a=>{var b=Xg[a];return void 0===b?P(a):b};
|
| 48 |
+
function Pb(a,b,c){var [d,...e]=Vg(a,b>>>0);b=d.cd.bind(d);var f=e.map(l=>l.bd.bind(l));a--;var k={toValue:R};a=f.map((l,p)=>{var q=`argFromPtr${p}`;k[q]=l;return`${q}(args${p?"+"+8*p:""})`});switch(c){case 0:var h="toValue(handle)";break;case 2:h="new (toValue(handle))";break;case 3:h="";break;case 1:k.getStringOrSymbol=Yg,h="toValue(handle)[getStringOrSymbol(methodName)]"}h+=`(${a})`;d.we||(k.toReturnWire=b,k.emval_returnValue=Wg,h=`return emval_returnValue(toReturnWire, destructorsRef, ${h})`);
|
| 49 |
+
h=`return function (handle, methodName, destructorsRef, args) {\n ${h}\n }`;c=(new Function(Object.keys(k),h))(...Object.values(k));h=`methodCaller<(${e.map(l=>l.name)}) => ${d.name}>`;return Ug(Object.defineProperty(c,"name",{value:h}))}function Rb(a,b){b>>>=0;a=R(a>>>0);b=R(b);return a==b}function Sb(a){a>>>=0;if(!a)return S(globalThis);a=Yg(a);return S(globalThis[a])}function Tb(a){a=Yg(a>>>0);return S(g[a])}function Ub(a,b){b>>>=0;a=R(a>>>0);b=R(b);return S(a[b])}
|
| 50 |
+
function Vb(a){a>>>=0;9<a&&(qg[a+1]+=1)}function Wb(a,b,c,d,e){return Tg[a>>>0](b>>>0,c>>>0,d>>>0,e>>>0)}function Xb(a,b,c,d,e){return Wb(a>>>0,b>>>0,c>>>0,d>>>0,e>>>0)}function Yb(){return S([])}function Zb(a){a=R(a>>>0);for(var b=Array(a.length),c=0;c<a.length;c++)b[c]=a[c];return S(b)}function $b(a){return S(Yg(a>>>0))}function ac(){return S({})}function bc(a){a>>>=0;for(var b=R(a);b.length;){var c=b.pop();b.pop()(c)}Qb(a)}function cc(a,b,c){b>>>=0;c>>>=0;a=R(a>>>0);b=R(b);c=R(c);a[b]=c}
|
| 51 |
+
function dc(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(u(),B)[b>>>2>>>0]=a.getUTCSeconds();(u(),B)[b+4>>>2>>>0]=a.getUTCMinutes();(u(),B)[b+8>>>2>>>0]=a.getUTCHours();(u(),B)[b+12>>>2>>>0]=a.getUTCDate();(u(),B)[b+16>>>2>>>0]=a.getUTCMonth();(u(),B)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(u(),B)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(u(),B)[b+28>>>2>>>0]=a}
|
| 52 |
+
var Zg=a=>0===a%4&&(0!==a%100||0===a%400),$g=[0,31,60,91,121,152,182,213,244,274,305,335],ah=[0,31,59,90,120,151,181,212,243,273,304,334];
|
| 53 |
+
function ec(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(u(),B)[b>>>2>>>0]=a.getSeconds();(u(),B)[b+4>>>2>>>0]=a.getMinutes();(u(),B)[b+8>>>2>>>0]=a.getHours();(u(),B)[b+12>>>2>>>0]=a.getDate();(u(),B)[b+16>>>2>>>0]=a.getMonth();(u(),B)[b+20>>>2>>>0]=a.getFullYear()-1900;(u(),B)[b+24>>>2>>>0]=a.getDay();var c=(Zg(a.getFullYear())?$g:ah)[a.getMonth()]+a.getDate()-1|0;(u(),B)[b+28>>>2>>>0]=c;(u(),B)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),
|
| 54 |
+
0,1)).getTimezoneOffset();a=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0;(u(),B)[b+32>>>2>>>0]=a}
|
| 55 |
+
function fc(a){a>>>=0;var b=new Date((u(),B)[a+20>>>2>>>0]+1900,(u(),B)[a+16>>>2>>>0],(u(),B)[a+12>>>2>>>0],(u(),B)[a+8>>>2>>>0],(u(),B)[a+4>>>2>>>0],(u(),B)[a>>>2>>>0],0),c=(u(),B)[a+32>>>2>>>0],d=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),k=Math.min(f,e);0>c?(u(),B)[a+32>>>2>>>0]=Number(e!=f&&k==d):0<c!=(k==d)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<c?k:e)-d)));(u(),B)[a+24>>>2>>>0]=b.getDay();c=(Zg(b.getFullYear())?
|
| 56 |
+
$g:ah)[b.getMonth()]+b.getDate()-1|0;(u(),B)[a+28>>>2>>>0]=c;(u(),B)[a>>>2>>>0]=b.getSeconds();(u(),B)[a+4>>>2>>>0]=b.getMinutes();(u(),B)[a+8>>>2>>>0]=b.getHours();(u(),B)[a+12>>>2>>>0]=b.getDate();(u(),B)[a+16>>>2>>>0]=b.getMonth();(u(),B)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function gc(a,b,c,d,e,f,k){return n?M(16,1,a,b,c,d,e,f,k):-52}function hc(a,b,c,d,e,f){if(n)return M(17,1,a,b,c,d,e,f)}var bh={},sc=()=>performance.timeOrigin+performance.now();
|
| 57 |
+
function ic(a,b){if(n)return M(18,1,a,b);bh[a]&&(clearTimeout(bh[a].id),delete bh[a]);if(!b)return 0;var c=setTimeout(()=>{delete bh[a];N(()=>Me(a,performance.timeOrigin+performance.now()))},b);bh[a]={id:c,Ve:b};return 0}
|
| 58 |
+
function jc(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var k=Math.max(f,e);(u(),C)[a>>>2>>>0]=60*k;(u(),B)[b>>>2>>>0]=Number(f!=e);b=h=>{var l=Math.abs(h);return`UTC${0<=h?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(T(a,c,17),T(b,d,17)):(T(a,d,17),T(b,c,17))}var oc=()=>Date.now(),ch=1;
|
| 59 |
+
function kc(a,b,c){c>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(ch)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(u(),E)[c>>>3>>>0]=BigInt(a);return 0}var dh=[],eh=(a,b)=>{dh.length=0;for(var c;c=(u(),x)[a++>>>0];){var d=105!=c;d&=112!=c;b+=d&&b%8?4:0;dh.push(112==c?(u(),C)[b>>>2>>>0]:106==c?(u(),E)[b>>>3>>>0]:105==c?(u(),B)[b>>>2>>>0]:(u(),D)[b>>>3>>>0]);b+=d?8:4}return dh};function lc(a,b,c){a>>>=0;b=eh(b>>>0,c>>>0);return Dg[a](...b)}
|
| 60 |
+
function mc(a,b,c){a>>>=0;b=eh(b>>>0,c>>>0);return Dg[a](...b)}var nc=()=>{};function pc(a,b){return t(ig(a>>>0,b>>>0))}var qc=()=>{L+=1;throw"unwind";};function rc(){return 4294901760}var tc=()=>1,uc=()=>m?require("os").cpus().length:navigator.hardwareConcurrency,fh={},gh=a=>{var b=U(a)+1,c=qe(b);c&&T(a,c,b);return c},hh=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},ih=a=>{for(var b of a)(a=hh(b))&&(fh[a]=b)};
|
| 61 |
+
function xc(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();ih(a);fh.ee=hh(a[3]);fh.xe=a;return fh.ee}function vc(a){a=fh[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;H(vc.ne??0);vc.ne=gh(a);return vc.ne}
|
| 62 |
+
function wc(a){a>>>=0;var b=(u(),x).length;if(a<=b||4294901760<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(4294901760,65536*Math.ceil(Math.max(a,d)/65536))-v.buffer.byteLength+65535)/65536|0;try{v.grow(d);xa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}
|
| 63 |
+
function yc(a,b,c){a>>>=0;b>>>=0;if(fh.ee==a)var d=fh.xe;else d=Error().stack.toString().split("\n"),"Error"==d[0]&&d.shift(),ih(d);for(var e=3;d[e]&&hh(d[e])!=a;)++e;for(a=0;a<c&&d[a+e];++a)(u(),B)[b+4*a>>>2>>>0]=hh(d[a+e]);return a}
|
| 64 |
+
var V=a=>{var b=U(a)+1,c=Re(b);T(a,c,b);return c},jh=a=>(u(),C)[a>>>2>>>0]+4294967296*(u(),B)[a+4>>>2>>>0],W=[],kh=(a,b)=>{W[a>>>0]=b},X=[],lh=[],mh=(a,b)=>{lh[a]=new Promise(c=>b.finally(()=>c(a)))},Y=a=>{if(a)return W[a>>>0]},nh=(a,b=0)=>{"unmapped"===a.mapState||G();b=ze(b);W[b>>>0]=a;return b},oh=(a,b=0)=>{var c=Be(b);b=Ae(b,c);W[c>>>0]=a.queue;W[b>>>0]=a;return b},ph=(a,b)=>{for(a=(u(),C)[a>>>2>>>0];a;a=(u(),C)[a>>>2>>>0]){var c=(u(),B)[a+4>>>2>>>0];b[c](a)}},qh=(a,b,c)=>{(u(),C)[a>>>2>>>0]=
|
| 65 |
+
b;(u(),C)[a+4>>>2>>>0]=c},rh=a=>{var b=(u(),C)[a>>>2>>>0];a=(u(),C)[a+4>>>2>>>0];return ig(b,a)},Z=a=>{var b=(u(),C)[a>>>2>>>0];a=(u(),C)[a+4>>>2>>>0];if(b)return ig(b,a);if(0===a)return""},sh=a=>{var b=Z(a+4);var c=(c=(u(),C)[a+12>>>2>>>0])?Y(c):"auto";if(a+=16){var d=Y((u(),C)[a+4>>>2>>>0]);var e=(u(),C)[a+16>>>2>>>0];var f=(u(),C)[a+20>>>2>>>0];if(e){for(var k={},h=0;h<e;++h){var l=f+24*h,p=rh(l+4);k[p]=(u(),D)[l+16>>>3>>>0]}e=k}else e=void 0;a={module:d,constants:e,entryPoint:Z(a+8)}}else a=void 0;
|
| 66 |
+
return{label:b,layout:c,compute:a}},th=(a,b)=>{function c(f,k,h,l=0){f=a[f]??l;(u(),C)[k+h>>>2>>>0]=f}function d(f,k,h,l=0){k+=h;f=a[f]??l;(u(),C)[k>>>2>>>0]=f;l=(u(),C)[k>>>2>>>0];(u(),C)[k+4>>>2>>>0]=(f-l)/4294967296}var e=(u(),C)[b>>>2>>>0];c("maxTextureDimension1D",b,4);c("maxTextureDimension2D",b,8);c("maxTextureDimension3D",b,12);c("maxTextureArrayLayers",b,16);c("maxBindGroups",b,20);c("maxBindGroupsPlusVertexBuffers",b,24);c("maxBindingsPerBindGroup",b,28);c("maxDynamicUniformBuffersPerPipelineLayout",
|
| 67 |
+
b,32);c("maxDynamicStorageBuffersPerPipelineLayout",b,36);c("maxSampledTexturesPerShaderStage",b,40);c("maxSamplersPerShaderStage",b,44);c("maxStorageBuffersPerShaderStage",b,48);c("maxStorageTexturesPerShaderStage",b,52);c("maxUniformBuffersPerShaderStage",b,56);c("minUniformBufferOffsetAlignment",b,80);c("minStorageBufferOffsetAlignment",b,84);d("maxUniformBufferBindingSize",b,64);d("maxStorageBufferBindingSize",b,72);c("maxVertexBuffers",b,88);d("maxBufferSize",b,96);c("maxVertexAttributes",b,
|
| 68 |
+
104);c("maxVertexBufferArrayStride",b,108);c("maxInterStageShaderVariables",b,112);c("maxColorAttachments",b,116);c("maxColorAttachmentBytesPerSample",b,120);c("maxComputeWorkgroupStorageSize",b,124);c("maxComputeInvocationsPerWorkgroup",b,128);c("maxComputeWorkgroupSizeX",b,132);c("maxComputeWorkgroupSizeY",b,136);c("maxComputeWorkgroupSizeZ",b,140);c("maxComputeWorkgroupsPerDimension",b,144);c("maxImmediateSize",b,148);0!==e&&(u(),c("maxStorageBuffersInVertexStage",e,8,a.maxStorageBuffersPerShaderStage),
|
| 69 |
+
c("maxStorageBuffersInFragmentStage",e,16,a.maxStorageBuffersPerShaderStage),c("maxStorageTexturesInVertexStage",e,12,a.maxStorageTexturesPerShaderStage),c("maxStorageTexturesInFragmentStage",e,20,a.maxStorageTexturesPerShaderStage))},vh=(a,b)=>{(u(),C)[b+52>>>2>>>0]=a.subgroupMinSize;(u(),C)[b+56>>>2>>>0]=a.subgroupMaxSize;var c=gh(a.vendor+a.architecture+a.device+a.description),d=U(a.vendor);qh(b+4,c,d);c+=d;d=U(a.architecture);qh(b+12,c,d);c+=d;d=U(a.device);qh(b+20,c,d);c+=d;d=U(a.description);
|
| 70 |
+
qh(b+28,c,d);c+=d;(u(),B)[b+36>>>2>>>0]=2;c=a.isFallbackAdapter?3:4;(u(),B)[b+40>>>2>>>0]=c;(u(),C)[b+44>>>2>>>0]=0;(u(),C)[b+48>>>2>>>0]=0;ph(b,{327739:e=>{let f=0,k=0;if(a.subgroupMatrixConfigs){f=a.subgroupMatrixConfigs.length;k=qe(20*f);for(const [h,l]of a.subgroupMatrixConfigs.entries()){const p=k+20*h,q=uh.indexOf(l.componentType),y=uh.indexOf(l.resultComponentType);(u(),B)[p>>>2>>>0]=q;(u(),B)[p+4>>>2>>>0]=y;(u(),C)[p+8>>>2>>>0]=l.M;(u(),C)[p+12>>>2>>>0]=l.N;(u(),C)[p+16>>>2>>>0]=l.K}}(u(),
|
| 71 |
+
C)[e+12>>>2>>>0]=k;(u(),C)[e+8>>>2>>>0]=f}})},wh=[,,"uniform","storage","read-only-storage"],xh=[,"validation","out-of-memory","internal"],yh=[,"compatibility","core"],zh={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",
|
| 72 |
+
13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",23:"subgroup-size-control",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect",327732:"chromium-experimental-subgroup-matrix"},Ah=[,"low-power","high-performance"],Bh=[,"occlusion","timestamp"],Ch=[,,"filtering",
|
| 73 |
+
"non-filtering","comparison"],Dh=[,,"write-only","read-only","read-write"],uh=[,"f32","f16","u32","i32","u8","i8"],Eh=[,"r8unorm","r8snorm","r8uint","r8sint","r16unorm","r16snorm","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16unorm","rg16snorm","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat",
|
| 74 |
+
"rg32float","rg32uint","rg32sint","rgba16unorm","rgba16snorm","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth32float","depth32float-stencil8","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb","bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm","bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb","etc2-rgb8unorm",
|
| 75 |
+
"etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm","astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb",
|
| 76 |
+
"astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"],Fh=[,,"float","unfilterable-float","depth","sint","uint"],Gh=[,"1d","2d","2d-array","cube","cube-array","3d"],Hh={undefined:1,unknown:1,destroyed:2};
|
| 77 |
+
function zc(a,b,c,d,e,f){b=O(b);c=O(c);d>>>=0;e>>>=0;f>>>=0;var k=Y(a>>>0);a={};if(f){var h=(u(),C)[f+12>>>2>>>0];if(h){var l=(u(),C)[f+16>>>2>>>0];a.requiredFeatures=Array.from((u(),C).subarray(l>>>2>>>0,l+4*h>>>2>>>0),q=>zh[q])}if(h=(u(),C)[f+20>>>2>>>0]){l=(u(),C)[h>>>2>>>0];var p={};function q(z,A,ja,Aa=!1){A+=ja;A=(u(),C)[A>>>2>>>0];4294967295==A||Aa&&0==A||(p[z]=A)}function y(z,A,ja){A+=ja;ja=(u(),C)[A>>>2>>>0];var Aa=(u(),C)[A+4>>>2>>>0];if(4294967295!=ja||4294967295!=Aa)p[z]=jh(A)}q("maxTextureDimension1D",
|
| 78 |
+
h,4);q("maxTextureDimension2D",h,8);q("maxTextureDimension3D",h,12);q("maxTextureArrayLayers",h,16);q("maxBindGroups",h,20);q("maxBindGroupsPlusVertexBuffers",h,24);q("maxBindingsPerBindGroup",h,28);q("maxDynamicUniformBuffersPerPipelineLayout",h,32);q("maxDynamicStorageBuffersPerPipelineLayout",h,36);q("maxSampledTexturesPerShaderStage",h,40);q("maxSamplersPerShaderStage",h,44);q("maxStorageBuffersPerShaderStage",h,48);q("maxStorageTexturesPerShaderStage",h,52);q("maxUniformBuffersPerShaderStage",
|
| 79 |
+
h,56);q("minUniformBufferOffsetAlignment",h,80);q("minStorageBufferOffsetAlignment",h,84);y("maxUniformBufferBindingSize",h,64);y("maxStorageBufferBindingSize",h,72);q("maxVertexBuffers",h,88);y("maxBufferSize",h,96);q("maxVertexAttributes",h,104);q("maxVertexBufferArrayStride",h,108);q("maxInterStageShaderVariables",h,112);q("maxColorAttachments",h,116);q("maxColorAttachmentBytesPerSample",h,120);q("maxComputeWorkgroupStorageSize",h,124);q("maxComputeInvocationsPerWorkgroup",h,128);q("maxComputeWorkgroupSizeX",
|
| 80 |
+
h,132);q("maxComputeWorkgroupSizeY",h,136);q("maxComputeWorkgroupSizeZ",h,140);q("maxComputeWorkgroupsPerDimension",h,144);q("maxImmediateSize",h,148,!0);0!==l&&(u(),"maxStorageBuffersInVertexStage"in GPUSupportedLimits.prototype&&(q("maxStorageBuffersInVertexStage",l,8),q("maxStorageTexturesInVertexStage",l,12),q("maxStorageBuffersInFragmentStage",l,16),q("maxStorageTexturesInFragmentStage",l,20)));a.requiredLimits=p}if(h=(u(),C)[f+24>>>2>>>0])h={label:Z(h+4)},a.defaultQueue=h;a.label=Z(f+4)}L+=
|
| 81 |
+
1;mh(b,k.requestDevice(a).then(q=>{--L;N(()=>{W[e>>>0]=q.queue;W[d>>>0]=q;L+=1;mh(c,q.lost.then(y=>{N(()=>{q.onuncapturederror=()=>{};var z=K(),A=V(y.message);De(c,Hh[y.reason],A);J(z)});--L}));q.onuncapturederror=y=>{var z=5;y.error instanceof GPUValidationError?z=2:y.error instanceof GPUOutOfMemoryError?z=3:y.error instanceof GPUInternalError&&(z=4);var A=K();y=V(y.error.message);Ie(d,z,y);J(A)};"adapterInfo"in q||(q.adapterInfo=k.info);He(b,1,d,0)})},q=>{--L;N(()=>{var y=K(),z=V(q.message);He(b,
|
| 82 |
+
3,d,z);c&&De(c,4,z);J(y)})}))}function Ac(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a]}b.destroy()}function Bc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(k){return 0}var f=Oe(16,e.byteLength);(u(),x).set(new Uint8Array(e),f>>>0);X[a].push(()=>H(f));return f}
|
| 83 |
+
function Cc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(k){return 0}var f=Oe(16,e.byteLength);(u(),x).fill(0,f,e.byteLength);X[a].push(()=>{(new Uint8Array(e)).set((u(),x).subarray(f>>>0,f+e.byteLength>>>0));H(f)});return f}
|
| 84 |
+
function Dc(a,b,c,d,e){a>>>=0;b=O(b);c=O(c);e>>>=0;var f=Y(a);X[a]=[];4294967295==e&&(e=void 0);L+=1;mh(b,f.mapAsync(c,d>>>0,e).then(()=>{--L;N(()=>{Ee(b,1,0)})},k=>{--L;N(()=>{K();var h=V(k.message);Ee(b,"AbortError"===k.name?4:"OperationError"===k.name?3:0,h);delete X[a]})}))}function Ec(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a];b.unmap()}}function Fc(a){delete W[a>>>0]}
|
| 85 |
+
function Gc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=!!(u(),C)[b+32>>>2>>>0];b={label:Z(b+4),usage:(u(),C)[b+16>>>2>>>0],size:jh(b+24),mappedAtCreation:d};a=Y(a);try{var e=a.createBuffer(b)}catch(f){return!1}W[c>>>0]=e;d&&(X[c]=[]);return!0}function Hc(a,b,c,d){a>>>=0;b=O(b);d>>>=0;c=sh(c>>>0);a=Y(a);L+=1;mh(b,a.createComputePipelineAsync(c).then(e=>{--L;N(()=>{W[d>>>0]=e;Ce(b,1,d,0)})},e=>{--L;N(()=>{var f=K(),k=V(e.message);Ce(b,"validation"===e.reason?3:"internal"===e.reason?4:0,d,k);J(f)})}))}
|
| 86 |
+
function Ic(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=(u(),C)[b>>>2>>>0],e=(u(),B)[d+4>>>2>>>0];b={label:Z(b+4),code:""};switch(e){case 2:b.code=rh(d+8)}a=Y(a).createShaderModule(b);W[c>>>0]=a}var Jc=a=>{a=Y(a);a.onuncapturederror=null;a.destroy()};
|
| 87 |
+
function Kc(a,b){b=O(b);a=Y(a>>>0);L+=1;mh(b,a.popErrorScope().then(c=>{--L;N(()=>{var d=5;c?c instanceof GPUValidationError?d=2:c instanceof GPUOutOfMemoryError?d=3:c instanceof GPUInternalError&&(d=4):d=1;var e=K(),f=c?V(c.message):0;Fe(b,1,d,f);J(e)})},c=>{--L;N(()=>{var d=K(),e=V(c.message);Fe(b,1,5,e);J(d)})}))}
|
| 88 |
+
function Lc(a,b,c,d){b=O(b);c>>>=0;d>>>=0;if(c){var e={featureLevel:yh[(u(),B)[c+4>>>2>>>0]],powerPreference:Ah[(u(),B)[c+8>>>2>>>0]],forceFallbackAdapter:!!(u(),C)[c+12>>>2>>>0]};a=(u(),C)[c>>>2>>>0];0!==a&&(u(),e.Ye=!!(u(),C)[a+8>>>2>>>0])}"gpu"in navigator?(L+=1,mh(b,navigator.gpu.requestAdapter(e).then(f=>{--L;N(()=>{if(f)W[d>>>0]=f,Ge(b,1,d,0);else{var k=K(),h=V("WebGPU not available on this browser (requestAdapter returned null)");Ge(b,3,d,h);J(k)}})},f=>{--L;N(()=>{var k=K(),h=V(f.message);
|
| 89 |
+
Ge(b,4,d,h);J(k)})}))):(e=K(),a=V("WebGPU not available on this browser (navigator.gpu is not available)"),Ge(b,3,d,a),J(e))}function Mc(a,b,c){a>>>=0;b>>>=0;c>>>=0;return Sg(async()=>{var d=[];if(c){var e=(u(),B)[c>>>2>>>0];d.length=b+1;d[b]=new Promise(h=>setTimeout(h,e,0))}else d.length=b;for(var f=0;f<b;++f){var k=jh(a+8*f);if(!(k in lh))return k;d[f]=lh[k]}d=await Promise.race(d);delete lh[d];return d})}
|
| 90 |
+
var Ih={},Kh=()=>{if(!Jh){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:fa||"./this.program"},b;for(b in Ih)void 0===Ih[b]?delete a[b]:a[b]=Ih[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Jh=c}return Jh},Jh;function Nc(a,b){if(n)return M(19,1,a,b);a>>>=0;b>>>=0;var c=0,d=0,e;for(e of Kh()){var f=b+c;(u(),C)[a+d>>>2>>>0]=f;c+=T(e,f,Infinity)+1;d+=4}return 0}
|
| 91 |
+
function Oc(a,b){if(n)return M(20,1,a,b);a>>>=0;b>>>=0;var c=Kh();(u(),C)[a>>>2>>>0]=c.length;a=0;for(var d of c)a+=U(d)+1;(u(),C)[b>>>2>>>0]=a;return 0}function Qc(a){return n?M(21,1,a):52}function Rc(a,b,c,d,e){return n?M(22,1,a,b,c,d,e):52}function Sc(a,b,c,d){return n?M(23,1,a,b,c,d):52}function Tc(a,b,c,d){return n?M(24,1,a,b,c,d):70}var Lh=[null,[],[]];
|
| 92 |
+
function Uc(a,b,c,d){if(n)return M(25,1,a,b,c,d);b>>>=0;c>>>=0;d>>>=0;for(var e=0,f=0;f<c;f++){var k=(u(),C)[b>>>2>>>0],h=(u(),C)[b+4>>>2>>>0];b+=8;for(var l=0;l<h;l++){var p=a,q=(u(),x)[k+l>>>0],y=Lh[p];0===q||10===q?((1===p?sa:t)(hg(y)),y.length=0):y.push(q)}e+=h}(u(),C)[d>>>2>>>0]=e;return 0}function Id(a){return a>>>0}function Kd(a,b){th(Y(a>>>0).limits,b>>>0);return 1}function Ld(a,b){return Y(a>>>0).features.has(zh[b])}function Md(a){return BigInt(Y(a>>>0).size)}
|
| 93 |
+
function Nd(a){return BigInt(Y(a>>>0).usage)}function Od(a,b){a>>>=0;b>>>=0;if(b){var c=Z(b+4);b=(u(),C)[b+12>>>2>>>0];b=0!==b?{querySet:Y((u(),C)[b+4>>>2>>>0]),beginningOfPassWriteIndex:(u(),C)[b+8>>>2>>>0],endOfPassWriteIndex:(u(),C)[b+12>>>2>>>0]}:void 0;c={label:c,timestampWrites:b}}b=Y(a);a=we(0);c=b.beginComputePass(c);W[a>>>0]=c;return a}function Pd(a,b,c,d){c=O(c);d=O(d);a=Y(a>>>0);-1==d&&(d=void 0);a.clearBuffer(Y(b>>>0),c,d)}
|
| 94 |
+
function Qd(a,b,c,d,e,f){c=O(c);e=O(e);f=O(f);Y(a>>>0).copyBufferToBuffer(Y(b>>>0),c,Y(d>>>0),e,f)}function Rd(a){var b=Y(a>>>0);a=ue(0);b=b.finish();W[a>>>0]=b;return a}function Sd(a,b,c,d,e,f){f=O(f);Y(a>>>0).resolveQuerySet(Y(b>>>0),c,d,Y(e>>>0),f)}function Td(a,b,c,d){Y(a>>>0).dispatchWorkgroups(b,c,d)}function Ud(a,b,c){c=O(c);Y(a>>>0).dispatchWorkgroupsIndirect(Y(b>>>0),c)}function Vd(a){Y(a>>>0).end()}
|
| 95 |
+
function Wd(a,b,c,d,e){d>>>=0;e>>>=0;a=Y(a>>>0);c=Y(c>>>0);0==d?a.setBindGroup(b,c):a.setBindGroup(b,c,(u(),C),e>>>2,d)}function Xd(a,b){Y(a>>>0).setPipeline(Y(b>>>0))}function Yd(a,b,c){Y(a>>>0).Xe(Y(b>>>0),c)}
|
| 96 |
+
function Zd(a,b){function c(e){var f=(u(),C)[e+8>>>2>>>0],k=(u(),C)[e+32>>>2>>>0],h=(u(),C)[e+36>>>2>>>0],l=0;ph(e,{14:p=>{l=(u(),C)[p+8>>>2>>>0]}});f?(k=jh(e+24),-1==k&&(k=void 0),f={buffer:Y(f),offset:jh(e+16),size:k}):f=Y(k||h||l);return{binding:(u(),C)[e+4>>>2>>>0],resource:f}}a>>>=0;b>>>=0;b={label:Z(b+4),layout:Y((u(),C)[b+12>>>2>>>0]),entries:function(e,f){for(var k=[],h=0;h<e;++h)k.push(c(f+40*h));return k}((u(),C)[b+16>>>2>>>0],(u(),C)[b+20>>>2>>>0])};a=Y(a);var d=se(0);kh(d,a.createBindGroup(b));
|
| 97 |
+
return d}
|
| 98 |
+
function $d(a,b){function c(l){var p=(u(),C)[l+4>>>2>>>0];if(p)return{type:wh[p],hasDynamicOffset:!!(u(),C)[l+8>>>2>>>0],minBindingSize:jh(l+16)}}function d(l){if(l=(u(),C)[l+4>>>2>>>0])return{type:Ch[l]}}function e(l){var p=(u(),C)[l+4>>>2>>>0];if(p)return{sampleType:Fh[p],viewDimension:Gh[(u(),B)[l+8>>>2>>>0]],multisampled:!!(u(),C)[l+12>>>2>>>0]}}function f(l){var p=(u(),C)[l+4>>>2>>>0];if(p)return{access:Dh[p],format:Eh[(u(),B)[l+8>>>2>>>0]],viewDimension:Gh[(u(),B)[l+12>>>2>>>0]]}}function k(l){var p={binding:(u(),
|
| 99 |
+
C)[l+4>>>2>>>0],visibility:(u(),C)[l+8>>>2>>>0],buffer:c(l+24),sampler:d(l+48),texture:e(l+56),storageTexture:f(l+72)};ph(l,{13:()=>{p.externalTexture={}}});return p}a>>>=0;b>>>=0;b={label:Z(b+4),entries:function(l,p){for(var q=[],y=0;y<l;++y)q.push(k(p+88*y));return q}((u(),C)[b+12>>>2>>>0],(u(),C)[b+16>>>2>>>0])};a=Y(a);var h=te(0);kh(h,a.createBindGroupLayout(b));return h}function ae(a,b){a>>>=0;b>>>=0;var c;b&&(c={label:Z(b+4)});b=Y(a);a=ve(0);c=b.createCommandEncoder(c);W[a>>>0]=c;return a}
|
| 100 |
+
function be(a,b){a>>>=0;b>>>=0;for(var c=(u(),C)[b+12>>>2>>>0],d=(u(),C)[b+16>>>2>>>0],e=[],f=0;f<c;++f)e.push(Y((u(),C)[d+4*f>>>2>>>0]));b={label:Z(b+4),bindGroupLayouts:e,immediateSize:(u(),C)[b+20>>>2>>>0]};c=Y(a);a=xe(0);b=c.createPipelineLayout(b);W[a>>>0]=b;return a}function ce(a,b){a>>>=0;b>>>=0;b={type:Bh[(u(),B)[b+12>>>2>>>0]],count:(u(),C)[b+16>>>2>>>0]};var c=Y(a);a=ye(0);b=c.createQuerySet(b);W[a>>>0]=b;return a}function de(a,b){vh(Y(a>>>0).adapterInfo,b>>>0);return 1}
|
| 101 |
+
var Mh={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,
|
| 102 |
+
"primitive-index":21,"texture-component-swizzle":22,"subgroup-size-control":23,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729,"chromium-experimental-subgroup-matrix":327732};function ee(a,b){b>>>=0;var c=Y(a>>>0);a=qe(4*c.features.size);var d=0,e=0;for(const f of c.features)c=Mh[f],0<=c&&((u(),B)[a+d>>>2>>>0]=c,d+=4,e++);(u(),C)[b+4>>>2>>>0]=a;(u(),C)[b>>>2>>>0]=e}function fe(a,b){th(Y(a>>>0).limits,b>>>0);return 1}
|
| 103 |
+
function ge(a,b){Y(a>>>0).pushErrorScope(xh[b])}function he(a,b,c){b>>>=0;c>>>=0;a=Y(a>>>0);b=Array.from((u(),B).subarray(c>>>2>>>0,c+4*b>>>2>>>0),d=>Y(d));a.submit(b)}function ie(a,b,c,d,e){c=O(c);d>>>=0;e>>>=0;a=Y(a>>>0);b=Y(b>>>0);d=(u(),x).subarray(d>>>0,d+e>>>0);a.writeBuffer(b,c,d,0,e)}n||Vf();n||(v=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),xa());g.wasmBinary&&(ta=g.wasmBinary);g.stackSave=()=>K();g.stackRestore=a=>J(a);g.stackAlloc=a=>Re(a);
|
| 104 |
+
g.setValue=function(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":(u(),w)[a>>>0]=b;break;case "i8":(u(),w)[a>>>0]=b;break;case "i16":(u(),Oa)[a>>>1>>>0]=b;break;case "i32":(u(),B)[a>>>2>>>0]=b;break;case "i64":(u(),E)[a>>>3>>>0]=BigInt(b);break;case "float":(u(),Qa)[a>>>2>>>0]=b;break;case "double":(u(),D)[a>>>3>>>0]=b;break;case "*":(u(),C)[a>>>2>>>0]=b;break;default:G(`invalid type for setValue: ${c}`)}};
|
| 105 |
+
g.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(u(),w)[a>>>0];case "i8":return(u(),w)[a>>>0];case "i16":return(u(),Oa)[a>>>1>>>0];case "i32":return(u(),B)[a>>>2>>>0];case "i64":return(u(),E)[a>>>3>>>0];case "float":return(u(),Qa)[a>>>2>>>0];case "double":return(u(),D)[a>>>3>>>0];case "*":return(u(),C)[a>>>2>>>0];default:G(`invalid type for getValue: ${b}`)}};g.UTF8ToString=ig;g.stringToUTF8=T;g.lengthBytesUTF8=U;
|
| 106 |
+
var Eg=[Jd,Uf,eg,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,gc,hc,ic,Nc,Oc,Qc,Rc,Sc,Tc,Uc],Dg={1274364:(a,b,c,d,e)=>{if("undefined"==typeof g||!g.ed)return 1;a=ig(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=g.ed.get(a);if(!a)return 2;b=Number(b>>>0);c=Number(c>>>0);d=Number(d>>>0);if(b+c>a.byteLength)return 3;try{const f=a.subarray(b,b+c);switch(e){case 0:(u(),x).set(f,d>>>0);break;case 1:g.pe?g.pe(d,f):g.Re(d,f);break;default:return 4}return 0}catch{return 4}},1275188:(a,b,c)=>{g.re(a,(u(),
|
| 107 |
+
x).subarray(b>>>0,b+c>>>0))},1275252:()=>g.Pe(),1275294:a=>{g.qe(a)},1275331:()=>"undefined"!==typeof wasmOffsetConverter};function $a(){return"undefined"!==typeof wasmOffsetConverter}var me,Ka,ne,oe,pe,H,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Ha,Na,Je,Ke,Le,Me,Ne,Oe,I,Pe,Qe,J,Re,K,Se,Te,Ue,Ve,dynCall_vii,We,dynCall_v,Xe,Ye,Ze,dynCall_iii,$e,af,bf,dynCall_vi,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Za;
|
| 108 |
+
function bd(a,b,c,d){var e=K();try{return bf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function ad(a,b,c){var d=K();try{return dynCall_iii(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function sd(a){var b=K();try{dynCall_v(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0)}}function $c(a,b){var c=K();try{return We(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0)}}function ud(a,b,c){var d=K();try{dynCall_vii(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}
|
| 109 |
+
function td(a,b){var c=K();try{dynCall_vi(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0)}}function fd(a,b,c,d,e,f,k){var h=K();try{return Ze(a,b,c,d,e,f,k)}catch(l){J(h);if(l!==l+0)throw l;I(1,0)}}function yd(a,b,c,d,e,f){var k=K();try{Xe(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}function wd(a,b,c,d){var e=K();try{af(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function zd(a,b,c,d,e,f,k){var h=K();try{df(a,b,c,d,e,f,k)}catch(l){J(h);if(l!==l+0)throw l;I(1,0)}}
|
| 110 |
+
function Gd(a,b,c,d,e,f,k){var h=K();try{ef(a,b,c,d,e,f,k)}catch(l){J(h);if(l!==l+0)throw l;I(1,0)}}function Fd(a,b,c,d,e,f,k,h){var l=K();try{pf(a,b,c,d,e,f,k,h)}catch(p){J(l);if(p!==p+0)throw p;I(1,0)}}function Dd(a,b,c,d,e,f,k,h,l,p,q,y){var z=K();try{ff(a,b,c,d,e,f,k,h,l,p,q,y)}catch(A){J(z);if(A!==A+0)throw A;I(1,0)}}function cd(a,b,c,d,e){var f=K();try{return cf(a,b,c,d,e)}catch(k){J(f);if(k!==k+0)throw k;I(1,0)}}
|
| 111 |
+
function Hd(a,b,c,d,e,f){var k=K();try{qf(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}function xd(a,b,c,d,e){var f=K();try{Ye(a,b,c,d,e)}catch(k){J(f);if(k!==k+0)throw k;I(1,0)}}function Ad(a,b,c,d,e,f,k,h){var l=K();try{$e(a,b,c,d,e,f,k,h)}catch(p){J(l);if(p!==p+0)throw p;I(1,0)}}function Zc(a){var b=K();try{return rf(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0)}}function Bd(a,b,c,d,e,f,k,h,l){var p=K();try{hf(a,b,c,d,e,f,k,h,l)}catch(q){J(p);if(q!==q+0)throw q;I(1,0)}}
|
| 112 |
+
function md(a,b,c){var d=K();try{return sf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function pd(a,b){var c=K();try{return Ef(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0);return 0n}}function nd(a,b,c,d){var e=K();try{return tf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function od(a){var b=K();try{return gf(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0);return 0n}}function ld(a,b,c,d){var e=K();try{return uf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}
|
| 113 |
+
function kd(a,b,c,d,e){var f=K();try{return vf(a,b,c,d,e)}catch(k){J(f);if(k!==k+0)throw k;I(1,0)}}function jd(a,b,c,d,e,f){var k=K();try{return wf(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}function ed(a,b,c,d,e,f){var k=K();try{return nf(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}function dd(a,b,c,d,e,f){var k=K();try{return xf(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}
|
| 114 |
+
function gd(a,b,c,d,e,f,k,h){var l=K();try{return of(a,b,c,d,e,f,k,h)}catch(p){J(l);if(p!==p+0)throw p;I(1,0)}}function rd(a,b,c,d,e){var f=K();try{return yf(a,b,c,d,e)}catch(k){J(f);if(k!==k+0)throw k;I(1,0);return 0n}}function Yc(a,b,c,d){var e=K();try{return zf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function Wc(a,b,c,d){var e=K();try{return Af(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}
|
| 115 |
+
function hd(a,b,c,d,e,f,k,h,l,p,q,y){var z=K();try{return Bf(a,b,c,d,e,f,k,h,l,p,q,y)}catch(A){J(z);if(A!==A+0)throw A;I(1,0)}}function Cd(a,b,c,d,e,f,k,h,l,p,q){var y=K();try{Cf(a,b,c,d,e,f,k,h,l,p,q)}catch(z){J(y);if(z!==z+0)throw z;I(1,0)}}function Ed(a,b,c,d,e,f,k,h,l,p,q,y,z,A,ja,Aa){var Nh=K();try{Df(a,b,c,d,e,f,k,h,l,p,q,y,z,A,ja,Aa)}catch(Db){J(Nh);if(Db!==Db+0)throw Db;I(1,0)}}function qd(a,b,c){var d=K();try{return kf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0);return 0n}}
|
| 116 |
+
function Xc(a,b,c){var d=K();try{return jf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function Vc(a,b,c){var d=K();try{return lf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function vd(a,b,c,d){var e=K();try{mf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function ke(){var a=F;a=Object.assign({},a);var b=d=>e=>d(e)>>>0,c=d=>()=>d()>>>0;a.ic=b(a.ic);a.Nc=c(a.Nc);a.Pc=b(a.Pc);a.Bd=(d=>(e,f)=>d(e,f)>>>0)(a.Bd);a.Gd=b(a.Gd);a.Hd=c(a.Hd);a.Ld=b(a.Ld);return a}
|
| 117 |
+
function Fa(){if(0<Mf)Nf=Fa;else if(n)ya?.(g),Ta();else{for(var a=Lf;0<a.length;)a.shift()(g);0<Mf?Nf=Fa:(g.calledRun=!0,va||(Ta(),ya?.(g)))}}var F;n||(F=await (Ea()),Fa());g.PTR_SIZE=4;
|
| 118 |
+
g.webgpuInit=a=>{const b=new WeakMap;let c=1,d=void 0,e=void 0;g.webgpuRegisterDevice=h=>{if(void 0!==e)throw Error("another WebGPU EP inference session is being created.");if(h){var l=b.get(h);if(!l){l=ne();const p=oh(h,l);l=[c++,l,p];b.set(h,l)}d=h;e=l[0];return l}d=void 0;e=0};const f=new Map;g.webgpuOnCreateSession=h=>{if(void 0!==e){var l=e;e=void 0;if(h){const p=oe(l);f.set(h,p);0===l&&a(d??Y(p))}d=void 0}};g.webgpuOnReleaseSession=h=>{f.delete(h)};const k=Symbol("gpuBufferMetadata");g.webgpuRegisterBuffer=
|
| 119 |
+
(h,l,p)=>{if(p)return h[k]=[p,NaN],p;if(p=h[k])return p[1]++,p[0];l=f.get(l);if(void 0===l)throw Error("Invalid session handle passed to webgpuRegisterBuffer");l=nh(h,l);h[k]=[l,1];return l};g.webgpuUnregisterBuffer=h=>{const l=h[k];if(!l)throw Error("Buffer is not registered");l[1]--;0===l[1]&&(re(l[0]),delete h[k])};g.webgpuGetBuffer=h=>Y(h);g.webgpuCreateDownloader=(h,l,p)=>{p=f.get(p);if(void 0===p)throw Error("Invalid session handle passed to webgpuRegisterBuffer");const q=Y(p),y=16*Math.ceil(Number(l)/
|
| 120 |
+
16);return async()=>{const z=q.createBuffer({size:y,usage:9});try{const A=q.createCommandEncoder();A.copyBufferToBuffer(h,0,z,0,y);q.queue.submit([A.finish()]);await z.mapAsync(GPUMapMode.READ);return z.getMappedRange().slice(0,l)}finally{z.destroy()}}};g.pe=(h,l)=>{var p=l.buffer;const q=l.byteOffset,y=l.byteLength;l=16*Math.ceil(Number(y)/16);h=Y(h);if(!d){var z=oe(e);d=Y(z)}z=d.createBuffer({mappedAtCreation:!0,size:l,usage:6});const A=z.getMappedRange();(new Uint8Array(A)).set(new Uint8Array(p,
|
| 121 |
+
q,y));z.unmap();p=d.createCommandEncoder();p.copyBufferToBuffer(z,0,h,0,l);d.queue.submit([p.finish()]);z.destroy()}};
|
| 122 |
+
g.webnnInit=a=>{const b=a[0];[g.Pe,g.qe,g.webnnEnsureTensor,g.re,g.webnnDownloadTensor,g.Oe,g.webnnEnableTraceEvent]=a.slice(1);g.webnnReleaseTensorId=g.qe;g.webnnUploadTensor=g.re;g.webnnRegisterMLContext=g.Oe;g.webnnOnRunStart=c=>b.onRunStart(c);g.webnnOnRunEnd=b.onRunEnd.bind(b);g.webnnOnReleaseSession=c=>{b.onReleaseSession(c)};g.webnnCreateMLTensorDownloader=(c,d)=>b.createMLTensorDownloader(c,d);g.webnnRegisterMLTensor=(c,d,e,f)=>b.registerMLTensor(c,d,e,f);g.webnnCreateMLContext=c=>b.createMLContext(c);
|
| 123 |
+
g.webnnRegisterGraphInput=b.registerGraphInput.bind(b);g.webnnIsGraphInput=b.isGraphInput.bind(b);g.webnnRegisterGraphOutput=b.registerGraphOutput.bind(b);g.webnnIsGraphOutput=b.isGraphOutput.bind(b);g.webnnCreateTemporaryTensor=b.createTemporaryTensor.bind(b);g.webnnIsGraphInputOutputTypeSupported=b.isGraphInputOutputTypeSupported.bind(b)};Sa?moduleRtn=g:moduleRtn=new Promise((a,b)=>{ya=a;za=b});
|
| 124 |
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
ort/ort-wasm-simd-threaded.asyncify.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:39f9f0894d478800487ed9f7dbe92618498db320cf55c8e3d89adff8dce658da
|
| 3 |
+
size 26781914
|
ort/ort-wasm-simd-threaded.jsep.mjs
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var f=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,h=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,m=ba&&self.name?.startsWith("em-pthread");if(h){const {createRequire:a}=await import("module");var require=a(import.meta.url),ca=require("worker_threads");global.Worker=ca.Worker;m=(ba=!ca.Wd)&&"em-pthread"==ca.workerData}f.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(f.ad||(f.ad=new Map)).set(a,b)};
|
| 2 |
+
f.unmountExternalData=()=>{delete f.ad;delete f.Yd;delete f.Xd;delete f.be};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor;
|
| 3 |
+
const da=a=>async(...b)=>{try{if(f.$c)throw Error("Session already started");const d=f.$c={Nd:b[0],errors:[]},c=await a(...b);if(f.$c!==d)throw Error("Session mismatch");f.hd?.flush();const e=d.errors;if(0<e.length){let g=await Promise.all(e);g=g.filter(k=>k);if(0<g.length)throw Error(g.join("\n"));}return c}finally{f.$c=null}};
|
| 4 |
+
f.jsepInit=(a,b)=>{if("webgpu"===a){[f.hd,f.Dd,f.Hd,f.jd,f.Gd,f.bc,f.Id,f.Kd,f.Ed,f.Fd,f.Jd]=b;const d=f.hd;f.jsepRegisterBuffer=(c,e,g,k)=>d.registerBuffer(c,e,g,k);f.jsepGetBuffer=c=>d.getBuffer(c);f.jsepCreateDownloader=(c,e,g)=>d.createDownloader(c,e,g);f.jsepOnCreateSession=c=>{d.onCreateSession(c)};f.jsepOnReleaseSession=c=>{d.onReleaseSession(c)};f.jsepOnRunStart=c=>d.onRunStart(c);f.Ld=(c,e)=>{d.upload(c,e)}}else if("webnn"===a){const d=b[0];[f.Vd,f.vd,f.webnnEnsureTensor,f.wd,f.webnnDownloadTensor,
|
| 5 |
+
f.Ud,f.webnnEnableTraceEvent]=b.slice(1);f.webnnReleaseTensorId=f.vd;f.webnnUploadTensor=f.wd;f.webnnRegisterMLContext=f.Ud;f.webnnOnRunStart=c=>d.onRunStart(c);f.webnnOnRunEnd=d.onRunEnd.bind(d);f.webnnOnReleaseSession=c=>{d.onReleaseSession(c)};f.webnnCreateMLTensorDownloader=(c,e)=>d.createMLTensorDownloader(c,e);f.webnnRegisterMLTensor=(c,e,g,k)=>d.registerMLTensor(c,e,g,k);f.webnnCreateMLContext=c=>d.createMLContext(c);f.webnnRegisterGraphInput=d.registerGraphInput.bind(d);f.webnnIsGraphInput=
|
| 6 |
+
d.isGraphInput.bind(d);f.webnnRegisterGraphOutput=d.registerGraphOutput.bind(d);f.webnnIsGraphOutput=d.isGraphOutput.bind(d);f.webnnCreateTemporaryTensor=d.createTemporaryTensor.bind(d);f.webnnIsGraphInputOutputTypeSupported=d.isGraphInputOutputTypeSupported.bind(d)}};
|
| 7 |
+
let fa=()=>{const a=b=>(...d)=>{const c=q;d=b(...d);return q!=c?ea():d};(b=>{for(const d of b)f[d]=a(f[d])})(["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"]);"undefined"!==typeof da&&(f._OrtRun=da(f._OrtRun),f._OrtRunWithBinding=da(f._OrtRunWithBinding));fa=void 0};f.asyncInit=()=>{fa?.()};var ha="./this.program",ia=(a,b)=>{throw b;},ja=import.meta.url,ka="",la,ma;
|
| 8 |
+
if(h){var fs=require("fs");ja.startsWith("file:")&&(ka=require("path").dirname(require("url").fileURLToPath(ja))+"/");ma=a=>{a=na(a)?new URL(a):a;return fs.readFileSync(a)};la=async a=>{a=na(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(ha=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ia=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ka=(new URL(".",ja)).href}catch{}h||(ba&&(ma=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
| 9 |
+
b.send(null);return new Uint8Array(b.response)}),la=async a=>{if(na(a))return new Promise((d,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?d(e.response):c(e.status)};e.onerror=c;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var oa=console.log.bind(console),pa=console.error.bind(console);
|
| 10 |
+
if(h){var qa=require("util"),ra=a=>"object"==typeof a?qa.inspect(a):a;oa=(...a)=>fs.writeSync(1,a.map(ra).join(" ")+"\n");pa=(...a)=>fs.writeSync(2,a.map(ra).join(" ")+"\n")}var sa=oa,r=pa,ta,ua,t=!1,va,na=a=>a.startsWith("file://");function u(){x.buffer!=A.buffer&&wa()}var xa,ya;
|
| 11 |
+
if(h&&m){var za=ca.parentPort;za.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>za.postMessage(a)});process.on("uncaughtException",a=>{postMessage({Vc:"uncaughtException",error:a});process.exit(1)})}var Aa;
|
| 12 |
+
if(m){var Ba=!1;self.onunhandledrejection=b=>{throw b.reason||b;};function a(b){try{var d=b.data,c=d.Vc;if("load"===c){let e=[];self.onmessage=g=>e.push(g);Aa=()=>{postMessage({Vc:"loaded"});for(let g of e)a(g);self.onmessage=a};for(const g of d.Ad)if(!f[g]||f[g].proxy)f[g]=(...k)=>{postMessage({Vc:"callHandler",yd:g,args:k})},"print"==g&&(sa=f[g]),"printErr"==g&&(r=f[g]);x=d.Rd;wa();ua=d.Sd;Ca();Da()}else if("run"===c){Ea(d.Uc);Fa(d.Uc,0,0,1,0,0);Ga();Ha(d.Uc);Ba||(Ia(),Ba=!0);try{Ja(d.Pd,d.ed)}catch(e){if("unwind"!=
|
| 13 |
+
e)throw e;}}else"setimmediate"!==d.target&&("checkMailbox"===c?Ba&&Ka():c&&(r(`worker: received unknown command ${c}`),r(d)))}catch(e){throw La(),e;}}self.onmessage=a}var A,B,Ma,Na,C,D,Oa,E,F,Pa,Qa=!1;function wa(){var a=x.buffer;f.HEAP8=A=new Int8Array(a);Ma=new Int16Array(a);f.HEAPU8=B=new Uint8Array(a);Na=new Uint16Array(a);f.HEAP32=C=new Int32Array(a);f.HEAPU32=D=new Uint32Array(a);Oa=new Float32Array(a);E=new Float64Array(a);F=new BigInt64Array(a);Pa=new BigUint64Array(a)}
|
| 14 |
+
function Ra(){Qa=!0;m?Aa():G.ub()}function H(a){a="Aborted("+a+")";r(a);t=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ya?.(a);throw a;}var Sa;async function Ta(a){if(!ta)try{var b=await la(a);return new Uint8Array(b)}catch{}if(a==Sa&&ta)a=new Uint8Array(ta);else if(ma)a=ma(a);else throw"both async and sync fetching of the wasm failed";return a}
|
| 15 |
+
async function Ua(a,b){try{var d=await Ta(a);return await WebAssembly.instantiate(d,b)}catch(c){r(`failed to asynchronously prepare wasm: ${c}`),H(c)}}async function Va(a){var b=Sa;if(!ta&&!na(b)&&!h)try{var d=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(d,a)}catch(c){r(`wasm streaming compile failed: ${c}`),r("falling back to ArrayBuffer instantiation")}return Ua(b,a)}
|
| 16 |
+
function Wa(){Xa={ma:Ya,hb:Za,g:$a,J:ab,f:bb,o:cb,i:db,$:eb,b:fb,S:gb,Ha:hb,n:ib,aa:jb,Ya:mb,Da:nb,Fa:ob,Za:pb,Wa:qb,Pa:rb,Va:sb,ka:tb,Ea:ub,Ba:vb,Xa:wb,Ca:xb,cb:yb,fa:zb,wa:Ab,ua:Bb,ea:Cb,N:Db,H:Eb,va:Fb,_:Gb,xa:Hb,Sa:Ib,za:Jb,Ia:Kb,sa:Lb,ga:Mb,Ra:Ha,$a:Nb,Q:Ob,r:Pb,c:Qb,ib:Rb,y:Sb,M:Tb,D:Ub,l:Vb,s:Wb,jb:Xb,I:Yb,R:Zb,j:$b,u:ac,q:bc,k:cc,Ma:dc,Na:ec,Oa:fc,Ka:gc,La:hc,ta:ic,eb:jc,bb:kc,v:lc,ba:mc,ha:nc,ab:oc,V:pc,_a:qc,Aa:rc,F:sc,U:tc,la:uc,ya:vc,gb:wc,fb:xc,Ta:yc,Ua:zc,Ga:Ac,T:Bc,Ja:Cc,ja:Dc,Qa:Ec,
|
| 17 |
+
ia:Fc,lb:Gc,na:Hc,mb:Ic,oa:Jc,G:Kc,e:Lc,t:Mc,w:Nc,B:Oc,nb:Pc,Z:Qc,x:Rc,pa:Sc,X:Tc,ca:Uc,ob:Vc,pb:Wc,O:Xc,qb:Yc,qa:Zc,rb:$c,L:ad,Y:bd,d:cd,A:dd,m:ed,kb:fd,p:gd,z:hd,C:jd,E:kd,K:ld,ra:md,P:nd,da:od,W:pd,sb:qd,tb:rd,h:sd,a:x,db:td};return{a:Xa}}
|
| 18 |
+
async function Ca(){function a(c,e){var g=G=c.exports;c={};for(let [k,l]of Object.entries(g))"function"==typeof l?(g=ud(l),c[k]=g):c[k]=l;G=c;G=vd();wd.push(G.ac);c=G;xd=c.vb;Ia=c.wb;f._OrtInit=c.xb;f._OrtGetLastError=c.yb;f._OrtCreateSessionOptions=c.zb;f._OrtAppendExecutionProvider=c.Ab;f._OrtAddFreeDimensionOverride=c.Bb;f._OrtAddSessionConfigEntry=c.Cb;f._OrtReleaseSessionOptions=c.Db;f._OrtCreateSession=c.Eb;f._OrtReleaseSession=c.Fb;f._OrtGetInputOutputCount=c.Gb;f._OrtGetInputOutputMetadata=
|
| 19 |
+
c.Hb;f._OrtFree=c.Ib;f._OrtCreateTensor=c.Jb;f._OrtGetTensorData=c.Kb;f._OrtReleaseTensor=c.Lb;f._OrtCreateRunOptions=c.Mb;f._OrtAddRunConfigEntry=c.Nb;f._OrtReleaseRunOptions=c.Ob;f._OrtCreateBinding=c.Pb;f._OrtBindInput=c.Qb;f._OrtBindOutput=c.Rb;f._OrtClearBoundOutputs=c.Sb;f._OrtReleaseBinding=c.Tb;f._OrtRunWithBinding=c.Ub;f._OrtRun=c.Vb;f._OrtEndProfiling=c.Wb;f._JsepOutput=c.Xb;f._JsepGetNodeName=c.Yb;yd=c.Zb;I=f._free=c._b;zd=f._malloc=c.$b;Fa=c.cc;La=c.dc;Ad=c.ec;Bd=c.fc;Cd=c.gc;Dd=c.hc;
|
| 20 |
+
Ed=c.ic;J=c.jc;Fd=c.kc;Gd=c.lc;K=c.mc;Hd=c.nc;L=c.oc;Id=c.pc;Jd=c.qc;Kd=c.rc;Ld=c.sc;dynCall_vii=c.tc;Md=c.uc;dynCall_v=c.vc;Nd=c.wc;Od=c.xc;dynCall_iii=c.yc;Pd=c.zc;Qd=c.Ac;Rd=c.Bc;Sd=c.Cc;dynCall_vi=c.Dc;Td=c.Ec;Ud=c.Fc;Vd=c.Gc;Wd=c.Hc;Xd=c.Ic;Yd=c.Jc;Zd=c.Kc;$d=c.Lc;ae=c.Mc;be=c.Nc;ce=c.Oc;de=c.Pc;ee=c.Qc;fe=c.Sc;ge=c.Tc;he=c.cd;ie=c.dd;je=c.id;ke=c.nd;le=c.od;me=c.pd;ne=c.qd;oe=c.rd;pe=c.sd;qe=c.td;re=c.ud;se=c.zd;te=c.Zd;ue=c._d;ve=c.$d;we=c.ae;ua=e;return G}var b=Wa();if(f.instantiateWasm)return new Promise(c=>
|
| 21 |
+
{f.instantiateWasm(b,(e,g)=>{c(a(e,g))})});if(m){var d=new WebAssembly.Instance(ua,Wa());return a(d,ua)}Sa??=f.locateFile?f.locateFile?f.locateFile("ort-wasm-simd-threaded.jsep.wasm",ka):ka+"ort-wasm-simd-threaded.jsep.wasm":(new URL("ort-wasm-simd-threaded.jsep.wasm",import.meta.url)).href;return function(c){return a(c.instance,c.module)}(await Va(b))}class xe{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
| 22 |
+
var ye=a=>{a.terminate();a.onmessage=()=>{}},ze=[],Ae=0,Be=null,Fe=a=>{0==M.length&&(Ce(),De(M[0]));var b=M.pop();if(!b)return 6;Ee.push(b);N[a.Uc]=b;b.Uc=a.Uc;var d={Vc:"run",Pd:a.Od,ed:a.ed,Uc:a.Uc};h&&b.unref();b.postMessage(d,a.md);return 0},O=0,P=(a,b,...d)=>{var c=16*d.length,e=L(),g=Hd(c),k=g>>>3,l;for(l of d)"bigint"==typeof l?((u(),F)[k++>>>0]=1n,(u(),F)[k++>>>0]=l):((u(),F)[k++>>>0]=0n,(u(),E)[k++>>>0]=l);a=Ad(a,0,c,g,b);K(e);return a};
|
| 23 |
+
function td(a){if(m)return P(0,1,a);va=a;if(!(0<O)){for(var b of Ee)ye(b);for(b of M)ye(b);M=[];Ee=[];N={};t=!0}ia(a,new xe(a))}function Ge(a){if(m)return P(1,0,a);Ac(a)}var Ac=a=>{va=a;if(m)throw Ge(a),"unwind";td(a)},M=[],Ee=[],wd=[],N={};function He(){for(var a=f.numThreads-1;a--;)Ce();ze.push(async()=>{var b=Ie();Ae++;await b;Ae--;0==Ae&&Be&&(b=Be,Be=null,b())})}var Je=a=>{var b=a.Uc;delete N[b];M.push(a);Ee.splice(Ee.indexOf(a),1);a.Uc=0;Bd(b)};function Ga(){wd.forEach(a=>a())}
|
| 24 |
+
var De=a=>new Promise(b=>{a.onmessage=g=>{var k=g.data;g=k.Vc;if(k.bd&&k.bd!=yd()){var l=N[k.bd];l?l.postMessage(k,k.md):r(`Internal error! Worker sent a message "${g}" to target pthread ${k.bd}, but that thread no longer exists!`)}else if("checkMailbox"===g)Ka();else if("spawnThread"===g)Fe(k);else if("cleanupThread"===g)Ke(()=>{Je(N[k.Qd])});else if("loaded"===g)a.loaded=!0,h&&!a.Uc&&a.unref(),b(a);else if("setimmediate"===k.target)a.postMessage(k);else if("uncaughtException"===g)a.onerror(k.error);
|
| 25 |
+
else if("callHandler"===g)f[k.yd](...k.args);else g&&r(`worker sent an unknown command ${g}`)};a.onerror=g=>{r(`${"worker sent an error!"} ${g.filename}:${g.lineno}: ${g.message}`);throw g;};h&&(a.on("message",g=>a.onmessage({data:g})),a.on("error",g=>a.onerror(g)));var d=[],c=[],e;for(e of c)f.propertyIsEnumerable(e)&&d.push(e);a.postMessage({Vc:"load",Ad:d,Rd:x,Sd:ua})});async function Ie(){if(!m)return Promise.all(M.map(De))}
|
| 26 |
+
function Ce(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});M.push(a)}function Ea(a){var b=(u(),D)[a+52>>>2>>>0];a=(u(),D)[a+56>>>2>>>0];Gd(b,b-a);K(b)}var Ja=(a,b)=>{O=0;a=Md(a,b);0<O?va=a:Cd(a)},x,Le=[],Me=0;function $a(a){a>>>=0;var b=new Ne(a);0==(u(),A)[b.Wc+12>>>0]&&(Oe(b,!0),Me--);Pe(b,!1);Le.push(b);return Ld(a)}var Q=0,ab=()=>{J(0,0);var a=Le.pop();Id(a.gd);Q=0};
|
| 27 |
+
function Oe(a,b){b=b?1:0;(u(),A)[a.Wc+12>>>0]=b}function Pe(a,b){b=b?1:0;(u(),A)[a.Wc+13>>>0]=b}class Ne{constructor(a){this.gd=a;this.Wc=a-24}}var Qe=a=>{var b=Q;if(!b)return Fd(0),0;var d=new Ne(b);(u(),D)[d.Wc+16>>>2>>>0]=b;var c=(u(),D)[d.Wc+4>>>2>>>0];if(!c)return Fd(0),b;for(var e of a){if(0===e||e===c)break;if(Kd(e,c,d.Wc+16))return Fd(e),b}Fd(c);return b};function bb(){return Qe([])}function cb(a){return Qe([a>>>0])}function db(a,b,d,c){return Qe([a>>>0,b>>>0,d>>>0,c>>>0])}
|
| 28 |
+
var eb=()=>{var a=Le.pop();a||H("no exception to throw");var b=a.gd;0==(u(),A)[a.Wc+13>>>0]&&(Le.push(a),Pe(a,!0),Oe(a,!1),Me++);Jd(b);Q=b;throw Q;};function fb(a,b,d){a>>>=0;var c=new Ne(a);b>>>=0;d>>>=0;(u(),D)[c.Wc+16>>>2>>>0]=0;(u(),D)[c.Wc+4>>>2>>>0]=b;(u(),D)[c.Wc+8>>>2>>>0]=d;Jd(a);Q=a;Me++;throw Q;}var gb=()=>Me;function Re(a,b,d,c){return m?P(2,1,a,b,d,c):hb(a,b,d,c)}
|
| 29 |
+
function hb(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(m&&0===e.length)return Re(a,b,d,c);a={Od:d,Uc:a,ed:c,md:e};return m?(a.Vc="spawnThread",postMessage(a,e),0):Fe(a)}function ib(a){Q||=a>>>0;throw Q;}
|
| 30 |
+
var Se=globalThis.TextDecoder&&new TextDecoder,Te=(a,b,d,c)=>{d=b+d;if(c)return d;for(;a[b]&&!(b>=d);)++b;return b},Ue=(a,b=0,d,c)=>{b>>>=0;d=Te(a,b,d,c);if(16<d-b&&a.buffer&&Se)return Se.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,d):a.slice(b,d));for(c="";b<d;){var e=a[b++];if(e&128){var g=a[b++]&63;if(192==(e&224))c+=String.fromCharCode((e&31)<<6|g);else{var k=a[b++]&63;e=224==(e&240)?(e&15)<<12|g<<6|k:(e&7)<<18|g<<12|k<<6|a[b++]&63;65536>e?c+=String.fromCharCode(e):(e-=65536,c+=String.fromCharCode(55296|
|
| 31 |
+
e>>10,56320|e&1023))}}else c+=String.fromCharCode(e)}return c},R=(a,b,d)=>(a>>>=0)?Ue((u(),B),a,b,d):"";function jb(a,b,d){return m?P(3,1,a,b,d):0}function mb(a,b){if(m)return P(4,1,a,b)}function nb(a,b){if(m)return P(5,1,a,b)}function ob(a,b,d){if(m)return P(6,1,a,b,d)}function pb(a,b,d){return m?P(7,1,a,b,d):0}function qb(a,b){if(m)return P(8,1,a,b)}function rb(a,b,d){if(m)return P(9,1,a,b,d)}function sb(a,b,d,c){if(m)return P(10,1,a,b,d,c)}function tb(a,b,d,c){if(m)return P(11,1,a,b,d,c)}
|
| 32 |
+
function ub(a,b,d,c){if(m)return P(12,1,a,b,d,c)}function vb(a){if(m)return P(13,1,a)}function wb(a,b){if(m)return P(14,1,a,b)}function xb(a,b,d){if(m)return P(15,1,a,b,d)}var yb=()=>H(""),S=a=>{a>>>=0;for(var b="";;){var d=(u(),B)[a++>>>0];if(!d)return b;b+=String.fromCharCode(d)}},Ve={},We={},Xe={},Ye=class extends Error{constructor(a){super(a);this.name="BindingError"}};
|
| 33 |
+
function Ze(a,b,d={}){var c=b.name;if(!a)throw new Ye(`type "${c}" must have a positive integer typeid pointer`);if(We.hasOwnProperty(a)){if(d.Bd)return;throw new Ye(`Cannot register type '${c}' twice`);}We[a]=b;delete Xe[a];Ve.hasOwnProperty(a)&&(b=Ve[a],delete Ve[a],b.forEach(e=>e()))}function T(a,b,d={}){return Ze(a,b,d)}
|
| 34 |
+
var $e=(a,b,d)=>{switch(b){case 1:return d?c=>(u(),A)[c>>>0]:c=>(u(),B)[c>>>0];case 2:return d?c=>(u(),Ma)[c>>>1>>>0]:c=>(u(),Na)[c>>>1>>>0];case 4:return d?c=>(u(),C)[c>>>2>>>0]:c=>(u(),D)[c>>>2>>>0];case 8:return d?c=>(u(),F)[c>>>3>>>0]:c=>(u(),Pa)[c>>>3>>>0];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}};
|
| 35 |
+
function zb(a,b,d,c,e){a>>>=0;d>>>=0;b=S(b>>>0);c=0n===c;let g=k=>k;if(c){const k=8*d;g=l=>BigInt.asUintN(k,l);e=g(e)}T(a,{name:b,Rc:g,Yc:(k,l)=>{"number"==typeof l&&(l=BigInt(l));return l},Xc:$e(b,d,!c),Zc:null})}function Ab(a,b,d,c){a>>>=0;b=S(b>>>0);T(a,{name:b,Rc:function(e){return!!e},Yc:function(e,g){return g?d:c},Xc:function(e){return this.Rc((u(),B)[e>>>0])},Zc:null})}var af=[],U=[0,1,,1,null,1,!0,1,!1,1];function Qb(a){a>>>=0;9<a&&0===--U[a+1]&&(U[a]=void 0,af.push(a))}
|
| 36 |
+
var V=a=>{if(!a)throw new Ye(`Cannot use deleted val. handle = ${a}`);return U[a]},X=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=af.pop()||U.length;U[b]=a;U[b+1]=1;return b}};function bf(a){return this.Rc((u(),D)[a>>>2>>>0])}var cf={name:"emscripten::val",Rc:a=>{var b=V(a);Qb(a);return b},Yc:(a,b)=>X(b),Xc:bf,Zc:null};function Bb(a){return T(a>>>0,cf)}
|
| 37 |
+
var df=(a,b)=>{switch(b){case 4:return function(d){return this.Rc((u(),Oa)[d>>>2>>>0])};case 8:return function(d){return this.Rc((u(),E)[d>>>3>>>0])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}};function Cb(a,b,d){a>>>=0;d>>>=0;b=S(b>>>0);T(a,{name:b,Rc:c=>c,Yc:(c,e)=>e,Xc:df(b,d),Zc:null})}function Db(a,b,d,c,e){a>>>=0;d>>>=0;b=S(b>>>0);let g=l=>l;if(0===c){var k=32-8*d;g=l=>l<<k>>>k;e=g(e)}T(a,{name:b,Rc:g,Yc:(l,n)=>n,Xc:$e(b,d,0!==c),Zc:null})}
|
| 38 |
+
function Eb(a,b,d){function c(g){var k=(u(),D)[g>>>2>>>0];g=(u(),D)[g+4>>>2>>>0];return new e((u(),A).buffer,g,k)}a>>>=0;var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];d=S(d>>>0);T(a,{name:d,Rc:c,Xc:c},{Bd:!0})}
|
| 39 |
+
var Y=(a,b,d)=>{var c=(u(),B);b>>>=0;if(0<d){var e=b;d=b+d-1;for(var g=0;g<a.length;++g){var k=a.codePointAt(g);if(127>=k){if(b>=d)break;c[b++>>>0]=k}else if(2047>=k){if(b+1>=d)break;c[b++>>>0]=192|k>>6;c[b++>>>0]=128|k&63}else if(65535>=k){if(b+2>=d)break;c[b++>>>0]=224|k>>12;c[b++>>>0]=128|k>>6&63;c[b++>>>0]=128|k&63}else{if(b+3>=d)break;c[b++>>>0]=240|k>>18;c[b++>>>0]=128|k>>12&63;c[b++>>>0]=128|k>>6&63;c[b++>>>0]=128|k&63;g++}}c[b>>>0]=0;a=b-e}else a=0;return a},ef=a=>{for(var b=0,d=0;d<a.length;++d){var c=
|
| 40 |
+
a.charCodeAt(d);127>=c?b++:2047>=c?b+=2:55296<=c&&57343>=c?(b+=4,++d):b+=3}return b};
|
| 41 |
+
function Fb(a,b){a>>>=0;b=S(b>>>0);T(a,{name:b,Rc(d){var c=(u(),D)[d>>>2>>>0];c=R(d+4,c,!0);I(d);return c},Yc(d,c){c instanceof ArrayBuffer&&(c=new Uint8Array(c));var e="string"==typeof c;if(!(e||ArrayBuffer.isView(c)&&1==c.BYTES_PER_ELEMENT))throw new Ye("Cannot pass non-string to std::string");var g=e?ef(c):c.length;var k=zd(4+g+1),l=k+4;(u(),D)[k>>>2>>>0]=g;e?Y(c,l,g+1):(u(),B).set(c,l>>>0);null!==d&&d.push(I,k);return k},Xc:bf,Zc(d){I(d)}})}
|
| 42 |
+
var ff=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,gf=(a,b,d)=>{a>>>=1;b=Te((u(),Na),a,b/2,d);if(16<b-a&&ff)return ff.decode((u(),Na).slice(a,b));for(d="";a<b;++a){var c=(u(),Na)[a>>>0];d+=String.fromCharCode(c)}return d},hf=(a,b,d)=>{d??=2147483647;if(2>d)return 0;d-=2;var c=b;d=d<2*a.length?d/2:a.length;for(var e=0;e<d;++e){var g=a.charCodeAt(e);(u(),Ma)[b>>>1>>>0]=g;b+=2}(u(),Ma)[b>>>1>>>0]=0;return b-c},jf=a=>2*a.length,kf=(a,b,d)=>{var c="";a>>>=2;for(var e=0;!(e>=b/4);e++){var g=
|
| 43 |
+
(u(),D)[a+e>>>0];if(!g&&!d)break;c+=String.fromCodePoint(g)}return c},lf=(a,b,d)=>{b>>>=0;d??=2147483647;if(4>d)return 0;var c=b;d=c+d-4;for(var e=0;e<a.length;++e){var g=a.codePointAt(e);65535<g&&e++;(u(),C)[b>>>2>>>0]=g;b+=4;if(b+4>d)break}(u(),C)[b>>>2>>>0]=0;return b-c},mf=a=>{for(var b=0,d=0;d<a.length;++d)65535<a.codePointAt(d)&&d++,b+=4;return b};
|
| 44 |
+
function Gb(a,b,d){a>>>=0;b>>>=0;d>>>=0;d=S(d);if(2===b){var c=gf;var e=hf;var g=jf}else c=kf,e=lf,g=mf;T(a,{name:d,Rc:k=>{var l=(u(),D)[k>>>2>>>0];l=c(k+4,l*b,!0);I(k);return l},Yc:(k,l)=>{if("string"!=typeof l)throw new Ye(`Cannot pass non-string to C++ string type ${d}`);var n=g(l),p=zd(4+n+b);(u(),D)[p>>>2>>>0]=n/b;e(l,p+4,n+b);null!==k&&k.push(I,p);return p},Xc:bf,Zc(k){I(k)}})}function Hb(a,b){a>>>=0;b=S(b>>>0);T(a,{Cd:!0,name:b,Rc:()=>{},Yc:()=>{}})}
|
| 45 |
+
function Ib(a){Fa(a>>>0,!ba,1,!aa,131072,!1);Ga()}var Ke=a=>{if(!t)try{if(a(),!(0<O))try{m?yd()&&Cd(va):Ac(va)}catch(b){b instanceof xe||"unwind"==b||ia(1,b)}}catch(b){b instanceof xe||"unwind"==b||ia(1,b)}},nf=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ha(a){a>>>=0;nf||(Atomics.waitAsync((u(),C),a>>>2,a).value.then(Ka),a+=128,Atomics.store((u(),C),a>>>2,1))}var Ka=()=>Ke(()=>{var a=yd();a&&(Ha(a),Ed())});
|
| 46 |
+
function Jb(a,b){a>>>=0;a==b>>>0?setTimeout(Ka):m?postMessage({bd:a,Vc:"checkMailbox"}):(a=N[a])&&a.postMessage({Vc:"checkMailbox"})}var of=[];function Kb(a,b,d,c,e){b>>>=0;e>>>=0;of.length=0;d=e>>>3;for(c=e+c>>>3;d<c;){var g;(u(),F)[d++>>>0]?g=(u(),F)[d++>>>0]:g=(u(),E)[d++>>>0];of.push(g)}return(b?pf[b]:qf[a])(...of)}var Lb=()=>{O=0};function Mb(a){a>>>=0;m?postMessage({Vc:"cleanupThread",Qd:a}):Je(N[a])}function Nb(a){h&&N[a>>>0].ref()}var rf=a=>{try{a()}catch(b){H(b)}};
|
| 47 |
+
function ud(a){var b=(...d)=>{sf.push(a);try{return a(...d)}finally{t||(sf.pop(),q&&1===Z&&0===sf.length&&(Z=0,O+=1,rf(ue),"undefined"!=typeof Fibers&&Fibers.de()))}};tf.set(a,b);return b}var Z=0,q=null,uf=0,sf=[],vf=new Map,wf=new Map,tf=new Map,xf=0,yf=null,zf=[];function ea(){return new Promise((a,b)=>{yf={resolve:a,reject:b}})}
|
| 48 |
+
function Af(){var a=zd(65548),b=a+12;(u(),D)[a>>>2>>>0]=b;(u(),D)[a+4>>>2>>>0]=b+65536;b=sf[0];if(!vf.has(b)){var d=xf++;vf.set(b,d);wf.set(d,b)}b=vf.get(b);(u(),C)[a+8>>>2>>>0]=b;return a}function Bf(){var a=(u(),C)[q+8>>>2>>>0];a=wf.get(a);a=tf.get(a);--O;return a()}
|
| 49 |
+
function Cf(a){if(!t){if(0===Z){var b=!1,d=!1;a((c=0)=>{if(!t&&(uf=c,b=!0,d)){Z=2;rf(()=>ve(q));"undefined"!=typeof MainLoop&&MainLoop.xd&&MainLoop.resume();c=!1;try{var e=Bf()}catch(l){e=l,c=!0}var g=!1;if(!q){var k=yf;k&&(yf=null,(c?k.reject:k.resolve)(e),g=!0)}if(c&&!g)throw e;}});d=!0;b||(Z=1,q=Af(),"undefined"!=typeof MainLoop&&MainLoop.xd&&MainLoop.pause(),rf(()=>te(q)))}else 2===Z?(Z=0,rf(we),I(q),q=null,zf.forEach(Ke)):H(`invalid state: ${Z}`);return uf}}var Df=a=>Cf(b=>{a().then(b)});
|
| 50 |
+
function Ob(a){a>>>=0;return Df(async()=>{var b=await V(a);return X(b)})}var Ef=[],Ff=a=>{var b=Ef.length;Ef.push(a);return b},Gf=(a,b)=>{for(var d=Array(a),c=0;c<a;++c){var e=c,g=(u(),D)[b+4*c>>>2>>>0],k=We[g];if(void 0===k)throw a=`parameter ${c}`,g=xd(g),b=S(g),I(g),new Ye(`${a} has unknown type ${b}`);d[e]=k}return d},Hf=(a,b,d)=>{var c=[];a=a(c,d);c.length&&((u(),D)[b>>>2>>>0]=X(c));return a},If={},Jf=a=>{var b=If[a];return void 0===b?S(a):b};
|
| 51 |
+
function Pb(a,b,d){var [c,...e]=Gf(a,b>>>0);b=c.Yc.bind(c);var g=e.map(n=>n.Xc.bind(n));a--;var k={toValue:V};a=g.map((n,p)=>{var v=`argFromPtr${p}`;k[v]=n;return`${v}(args${p?"+"+8*p:""})`});switch(d){case 0:var l="toValue(handle)";break;case 2:l="new (toValue(handle))";break;case 3:l="";break;case 1:k.getStringOrSymbol=Jf,l="toValue(handle)[getStringOrSymbol(methodName)]"}l+=`(${a})`;c.Cd||(k.toReturnWire=b,k.emval_returnValue=Hf,l=`return emval_returnValue(toReturnWire, destructorsRef, ${l})`);
|
| 52 |
+
l=`return function (handle, methodName, destructorsRef, args) {\n ${l}\n }`;d=(new Function(Object.keys(k),l))(...Object.values(k));l=`methodCaller<(${e.map(n=>n.name)}) => ${c.name}>`;return Ff(Object.defineProperty(d,"name",{value:l}))}function Rb(a,b){b>>>=0;a=V(a>>>0);b=V(b);return a==b}function Sb(a){a>>>=0;if(!a)return X(globalThis);a=Jf(a);return X(globalThis[a])}function Tb(a){a=Jf(a>>>0);return X(f[a])}function Ub(a,b){b>>>=0;a=V(a>>>0);b=V(b);return X(a[b])}
|
| 53 |
+
function Vb(a){a>>>=0;9<a&&(U[a+1]+=1)}function Wb(a,b,d,c,e){return Ef[a>>>0](b>>>0,d>>>0,c>>>0,e>>>0)}function Xb(a,b,d,c,e){return Wb(a>>>0,b>>>0,d>>>0,c>>>0,e>>>0)}function Yb(){return X([])}function Zb(a){a=V(a>>>0);for(var b=Array(a.length),d=0;d<a.length;d++)b[d]=a[d];return X(b)}function $b(a){return X(Jf(a>>>0))}function ac(){return X({})}function bc(a){a>>>=0;for(var b=V(a);b.length;){var d=b.pop();b.pop()(d)}Qb(a)}function cc(a,b,d){b>>>=0;d>>>=0;a=V(a>>>0);b=V(b);d=V(d);a[b]=d}
|
| 54 |
+
function dc(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(u(),C)[b>>>2>>>0]=a.getUTCSeconds();(u(),C)[b+4>>>2>>>0]=a.getUTCMinutes();(u(),C)[b+8>>>2>>>0]=a.getUTCHours();(u(),C)[b+12>>>2>>>0]=a.getUTCDate();(u(),C)[b+16>>>2>>>0]=a.getUTCMonth();(u(),C)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(u(),C)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(u(),C)[b+28>>>2>>>0]=a}
|
| 55 |
+
var Kf=a=>0===a%4&&(0!==a%100||0===a%400),Lf=[0,31,60,91,121,152,182,213,244,274,305,335],Mf=[0,31,59,90,120,151,181,212,243,273,304,334];
|
| 56 |
+
function ec(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(u(),C)[b>>>2>>>0]=a.getSeconds();(u(),C)[b+4>>>2>>>0]=a.getMinutes();(u(),C)[b+8>>>2>>>0]=a.getHours();(u(),C)[b+12>>>2>>>0]=a.getDate();(u(),C)[b+16>>>2>>>0]=a.getMonth();(u(),C)[b+20>>>2>>>0]=a.getFullYear()-1900;(u(),C)[b+24>>>2>>>0]=a.getDay();var d=(Kf(a.getFullYear())?Lf:Mf)[a.getMonth()]+a.getDate()-1|0;(u(),C)[b+28>>>2>>>0]=d;(u(),C)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());d=(new Date(a.getFullYear(),
|
| 57 |
+
6,1)).getTimezoneOffset();var c=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;(u(),C)[b+32>>>2>>>0]=a}
|
| 58 |
+
function fc(a){a>>>=0;var b=new Date((u(),C)[a+20>>>2>>>0]+1900,(u(),C)[a+16>>>2>>>0],(u(),C)[a+12>>>2>>>0],(u(),C)[a+8>>>2>>>0],(u(),C)[a+4>>>2>>>0],(u(),C)[a>>>2>>>0],0),d=(u(),C)[a+32>>>2>>>0],c=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),g=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),k=Math.min(g,e);0>d?(u(),C)[a+32>>>2>>>0]=Number(e!=g&&k==c):0<d!=(k==c)&&(e=Math.max(g,e),b.setTime(b.getTime()+6E4*((0<d?k:e)-c)));(u(),C)[a+24>>>2>>>0]=b.getDay();d=(Kf(b.getFullYear())?
|
| 59 |
+
Lf:Mf)[b.getMonth()]+b.getDate()-1|0;(u(),C)[a+28>>>2>>>0]=d;(u(),C)[a>>>2>>>0]=b.getSeconds();(u(),C)[a+4>>>2>>>0]=b.getMinutes();(u(),C)[a+8>>>2>>>0]=b.getHours();(u(),C)[a+12>>>2>>>0]=b.getDate();(u(),C)[a+16>>>2>>>0]=b.getMonth();(u(),C)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function gc(a,b,d,c,e,g,k){return m?P(16,1,a,b,d,c,e,g,k):-52}function hc(a,b,d,c,e,g){if(m)return P(17,1,a,b,d,c,e,g)}var Nf={},sc=()=>performance.timeOrigin+performance.now();
|
| 60 |
+
function ic(a,b){if(m)return P(18,1,a,b);Nf[a]&&(clearTimeout(Nf[a].id),delete Nf[a]);if(!b)return 0;var d=setTimeout(()=>{delete Nf[a];Ke(()=>Dd(a,performance.timeOrigin+performance.now()))},b);Nf[a]={id:d,ce:b};return 0}
|
| 61 |
+
function jc(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;var e=(new Date).getFullYear(),g=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var k=Math.max(g,e);(u(),D)[a>>>2>>>0]=60*k;(u(),C)[b>>>2>>>0]=Number(g!=e);b=l=>{var n=Math.abs(l);return`UTC${0<=l?"-":"+"}${String(Math.floor(n/60)).padStart(2,"0")}${String(n%60).padStart(2,"0")}`};a=b(g);b=b(e);e<g?(Y(a,d,17),Y(b,c,17)):(Y(a,c,17),Y(b,d,17))}var oc=()=>Date.now(),Of=1;
|
| 62 |
+
function kc(a,b,d){d>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(Of)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(u(),F)[d>>>3>>>0]=BigInt(a);return 0}var Pf=[],Qf=(a,b)=>{Pf.length=0;for(var d;d=(u(),B)[a++>>>0];){var c=105!=d;c&=112!=d;b+=c&&b%8?4:0;Pf.push(112==d?(u(),D)[b>>>2>>>0]:106==d?(u(),F)[b>>>3>>>0]:105==d?(u(),C)[b>>>2>>>0]:(u(),E)[b>>>3>>>0]);b+=c?8:4}return Pf};function lc(a,b,d){a>>>=0;b=Qf(b>>>0,d>>>0);return pf[a](...b)}
|
| 63 |
+
function mc(a,b,d){a>>>=0;b=Qf(b>>>0,d>>>0);return pf[a](...b)}var nc=()=>{};function pc(a,b){return r(R(a>>>0,b>>>0))}var qc=()=>{O+=1;throw"unwind";};function rc(){return 4294901760}var tc=()=>h?require("os").cpus().length:navigator.hardwareConcurrency,Rf={},Sf=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},Tf=a=>{for(var b of a)(a=Sf(b))&&(Rf[a]=b)};
|
| 64 |
+
function wc(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();Tf(a);Rf.kd=Sf(a[3]);Rf.Md=a;return Rf.kd}function uc(a){a=Rf[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;I(uc.ld??0);b=ef(a)+1;var d=zd(b);d&&Y(a,d,b);uc.ld=d;return uc.ld}
|
| 65 |
+
function vc(a){a>>>=0;var b=(u(),B).length;if(a<=b||4294901760<a)return!1;for(var d=1;4>=d;d*=2){var c=b*(1+.2/d);c=Math.min(c,a+100663296);a:{c=(Math.min(4294901760,65536*Math.ceil(Math.max(a,c)/65536))-x.buffer.byteLength+65535)/65536|0;try{x.grow(c);wa();var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1}
|
| 66 |
+
function xc(a,b,d){a>>>=0;b>>>=0;if(Rf.kd==a)var c=Rf.Md;else c=Error().stack.toString().split("\n"),"Error"==c[0]&&c.shift(),Tf(c);for(var e=3;c[e]&&Sf(c[e])!=a;)++e;for(a=0;a<d&&c[a+e];++a)(u(),C)[b+4*a>>>2>>>0]=Sf(c[a+e]);return a}
|
| 67 |
+
var Uf={},Wf=()=>{if(!Vf){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:ha||"./this.program"},b;for(b in Uf)void 0===Uf[b]?delete a[b]:a[b]=Uf[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Vf=d}return Vf},Vf;function yc(a,b){if(m)return P(19,1,a,b);a>>>=0;b>>>=0;var d=0,c=0,e;for(e of Wf()){var g=b+d;(u(),D)[a+c>>>2>>>0]=g;d+=Y(e,g,Infinity)+1;c+=4}return 0}
|
| 68 |
+
function zc(a,b){if(m)return P(20,1,a,b);a>>>=0;b>>>=0;var d=Wf();(u(),D)[a>>>2>>>0]=d.length;a=0;for(var c of d)a+=ef(c)+1;(u(),D)[b>>>2>>>0]=a;return 0}function Bc(a){return m?P(21,1,a):52}function Cc(a,b,d,c,e){return m?P(22,1,a,b,d,c,e):52}function Dc(a,b,d,c){return m?P(23,1,a,b,d,c):52}function Ec(a,b,d,c){return m?P(24,1,a,b,d,c):70}var Xf=[null,[],[]];
|
| 69 |
+
function Fc(a,b,d,c){if(m)return P(25,1,a,b,d,c);b>>>=0;d>>>=0;c>>>=0;for(var e=0,g=0;g<d;g++){var k=(u(),D)[b>>>2>>>0],l=(u(),D)[b+4>>>2>>>0];b+=8;for(var n=0;n<l;n++){var p=a,v=(u(),B)[k+n>>>0],w=Xf[p];0===v||10===v?((1===p?sa:r)(Ue(w)),w.length=0):w.push(v)}e+=l}(u(),D)[c>>>2>>>0]=e;return 0}function sd(a){return a>>>0}m||He();m||(x=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),wa());f.wasmBinary&&(ta=f.wasmBinary);f.stackSave=()=>L();f.stackRestore=a=>K(a);f.stackAlloc=a=>Hd(a);
|
| 70 |
+
f.setValue=function(a,b,d="i8"){d.endsWith("*")&&(d="*");switch(d){case "i1":(u(),A)[a>>>0]=b;break;case "i8":(u(),A)[a>>>0]=b;break;case "i16":(u(),Ma)[a>>>1>>>0]=b;break;case "i32":(u(),C)[a>>>2>>>0]=b;break;case "i64":(u(),F)[a>>>3>>>0]=BigInt(b);break;case "float":(u(),Oa)[a>>>2>>>0]=b;break;case "double":(u(),E)[a>>>3>>>0]=b;break;case "*":(u(),D)[a>>>2>>>0]=b;break;default:H(`invalid type for setValue: ${d}`)}};
|
| 71 |
+
f.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(u(),A)[a>>>0];case "i8":return(u(),A)[a>>>0];case "i16":return(u(),Ma)[a>>>1>>>0];case "i32":return(u(),C)[a>>>2>>>0];case "i64":return(u(),F)[a>>>3>>>0];case "float":return(u(),Oa)[a>>>2>>>0];case "double":return(u(),E)[a>>>3>>>0];case "*":return(u(),D)[a>>>2>>>0];default:H(`invalid type for getValue: ${b}`)}};f.UTF8ToString=R;f.stringToUTF8=Y;f.lengthBytesUTF8=ef;
|
| 72 |
+
var qf=[td,Ge,Re,jb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,gc,hc,ic,yc,zc,Bc,Cc,Dc,Ec,Fc],pf={1086876:(a,b,d,c,e)=>{if("undefined"==typeof f||!f.ad)return 1;a=R(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=f.ad.get(a);if(!a)return 2;b=Number(b>>>0);d=Number(d>>>0);c=Number(c>>>0);if(b+d>a.byteLength)return 3;try{const g=a.subarray(b,b+d);switch(e){case 0:(u(),B).set(g,c>>>0);break;case 1:f.Td?f.Td(c,g):f.Ld(c,g);break;default:return 4}return 0}catch{return 4}},1087700:(a,b,d)=>{f.wd(a,(u(),
|
| 73 |
+
B).subarray(b>>>0,b+d>>>0))},1087764:()=>f.Vd(),1087806:a=>{f.vd(a)},1087843:()=>{f.Ed()},1087874:()=>{f.Fd()},1087903:()=>{f.Jd()},1087928:a=>f.Dd(a),1087961:a=>f.Hd(a),1087993:(a,b,d)=>{f.jd(Number(a),Number(b),Number(d),!0)},1088056:(a,b,d)=>{f.jd(Number(a),Number(b),Number(d))},1088113:()=>"undefined"!==typeof wasmOffsetConverter,1088170:a=>{f.bc("Abs",a,void 0)},1088221:a=>{f.bc("Neg",a,void 0)},1088272:a=>{f.bc("Floor",a,void 0)},1088325:a=>{f.bc("Ceil",a,void 0)},1088377:a=>{f.bc("Reciprocal",
|
| 74 |
+
a,void 0)},1088435:a=>{f.bc("Sqrt",a,void 0)},1088487:a=>{f.bc("Exp",a,void 0)},1088538:a=>{f.bc("Erf",a,void 0)},1088589:a=>{f.bc("Sigmoid",a,void 0)},1088644:(a,b,d)=>{f.bc("HardSigmoid",a,{alpha:b,beta:d})},1088723:a=>{f.bc("HardSwish",a,void 0)},1088780:a=>{f.bc("Log",a,void 0)},1088831:a=>{f.bc("Sin",a,void 0)},1088882:a=>{f.bc("Cos",a,void 0)},1088933:a=>{f.bc("Tan",a,void 0)},1088984:a=>{f.bc("Asin",a,void 0)},1089036:a=>{f.bc("Acos",a,void 0)},1089088:a=>{f.bc("Atan",a,void 0)},1089140:a=>
|
| 75 |
+
{f.bc("Sinh",a,void 0)},1089192:a=>{f.bc("Cosh",a,void 0)},1089244:a=>{f.bc("Asinh",a,void 0)},1089297:a=>{f.bc("Acosh",a,void 0)},1089350:a=>{f.bc("Atanh",a,void 0)},1089403:a=>{f.bc("Tanh",a,void 0)},1089455:a=>{f.bc("Not",a,void 0)},1089506:(a,b,d)=>{f.bc("Clip",a,{min:b,max:d})},1089575:a=>{f.bc("Clip",a,void 0)},1089627:(a,b)=>{f.bc("Elu",a,{alpha:b})},1089685:a=>{f.bc("Gelu",a,void 0)},1089737:a=>{f.bc("Relu",a,void 0)},1089789:(a,b)=>{f.bc("LeakyRelu",a,{alpha:b})},1089853:(a,b)=>{f.bc("ThresholdedRelu",
|
| 76 |
+
a,{alpha:b})},1089923:(a,b)=>{f.bc("Cast",a,{to:b})},1089981:a=>{f.bc("Add",a,void 0)},1090032:a=>{f.bc("Sub",a,void 0)},1090083:a=>{f.bc("Mul",a,void 0)},1090134:a=>{f.bc("Div",a,void 0)},1090185:a=>{f.bc("Pow",a,void 0)},1090236:a=>{f.bc("Equal",a,void 0)},1090289:a=>{f.bc("Greater",a,void 0)},1090344:a=>{f.bc("GreaterOrEqual",a,void 0)},1090406:a=>{f.bc("Less",a,void 0)},1090458:a=>{f.bc("LessOrEqual",a,void 0)},1090517:(a,b,d,c,e)=>{f.bc("ReduceMean",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?
|
| 77 |
+
Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1090692:(a,b,d,c,e)=>{f.bc("ReduceMax",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1090866:(a,b,d,c,e)=>{f.bc("ReduceMin",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1091040:(a,b,d,c,e)=>{f.bc("ReduceProd",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):
|
| 78 |
+
[]})},1091215:(a,b,d,c,e)=>{f.bc("ReduceSum",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1091389:(a,b,d,c,e)=>{f.bc("ReduceL1",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1091562:(a,b,d,c,e)=>{f.bc("ReduceL2",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1091735:(a,b,d,c,e)=>{f.bc("ReduceLogSum",a,{keepDims:!!b,
|
| 79 |
+
noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1091912:(a,b,d,c,e)=>{f.bc("ReduceSumSquare",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1092092:(a,b,d,c,e)=>{f.bc("ReduceLogSumExp",a,{keepDims:!!b,noopWithEmptyAxes:!!d,axes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1092272:a=>{f.bc("Where",a,void 0)},1092325:(a,b,d)=>{f.bc("Transpose",a,{perm:b?Array.from((u(),C).subarray(Number(b)>>>
|
| 80 |
+
0,Number(d)>>>0)):[]})},1092449:(a,b,d,c)=>{f.bc("DepthToSpace",a,{blocksize:b,mode:R(d),format:c?"NHWC":"NCHW"})},1092582:(a,b,d,c)=>{f.bc("DepthToSpace",a,{blocksize:b,mode:R(d),format:c?"NHWC":"NCHW"})},1092715:(a,b,d,c)=>{f.bc("DFT",a,{axis:b,inverse:d,onesided:c})},1092807:(a,b,d,c,e,g,k,l,n,p,v,w,y,z,W)=>{f.bc("ConvTranspose",a,{format:n?"NHWC":"NCHW",autoPad:b,dilations:[d],group:c,kernelShape:[e],pads:[g,k],strides:[l],wIsConst:()=>!!(u(),A)[p>>>0],outputPadding:v?Array.from((u(),C).subarray(Number(v)>>>
|
| 81 |
+
0,Number(w)>>>0)):[],outputShape:y?Array.from((u(),C).subarray(Number(y)>>>0,Number(z)>>>0)):[],activation:R(W)})},1093240:(a,b,d,c,e,g,k,l,n,p,v,w,y,z)=>{f.bc("ConvTranspose",a,{format:l?"NHWC":"NCHW",autoPad:b,dilations:Array.from((u(),C).subarray(Number(d)>>>0,(Number(d)>>>0)+2>>>0)),group:c,kernelShape:Array.from((u(),C).subarray(Number(e)>>>0,(Number(e)>>>0)+2>>>0)),pads:Array.from((u(),C).subarray(Number(g)>>>0,(Number(g)>>>0)+4>>>0)),strides:Array.from((u(),C).subarray(Number(k)>>>0,(Number(k)>>>
|
| 82 |
+
0)+2>>>0)),wIsConst:()=>!!(u(),A)[n>>>0],outputPadding:p?Array.from((u(),C).subarray(Number(p)>>>0,Number(v)>>>0)):[],outputShape:w?Array.from((u(),C).subarray(Number(w)>>>0,Number(y)>>>0)):[],activation:R(z)})},1093901:(a,b,d,c,e,g,k,l,n,p,v,w,y,z,W)=>{f.bc("ConvTranspose",a,{format:n?"NHWC":"NCHW",autoPad:b,dilations:[d],group:c,kernelShape:[e],pads:[g,k],strides:[l],wIsConst:()=>!!(u(),A)[p>>>0],outputPadding:v?Array.from((u(),C).subarray(Number(v)>>>0,Number(w)>>>0)):[],outputShape:y?Array.from((u(),
|
| 83 |
+
C).subarray(Number(y)>>>0,Number(z)>>>0)):[],activation:R(W)})},1094334:(a,b,d,c,e,g,k,l,n,p,v,w,y,z)=>{f.bc("ConvTranspose",a,{format:l?"NHWC":"NCHW",autoPad:b,dilations:Array.from((u(),C).subarray(Number(d)>>>0,(Number(d)>>>0)+2>>>0)),group:c,kernelShape:Array.from((u(),C).subarray(Number(e)>>>0,(Number(e)>>>0)+2>>>0)),pads:Array.from((u(),C).subarray(Number(g)>>>0,(Number(g)>>>0)+4>>>0)),strides:Array.from((u(),C).subarray(Number(k)>>>0,(Number(k)>>>0)+2>>>0)),wIsConst:()=>!!(u(),A)[n>>>0],outputPadding:p?
|
| 84 |
+
Array.from((u(),C).subarray(Number(p)>>>0,Number(v)>>>0)):[],outputShape:w?Array.from((u(),C).subarray(Number(w)>>>0,Number(y)>>>0)):[],activation:R(z)})},1094995:(a,b)=>{f.bc("GlobalAveragePool",a,{format:b?"NHWC":"NCHW"})},1095086:(a,b,d,c,e,g,k,l,n,p,v,w,y,z)=>{f.bc("AveragePool",a,{format:z?"NHWC":"NCHW",auto_pad:b,ceil_mode:d,count_include_pad:c,storage_order:e,dilations:g?Array.from((u(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],kernel_shape:l?Array.from((u(),C).subarray(Number(l)>>>0,Number(n)>>>
|
| 85 |
+
0)):[],pads:p?Array.from((u(),C).subarray(Number(p)>>>0,Number(v)>>>0)):[],strides:w?Array.from((u(),C).subarray(Number(w)>>>0,Number(y)>>>0)):[]})},1095565:(a,b)=>{f.bc("GlobalAveragePool",a,{format:b?"NHWC":"NCHW"})},1095656:(a,b,d,c,e,g,k,l,n,p,v,w,y,z)=>{f.bc("AveragePool",a,{format:z?"NHWC":"NCHW",auto_pad:b,ceil_mode:d,count_include_pad:c,storage_order:e,dilations:g?Array.from((u(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],kernel_shape:l?Array.from((u(),C).subarray(Number(l)>>>0,Number(n)>>>
|
| 86 |
+
0)):[],pads:p?Array.from((u(),C).subarray(Number(p)>>>0,Number(v)>>>0)):[],strides:w?Array.from((u(),C).subarray(Number(w)>>>0,Number(y)>>>0)):[]})},1096135:(a,b)=>{f.bc("GlobalMaxPool",a,{format:b?"NHWC":"NCHW"})},1096222:(a,b,d,c,e,g,k,l,n,p,v,w,y,z)=>{f.bc("MaxPool",a,{format:z?"NHWC":"NCHW",auto_pad:b,ceil_mode:d,count_include_pad:c,storage_order:e,dilations:g?Array.from((u(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],kernel_shape:l?Array.from((u(),C).subarray(Number(l)>>>0,Number(n)>>>0)):
|
| 87 |
+
[],pads:p?Array.from((u(),C).subarray(Number(p)>>>0,Number(v)>>>0)):[],strides:w?Array.from((u(),C).subarray(Number(w)>>>0,Number(y)>>>0)):[]})},1096697:(a,b)=>{f.bc("GlobalMaxPool",a,{format:b?"NHWC":"NCHW"})},1096784:(a,b,d,c,e,g,k,l,n,p,v,w,y,z)=>{f.bc("MaxPool",a,{format:z?"NHWC":"NCHW",auto_pad:b,ceil_mode:d,count_include_pad:c,storage_order:e,dilations:g?Array.from((u(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[],kernel_shape:l?Array.from((u(),C).subarray(Number(l)>>>0,Number(n)>>>0)):[],pads:p?
|
| 88 |
+
Array.from((u(),C).subarray(Number(p)>>>0,Number(v)>>>0)):[],strides:w?Array.from((u(),C).subarray(Number(w)>>>0,Number(y)>>>0)):[]})},1097259:(a,b,d,c,e)=>{f.bc("Gemm",a,{alpha:b,beta:d,transA:c,transB:e})},1097363:a=>{f.bc("MatMul",a,void 0)},1097417:(a,b,d,c)=>{f.bc("ArgMax",a,{keepDims:!!b,selectLastIndex:!!d,axis:c})},1097525:(a,b,d,c)=>{f.bc("ArgMin",a,{keepDims:!!b,selectLastIndex:!!d,axis:c})},1097633:(a,b)=>{f.bc("Softmax",a,{axis:b})},1097696:(a,b)=>{f.bc("Concat",a,{axis:b})},1097756:(a,
|
| 89 |
+
b,d,c,e)=>{f.bc("Split",a,{axis:b,numOutputs:d,splitSizes:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1097912:a=>{f.bc("Expand",a,void 0)},1097966:(a,b)=>{f.bc("Gather",a,{axis:Number(b)})},1098037:(a,b)=>{f.bc("GatherElements",a,{axis:Number(b)})},1098116:(a,b)=>{f.bc("GatherND",a,{batch_dims:Number(b)})},1098195:(a,b,d,c,e,g,k,l,n,p,v)=>{f.bc("Resize",a,{antialias:b,axes:d?Array.from((u(),C).subarray(Number(d)>>>0,Number(c)>>>0)):[],coordinateTransformMode:R(e),cubicCoeffA:g,
|
| 90 |
+
excludeOutside:k,extrapolationValue:l,keepAspectRatioPolicy:R(n),mode:R(p),nearestMode:R(v)})},1098557:(a,b,d,c,e,g,k)=>{f.bc("Slice",a,{starts:b?Array.from((u(),C).subarray(Number(b)>>>0,Number(d)>>>0)):[],ends:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[],axes:g?Array.from((u(),C).subarray(Number(g)>>>0,Number(k)>>>0)):[]})},1098821:a=>{f.bc("Tile",a,void 0)},1098873:(a,b,d)=>{f.bc("InstanceNormalization",a,{epsilon:b,format:d?"NHWC":"NCHW"})},1098987:(a,b,d)=>{f.bc("InstanceNormalization",
|
| 91 |
+
a,{epsilon:b,format:d?"NHWC":"NCHW"})},1099101:a=>{f.bc("Range",a,void 0)},1099154:(a,b)=>{f.bc("Einsum",a,{equation:R(b)})},1099235:(a,b,d,c,e)=>{f.bc("Pad",a,{mode:b,value:d,pads:c?Array.from((u(),C).subarray(Number(c)>>>0,Number(e)>>>0)):[]})},1099378:(a,b,d,c,e,g)=>{f.bc("BatchNormalization",a,{epsilon:b,momentum:d,spatial:!!e,trainingMode:!!c,format:g?"NHWC":"NCHW"})},1099547:(a,b,d,c,e,g)=>{f.bc("BatchNormalization",a,{epsilon:b,momentum:d,spatial:!!e,trainingMode:!!c,format:g?"NHWC":"NCHW"})},
|
| 92 |
+
1099716:(a,b,d)=>{f.bc("CumSum",a,{exclusive:Number(b),reverse:Number(d)})},1099813:(a,b,d)=>{f.bc("DequantizeLinear",a,{axis:b,blockSize:d})},1099903:(a,b,d,c,e)=>{f.bc("GridSample",a,{align_corners:b,mode:R(d),padding_mode:R(c),format:e?"NHWC":"NCHW"})},1100073:(a,b,d,c,e)=>{f.bc("GridSample",a,{align_corners:b,mode:R(d),padding_mode:R(c),format:e?"NHWC":"NCHW"})},1100243:(a,b)=>{f.bc("ScatterND",a,{reduction:R(b)})},1100328:(a,b,d,c,e,g,k,l,n)=>{f.bc("Attention",a,{numHeads:b,isUnidirectional:d,
|
| 93 |
+
maskFilterValue:c,scale:e,doRotary:g,qkvHiddenSizes:k?Array.from((u(),C).subarray(Number(l)>>>0,Number(l)+k>>>0)):[],pastPresentShareBuffer:!!n})},1100600:a=>{f.bc("BiasAdd",a,void 0)},1100655:a=>{f.bc("BiasSplitGelu",a,void 0)},1100716:a=>{f.bc("FastGelu",a,void 0)},1100772:(a,b,d,c,e,g,k,l,n,p,v,w,y,z,W,kb)=>{f.bc("Conv",a,{format:w?"NHWC":"NCHW",auto_pad:b,dilations:d?Array.from((u(),C).subarray(Number(d)>>>0,Number(c)>>>0)):[],group:e,kernel_shape:g?Array.from((u(),C).subarray(Number(g)>>>0,Number(k)>>>
|
| 94 |
+
0)):[],pads:l?Array.from((u(),C).subarray(Number(l)>>>0,Number(n)>>>0)):[],strides:p?Array.from((u(),C).subarray(Number(p)>>>0,Number(v)>>>0)):[],w_is_const:()=>!!(u(),A)[Number(y)>>>0],activation:R(z),activation_params:W?Array.from((u(),Oa).subarray(Number(W)>>>0,Number(kb)>>>0)):[]})},1101356:a=>{f.bc("Gelu",a,void 0)},1101408:(a,b,d,c,e,g,k,l,n)=>{f.bc("GroupQueryAttention",a,{numHeads:b,kvNumHeads:d,scale:c,softcap:e,doRotary:g,rotaryInterleaved:k,smoothSoftmax:l,localWindowSize:n})},1101625:(a,
|
| 95 |
+
b,d,c)=>{f.bc("LayerNormalization",a,{axis:b,epsilon:d,simplified:!!c})},1101736:(a,b,d,c)=>{f.bc("LayerNormalization",a,{axis:b,epsilon:d,simplified:!!c})},1101847:(a,b,d,c,e,g)=>{f.bc("MatMulNBits",a,{k:b,n:d,accuracyLevel:c,bits:e,blockSize:g})},1101974:(a,b,d,c,e,g)=>{f.bc("MultiHeadAttention",a,{numHeads:b,isUnidirectional:d,maskFilterValue:c,scale:e,doRotary:g})},1102133:(a,b)=>{f.bc("QuickGelu",a,{alpha:b})},1102197:(a,b,d,c,e)=>{f.bc("RotaryEmbedding",a,{interleaved:!!b,numHeads:d,rotaryEmbeddingDim:c,
|
| 96 |
+
scale:e})},1102336:(a,b,d)=>{f.bc("SkipLayerNormalization",a,{epsilon:b,simplified:!!d})},1102438:(a,b,d)=>{f.bc("SkipLayerNormalization",a,{epsilon:b,simplified:!!d})},1102540:(a,b,d,c)=>{f.bc("GatherBlockQuantized",a,{gatherAxis:b,quantizeAxis:d,blockSize:c})},1102661:a=>{f.Id(a)},1102695:(a,b)=>f.Kd(Number(a),Number(b),f.$c.Nd,f.$c.errors)};function Za(a,b,d){return Df(async()=>{await f.Gd(Number(a),Number(b),Number(d))})}function Ya(){return"undefined"!==typeof wasmOffsetConverter}
|
| 97 |
+
var xd,Ia,yd,I,zd,Fa,La,Ad,Bd,Cd,Dd,Ed,J,Fd,Gd,K,Hd,L,Id,Jd,Kd,Ld,dynCall_vii,Md,dynCall_v,Nd,Od,dynCall_iii,Pd,Qd,Rd,Sd,dynCall_vi,Td,Ud,Vd,Wd,Xd,Yd,Zd,$d,ae,be,ce,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,Xa;function Nc(a,b,d,c){var e=L();try{return Sd(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Mc(a,b,d){var c=L();try{return dynCall_iii(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}
|
| 98 |
+
function cd(a){var b=L();try{dynCall_v(a)}catch(d){K(b);if(d!==d+0)throw d;J(1,0)}}function Lc(a,b){var d=L();try{return Md(a,b)}catch(c){K(d);if(c!==c+0)throw c;J(1,0)}}function ed(a,b,d){var c=L();try{dynCall_vii(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}function dd(a,b){var d=L();try{dynCall_vi(a,b)}catch(c){K(d);if(c!==c+0)throw c;J(1,0)}}function Rc(a,b,d,c,e,g,k){var l=L();try{return Qd(a,b,d,c,e,g,k)}catch(n){K(l);if(n!==n+0)throw n;J(1,0)}}
|
| 99 |
+
function jd(a,b,d,c,e,g){var k=L();try{Nd(a,b,d,c,e,g)}catch(l){K(k);if(l!==l+0)throw l;J(1,0)}}function gd(a,b,d,c){var e=L();try{Rd(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function hd(a,b,d,c,e){var g=L();try{Od(a,b,d,c,e)}catch(k){K(g);if(k!==k+0)throw k;J(1,0)}}function kd(a,b,d,c,e,g,k){var l=L();try{Ud(a,b,d,c,e,g,k)}catch(n){K(l);if(n!==n+0)throw n;J(1,0)}}function rd(a,b,d,c,e,g,k){var l=L();try{Vd(a,b,d,c,e,g,k)}catch(n){K(l);if(n!==n+0)throw n;J(1,0)}}
|
| 100 |
+
function qd(a,b,d,c,e,g,k,l){var n=L();try{Zd(a,b,d,c,e,g,k,l)}catch(p){K(n);if(p!==p+0)throw p;J(1,0)}}function Oc(a,b,d,c,e){var g=L();try{return Td(a,b,d,c,e)}catch(k){K(g);if(k!==k+0)throw k;J(1,0)}}function Xc(a,b,d){var c=L();try{return $d(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}function ld(a,b,d,c,e,g,k,l){var n=L();try{ae(a,b,d,c,e,g,k,l)}catch(p){K(n);if(p!==p+0)throw p;J(1,0)}}
|
| 101 |
+
function od(a,b,d,c,e,g,k,l,n,p,v,w){var y=L();try{Wd(a,b,d,c,e,g,k,l,n,p,v,w)}catch(z){K(y);if(z!==z+0)throw z;J(1,0)}}function ad(a,b,d){var c=L();try{return be(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0);return 0n}}function md(a,b,d,c,e,g,k,l,n){var p=L();try{Pd(a,b,d,c,e,g,k,l,n)}catch(v){K(p);if(v!==v+0)throw v;J(1,0)}}function Kc(a){var b=L();try{return ce(a)}catch(d){K(b);if(d!==d+0)throw d;J(1,0)}}
|
| 102 |
+
function $c(a,b){var d=L();try{return se(a,b)}catch(c){K(d);if(c!==c+0)throw c;J(1,0);return 0n}}function Yc(a,b,d,c){var e=L();try{return de(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Zc(a){var b=L();try{return ee(a)}catch(d){K(b);if(d!==d+0)throw d;J(1,0);return 0n}}function Wc(a,b,d,c){var e=L();try{return ke(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Vc(a,b,d,c,e){var g=L();try{return le(a,b,d,c,e)}catch(k){K(g);if(k!==k+0)throw k;J(1,0)}}
|
| 103 |
+
function Uc(a,b,d,c,e,g){var k=L();try{return me(a,b,d,c,e,g)}catch(l){K(k);if(l!==l+0)throw l;J(1,0)}}function Qc(a,b,d,c,e,g){var k=L();try{return Xd(a,b,d,c,e,g)}catch(l){K(k);if(l!==l+0)throw l;J(1,0)}}function Pc(a,b,d,c,e,g){var k=L();try{return ne(a,b,d,c,e,g)}catch(l){K(k);if(l!==l+0)throw l;J(1,0)}}function Sc(a,b,d,c,e,g,k,l){var n=L();try{return Yd(a,b,d,c,e,g,k,l)}catch(p){K(n);if(p!==p+0)throw p;J(1,0)}}
|
| 104 |
+
function bd(a,b,d,c,e){var g=L();try{return oe(a,b,d,c,e)}catch(k){K(g);if(k!==k+0)throw k;J(1,0);return 0n}}function Jc(a,b,d,c){var e=L();try{return pe(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Hc(a,b,d,c){var e=L();try{return qe(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function Tc(a,b,d,c,e,g,k,l,n,p,v,w){var y=L();try{return re(a,b,d,c,e,g,k,l,n,p,v,w)}catch(z){K(y);if(z!==z+0)throw z;J(1,0)}}
|
| 105 |
+
function nd(a,b,d,c,e,g,k,l,n,p,v){var w=L();try{ie(a,b,d,c,e,g,k,l,n,p,v)}catch(y){K(w);if(y!==y+0)throw y;J(1,0)}}function pd(a,b,d,c,e,g,k,l,n,p,v,w,y,z,W,kb){var Yf=L();try{je(a,b,d,c,e,g,k,l,n,p,v,w,y,z,W,kb)}catch(lb){K(Yf);if(lb!==lb+0)throw lb;J(1,0)}}function Ic(a,b,d){var c=L();try{return fe(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}function Gc(a,b,d){var c=L();try{return ge(a,b,d)}catch(e){K(c);if(e!==e+0)throw e;J(1,0)}}
|
| 106 |
+
function fd(a,b,d,c){var e=L();try{he(a,b,d,c)}catch(g){K(e);if(g!==g+0)throw g;J(1,0)}}function vd(){var a=G;a=Object.assign({},a);var b=c=>e=>c(e)>>>0,d=c=>()=>c()>>>0;a.vb=b(a.vb);a.Zb=d(a.Zb);a.$b=b(a.$b);a.nc=b(a.nc);a.oc=d(a.oc);a.sc=b(a.sc);return a}function Da(){if(0<Ae)Be=Da;else if(m)xa?.(f),Ra();else{for(var a=ze;0<a.length;)a.shift()(f);0<Ae?Be=Da:(f.calledRun=!0,t||(Ra(),xa?.(f)))}}var G;m||(G=await (Ca()),Da());f.PTR_SIZE=4;
|
| 107 |
+
Qa?moduleRtn=f:moduleRtn=new Promise((a,b)=>{xa=a;ya=b});
|
| 108 |
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
ort/ort-wasm-simd-threaded.jsep.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3ad23231b5bd6d9dda55a7f84606315e0bf35b6750c28ee993c987c54cacab0f
|
| 3 |
+
size 28312028
|
ort/ort-wasm-simd-threaded.jspi.mjs
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var f=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,l=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,n=ba&&self.name?.startsWith("em-pthread");if(l){const {createRequire:a}=await import("module");var require=a(import.meta.url),ca=require("worker_threads");global.Worker=ca.Worker;n=(ba=!ca.aa)&&"em-pthread"==ca.workerData}f.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(f.o||(f.o=new Map)).set(a,b)};
|
| 2 |
+
f.unmountExternalData=()=>{delete f.o;delete f.D;delete f.s;delete f.A};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor,da="./this.program",ea=(a,b)=>{throw b;},fa=import.meta.url,ha="",ia,ja;
|
| 3 |
+
if(l){var fs=require("fs");fa.startsWith("file:")&&(ha=require("path").dirname(require("url").fileURLToPath(fa))+"/");ja=a=>{a=ka(a)?new URL(a):a;return fs.readFileSync(a)};ia=async a=>{a=ka(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(da=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ea=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ha=(new URL(".",fa)).href}catch{}l||(ba&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
| 4 |
+
b.send(null);return new Uint8Array(b.response)}),ia=async a=>{if(ka(a))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var la=console.log.bind(console),ma=console.error.bind(console);
|
| 5 |
+
if(l){var na=require("util"),oa=a=>"object"==typeof a?na.inspect(a):a;la=(...a)=>fs.writeSync(1,a.map(oa).join(" ")+"\n");ma=(...a)=>fs.writeSync(2,a.map(oa).join(" ")+"\n")}var pa=la,r=ma,qa,ra,sa=!1,ta,ka=a=>a.startsWith("file://");function t(){u.buffer!=y.buffer&&ua()}var va,wa;
|
| 6 |
+
if(l&&n){var xa=ca.parentPort;xa.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>xa.postMessage(a)});process.on("uncaughtException",a=>{postMessage({i:"uncaughtException",error:a});process.exit(1)})}var ya;
|
| 7 |
+
if(n){var za=!1;self.onunhandledrejection=b=>{throw b.reason||b;};async function a(b){try{var c=b.data,d=c.i;if("load"===d){let e=[];self.onmessage=g=>e.push(g);ya=()=>{postMessage({i:"loaded"});for(let g of e)a(g);self.onmessage=a};for(const g of c.P)if(!f[g]||f[g].proxy)f[g]=(...k)=>{postMessage({i:"callHandler",O:g,args:k})},"print"==g&&(pa=f[g]),"printErr"==g&&(r=f[g]);u=c.X;ua();ra=c.Y;Aa();Ba()}else if("run"===d){Ca(c.h);Da(c.h,0,0,1,0,0);Ea();Fa(c.h);za||(Ga(),za=!0);try{await Ha(c.V,c.v)}catch(e){if("unwind"!=
|
| 8 |
+
e)throw e;}}else"setimmediate"!==c.target&&("checkMailbox"===d?za&&Ia():d&&(r(`worker: received unknown command ${d}`),r(c)))}catch(e){throw Ja(),e;}}self.onmessage=a}var y,z,Ka,La,A,B,Ma,C,D,Na,Oa=!1;function ua(){var a=u.buffer;f.HEAP8=y=new Int8Array(a);Ka=new Int16Array(a);f.HEAPU8=z=new Uint8Array(a);La=new Uint16Array(a);f.HEAP32=A=new Int32Array(a);f.HEAPU32=B=new Uint32Array(a);Ma=new Float32Array(a);C=new Float64Array(a);D=new BigInt64Array(a);Na=new BigUint64Array(a)}
|
| 9 |
+
function Pa(){Oa=!0;n?ya():F.__wasm_call_ctors()}function Qa(a){a="Aborted("+a+")";r(a);sa=!0;a+=". Build with -sASSERTIONS for more info.";Oa&&Ra();a=new WebAssembly.RuntimeError(a);wa?.(a);throw a;}var Sa;async function Ta(a){if(!qa)try{var b=await ia(a);return new Uint8Array(b)}catch{}if(a==Sa&&qa)a=new Uint8Array(qa);else if(ja)a=ja(a);else throw"both async and sync fetching of the wasm failed";return a}
|
| 10 |
+
async function Ua(a,b){try{var c=await Ta(a);return await WebAssembly.instantiate(c,b)}catch(d){r(`failed to asynchronously prepare wasm: ${d}`),Qa(d)}}async function Va(a){var b=Sa;if(!qa&&!ka(b)&&!l)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){r(`wasm streaming compile failed: ${d}`),r("falling back to ArrayBuffer instantiation")}return Ua(b,a)}
|
| 11 |
+
function Wa(){Xa={HaveOffsetConverter:Ya,__asyncjs__OrtLoadWebAssemblyExternalDataAsync:Za,__pthread_create_js:$a,__syscall_fcntl64:ab,__syscall_fstat64:bb,__syscall_getcwd:cb,__syscall_getdents64:db,__syscall_ioctl:eb,__syscall_lstat64:fb,__syscall_mkdirat:gb,__syscall_newfstatat:hb,__syscall_openat:ib,__syscall_readlinkat:jb,__syscall_rmdir:kb,__syscall_stat64:lb,__syscall_unlinkat:mb,_abort_js:nb,_embind_register_bigint:ob,_embind_register_bool:pb,_embind_register_emval:rb,_embind_register_float:sb,
|
| 12 |
+
_embind_register_integer:tb,_embind_register_memory_view:ub,_embind_register_std_string:vb,_embind_register_std_wstring:wb,_embind_register_void:xb,_emscripten_init_main_thread_js:yb,_emscripten_notify_mailbox_postmessage:zb,_emscripten_receive_on_main_thread_js:Ab,_emscripten_runtime_keepalive_clear:Bb,_emscripten_thread_cleanup:Cb,_emscripten_thread_mailbox_await:Fa,_emscripten_thread_set_strongref:Db,_emval_await:Eb,_emval_create_invoker:Fb,_emval_decref:Gb,_emval_equals:Hb,_emval_get_global:Ib,
|
| 13 |
+
_emval_get_module_property:Jb,_emval_get_property:Kb,_emval_incref:Lb,_emval_invoke:Mb,_emval_invoke_i64:Nb,_emval_new_array:Ob,_emval_new_array_from_memory_view:Pb,_emval_new_cstring:Qb,_emval_new_object:Rb,_emval_run_destructors:Sb,_emval_set_property:Tb,_gmtime_js:Ub,_localtime_js:Vb,_mktime_js:Wb,_mmap_js:Xb,_munmap_js:Yb,_setitimer_js:Zb,_tzset_js:$b,clock_time_get:ac,emscripten_asm_const_int:bc,emscripten_asm_const_ptr:cc,emscripten_check_blocking_allowed:dc,emscripten_date_now:ec,emscripten_errn:fc,
|
| 14 |
+
emscripten_exit_with_live_runtime:gc,emscripten_get_heap_max:hc,emscripten_get_now:ic,emscripten_has_asyncify:jc,emscripten_num_logical_cores:kc,emscripten_pc_get_function:lc,emscripten_resize_heap:mc,emscripten_stack_snapshot:nc,emscripten_stack_unwind_buffer:oc,emwgpuAdapterRequestDevice:pc,emwgpuBufferDestroy:qc,emwgpuBufferGetConstMappedRange:rc,emwgpuBufferGetMappedRange:sc,emwgpuBufferMapAsync:tc,emwgpuBufferUnmap:uc,emwgpuDelete:vc,emwgpuDeviceCreateBuffer:wc,emwgpuDeviceCreateComputePipelineAsync:xc,
|
| 15 |
+
emwgpuDeviceCreateShaderModule:yc,emwgpuDeviceDestroy:zc,emwgpuDevicePopErrorScope:Ac,emwgpuInstanceRequestAdapter:Bc,emwgpuWaitAny:Cc,environ_get:Dc,environ_sizes_get:Ec,exit:Fc,fd_close:Gc,fd_pread:Hc,fd_read:Ic,fd_seek:Jc,fd_write:Kc,memory:u,proc_exit:Lc,wgpuAdapterGetLimits:Mc,wgpuAdapterHasFeature:Nc,wgpuBufferGetSize:Oc,wgpuBufferGetUsage:Pc,wgpuCommandEncoderBeginComputePass:Qc,wgpuCommandEncoderClearBuffer:Rc,wgpuCommandEncoderCopyBufferToBuffer:Sc,wgpuCommandEncoderFinish:Tc,wgpuCommandEncoderResolveQuerySet:Uc,
|
| 16 |
+
wgpuComputePassEncoderDispatchWorkgroups:Vc,wgpuComputePassEncoderDispatchWorkgroupsIndirect:Wc,wgpuComputePassEncoderEnd:Xc,wgpuComputePassEncoderSetBindGroup:Yc,wgpuComputePassEncoderSetPipeline:Zc,wgpuComputePassEncoderWriteTimestamp:$c,wgpuDeviceCreateBindGroup:ad,wgpuDeviceCreateBindGroupLayout:bd,wgpuDeviceCreateCommandEncoder:cd,wgpuDeviceCreatePipelineLayout:dd,wgpuDeviceCreateQuerySet:ed,wgpuDeviceGetAdapterInfo:fd,wgpuDeviceGetFeatures:gd,wgpuDeviceGetLimits:hd,wgpuDevicePushErrorScope:jd,
|
| 17 |
+
wgpuQueueSubmit:kd,wgpuQueueWriteBuffer:ld};if(!Xa.L){Xa.L=!0;var a=Xa,b=/^(invoke_.*|__asyncjs__.*)$/;for(let [c,d]of Object.entries(a))"function"==typeof d&&(d.B||b.test(c))&&(a[c]=d=new WebAssembly.Suspending(d))}return{env:Xa,wasi_snapshot_preview1:Xa}}
|
| 18 |
+
async function Aa(){function a(d,e){d=F=d.exports;var g=/^(OrtAppendExecutionProvider|OrtCreateSession|OrtRun|OrtRunWithBinding|OrtBindInput|main|__main_argc_argv)$/;md=new Set;var k={};for(let [h,m]of Object.entries(d))"function"==typeof m?(g.test(h)&&(md.add(m),m=WebAssembly.promising(m)),k[h]=nd(m)):k[h]=m;F=k;F=od();pd.push(F._emscripten_tls_init);d=F;qd=d.__getTypeName;Ga=d._embind_initialize_bindings;f._OrtInit=d.OrtInit;f._OrtGetLastError=d.OrtGetLastError;f._OrtCreateSessionOptions=d.OrtCreateSessionOptions;
|
| 19 |
+
f._OrtAppendExecutionProvider=d.OrtAppendExecutionProvider;f._OrtAddFreeDimensionOverride=d.OrtAddFreeDimensionOverride;f._OrtAddSessionConfigEntry=d.OrtAddSessionConfigEntry;f._OrtReleaseSessionOptions=d.OrtReleaseSessionOptions;f._OrtCreateSession=d.OrtCreateSession;f._OrtReleaseSession=d.OrtReleaseSession;f._OrtGetInputOutputCount=d.OrtGetInputOutputCount;f._OrtGetInputOutputMetadata=d.OrtGetInputOutputMetadata;f._OrtFree=d.OrtFree;f._OrtCreateTensor=d.OrtCreateTensor;f._OrtGetTensorData=d.OrtGetTensorData;
|
| 20 |
+
f._OrtReleaseTensor=d.OrtReleaseTensor;f._OrtCreateRunOptions=d.OrtCreateRunOptions;f._OrtAddRunConfigEntry=d.OrtAddRunConfigEntry;f._OrtReleaseRunOptions=d.OrtReleaseRunOptions;f._OrtCreateBinding=d.OrtCreateBinding;f._OrtBindInput=d.OrtBindInput;f._OrtBindOutput=d.OrtBindOutput;f._OrtClearBoundOutputs=d.OrtClearBoundOutputs;f._OrtReleaseBinding=d.OrtReleaseBinding;f._OrtRunWithBinding=d.OrtRunWithBinding;f._OrtRun=d.OrtRun;f._OrtEndProfiling=d.OrtEndProfiling;rd=f._OrtCreateWebGpuInstance=d.OrtCreateWebGpuInstance;
|
| 21 |
+
f._wgpuCreateInstance=d.wgpuCreateInstance;sd=f._OrtGetWebGpuDevice=d.OrtGetWebGpuDevice;td=d.pthread_self;G=f._free=d.free;ud=f._malloc=d.malloc;vd=f._wgpuBufferRelease=d.wgpuBufferRelease;wd=d.emwgpuCreateBindGroup;xd=d.emwgpuCreateBindGroupLayout;yd=d.emwgpuCreateCommandBuffer;zd=d.emwgpuCreateCommandEncoder;Ad=d.emwgpuCreateComputePassEncoder;Bd=d.emwgpuCreatePipelineLayout;Cd=d.emwgpuCreateQuerySet;Dd=d.emwgpuImportBuffer;Ed=d.emwgpuCreateDevice;Fd=d.emwgpuCreateQueue;Gd=d.emwgpuOnCreateComputePipelineCompleted;
|
| 22 |
+
Hd=d.emwgpuOnDeviceLostCompleted;Id=d.emwgpuOnMapAsyncCompleted;Jd=d.emwgpuOnPopErrorScopeCompleted;Kd=d.emwgpuOnRequestAdapterCompleted;Ld=d.emwgpuOnRequestDeviceCompleted;Md=d.emwgpuOnUncapturedError;Da=d._emscripten_thread_init;Ja=d._emscripten_thread_crashed;Nd=d._emscripten_run_js_on_main_thread;Od=d._emscripten_thread_free_data;Pd=d._emscripten_thread_exit;Qd=d._emscripten_timeout;Rd=d._emscripten_check_mailbox;Sd=d.memalign;Ra=d.__trap;Td=d.emscripten_stack_set_limits;H=d._emscripten_stack_restore;
|
| 23 |
+
Ud=d._emscripten_stack_alloc;I=d.emscripten_stack_get_current;Vd=d.__indirect_function_table;ra=e;return F}var b=Wa();if(f.instantiateWasm)return new Promise(d=>{f.instantiateWasm(b,(e,g)=>{d(a(e,g))})});if(n){var c=new WebAssembly.Instance(ra,Wa());return a(c,ra)}Sa??=f.locateFile?f.locateFile?f.locateFile("ort-wasm-simd-threaded.jspi.wasm",ha):ha+"ort-wasm-simd-threaded.jspi.wasm":(new URL("ort-wasm-simd-threaded.jspi.wasm",import.meta.url)).href;return function(d){return a(d.instance,
|
| 24 |
+
d.module)}(await Va(b))}class Wd{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
| 25 |
+
var Xd=a=>{a.terminate();a.onmessage=()=>{}},Zd=()=>{for(var a=Yd;0<a.length;)a.shift()(f)},Yd=[],$d=0,ae=null,ee=a=>{0==J.length&&(be(),ce(J[0]));var b=J.pop();if(!b)return 6;de.push(b);K[a.h]=b;b.h=a.h;var c={i:"run",V:a.U,v:a.v,h:a.h};l&&b.unref();b.postMessage(c,a.G);return 0},L=0,M=(a,b,...c)=>{var d=16*c.length,e=I(),g=Ud(d),k=g>>>3,h;for(h of c)"bigint"==typeof h?((t(),D)[k++>>>0]=1n,(t(),D)[k++>>>0]=h):((t(),D)[k++>>>0]=0n,(t(),C)[k++>>>0]=h);a=Nd(a,0,d,g,b);H(e);return a};
|
| 26 |
+
function Lc(a){if(n)return M(0,1,a);ta=a;if(!(0<L)){for(var b of de)Xd(b);for(b of J)Xd(b);J=[];de=[];K={};sa=!0}ea(a,new Wd(a))}function fe(a){if(n)return M(1,0,a);Fc(a)}var Fc=a=>{ta=a;if(n)throw fe(a),"unwind";Lc(a)},J=[],de=[],pd=[],K={};function ge(){for(var a=f.numThreads-1;a--;)be();Yd.push(async()=>{var b=he();$d++;await b;$d--;0==$d&&ae&&(b=ae,ae=null,b())})}var ie=a=>{var b=a.h;delete K[b];J.push(a);de.splice(de.indexOf(a),1);a.h=0;Od(b)};function Ea(){pd.forEach(a=>a())}
|
| 27 |
+
var ce=a=>new Promise(b=>{a.onmessage=g=>{var k=g.data;g=k.i;if(k.u&&k.u!=td()){var h=K[k.u];h?h.postMessage(k,k.G):r(`Internal error! Worker sent a message "${g}" to target pthread ${k.u}, but that thread no longer exists!`)}else if("checkMailbox"===g)Ia();else if("spawnThread"===g)ee(k);else if("cleanupThread"===g)N(()=>{ie(K[k.W])});else if("loaded"===g)a.loaded=!0,l&&!a.h&&a.unref(),b(a);else if("setimmediate"===k.target)a.postMessage(k);else if("uncaughtException"===g)a.onerror(k.error);else if("callHandler"===
|
| 28 |
+
g)f[k.O](...k.args);else g&&r(`worker sent an unknown command ${g}`)};a.onerror=g=>{r(`${"worker sent an error!"} ${g.filename}:${g.lineno}: ${g.message}`);throw g;};l&&(a.on("message",g=>a.onmessage({data:g})),a.on("error",g=>a.onerror(g)));var c=[],d=[],e;for(e of d)f.propertyIsEnumerable(e)&&c.push(e);a.postMessage({i:"load",P:c,X:u,Y:ra})});async function he(){if(!n)return Promise.all(J.map(ce))}
|
| 29 |
+
function be(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});J.push(a)}function Ca(a){var b=(t(),B)[a+52>>>2>>>0];a=(t(),B)[a+56>>>2>>>0];Td(b,b-a);H(b)}var je=[],Ha=async(a,b)=>{L=0;var c=WebAssembly,d=c.promising,e=je[a];e||(je[a]=e=Vd.get(a),md?.has(e)&&(je[a]=e=WebAssembly.promising(e)));a=d.call(c,e)(b);a=await a;0<L?ta=a:Pd(a)},u;function ke(a,b,c,d){return n?M(2,1,a,b,c,d):$a(a,b,c,d)}
|
| 30 |
+
var O=a=>-9007199254740992>a||9007199254740992<a?NaN:Number(a);function $a(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(n&&0===e.length)return ke(a,b,c,d);a={U:c,h:a,v:d,G:e};return n?(a.i="spawnThread",postMessage(a,e),0):ee(a)}
|
| 31 |
+
var le=globalThis.TextDecoder&&new TextDecoder,me=(a,b,c,d)=>{c=b+c;if(d)return c;for(;a[b]&&!(b>=c);)++b;return b},ne=(a,b=0,c,d)=>{b>>>=0;c=me(a,b,c,d);if(16<c-b&&a.buffer&&le)return le.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var g=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|g);else{var k=a[b++]&63;e=224==(e&240)?(e&15)<<12|g<<6|k:(e&7)<<18|g<<12|k<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|
|
| 32 |
+
e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},oe=(a,b,c)=>(a>>>=0)?ne((t(),z),a,b,c):"";function ab(a,b,c){return n?M(3,1,a,b,c):0}function bb(a,b){if(n)return M(4,1,a,b)}function cb(a,b){if(n)return M(5,1,a,b)}function db(a,b,c){if(n)return M(6,1,a,b,c)}function eb(a,b,c){return n?M(7,1,a,b,c):0}function fb(a,b){if(n)return M(8,1,a,b)}function gb(a,b,c){if(n)return M(9,1,a,b,c)}function hb(a,b,c,d){if(n)return M(10,1,a,b,c,d)}function ib(a,b,c,d){if(n)return M(11,1,a,b,c,d)}
|
| 33 |
+
function jb(a,b,c,d){if(n)return M(12,1,a,b,c,d)}function kb(a){if(n)return M(13,1,a)}function lb(a,b){if(n)return M(14,1,a,b)}function mb(a,b,c){if(n)return M(15,1,a,b,c)}var nb=()=>Qa(""),P=a=>{a>>>=0;for(var b="";;){var c=(t(),z)[a++>>>0];if(!c)return b;b+=String.fromCharCode(c)}},pe={},qe={},re={},se=class extends Error{constructor(a){super(a);this.name="BindingError"}};
|
| 34 |
+
function te(a,b,c={}){var d=b.name;if(!a)throw new se(`type "${d}" must have a positive integer typeid pointer`);if(qe.hasOwnProperty(a)){if(c.R)return;throw new se(`Cannot register type '${d}' twice`);}qe[a]=b;delete re[a];pe.hasOwnProperty(a)&&(b=pe[a],delete pe[a],b.forEach(e=>e()))}function Q(a,b,c={}){return te(a,b,c)}
|
| 35 |
+
var ue=(a,b,c)=>{switch(b){case 1:return c?d=>(t(),y)[d>>>0]:d=>(t(),z)[d>>>0];case 2:return c?d=>(t(),Ka)[d>>>1>>>0]:d=>(t(),La)[d>>>1>>>0];case 4:return c?d=>(t(),A)[d>>>2>>>0]:d=>(t(),B)[d>>>2>>>0];case 8:return c?d=>(t(),D)[d>>>3>>>0]:d=>(t(),Na)[d>>>3>>>0];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}};
|
| 36 |
+
function ob(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);d=0n===d;let g=k=>k;if(d){const k=8*c;g=h=>BigInt.asUintN(k,h);e=g(e)}Q(a,{name:b,g,l:(k,h)=>{"number"==typeof h&&(h=BigInt(h));return h},j:ue(b,c,!d),m:null})}function pb(a,b,c,d){a>>>=0;b=P(b>>>0);Q(a,{name:b,g:function(e){return!!e},l:function(e,g){return g?c:d},j:function(e){return this.g((t(),z)[e>>>0])},m:null})}var ve=[],we=[0,1,,1,null,1,!0,1,!1,1];function Gb(a){a>>>=0;9<a&&0===--we[a+1]&&(we[a]=void 0,ve.push(a))}
|
| 37 |
+
var R=a=>{if(!a)throw new se(`Cannot use deleted val. handle = ${a}`);return we[a]},S=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=ve.pop()||we.length;we[b]=a;we[b+1]=1;return b}};function xe(a){return this.g((t(),B)[a>>>2>>>0])}var ye={name:"emscripten::val",g:a=>{var b=R(a);Gb(a);return b},l:(a,b)=>S(b),j:xe,m:null};function rb(a){return Q(a>>>0,ye)}
|
| 38 |
+
var ze=(a,b)=>{switch(b){case 4:return function(c){return this.g((t(),Ma)[c>>>2>>>0])};case 8:return function(c){return this.g((t(),C)[c>>>3>>>0])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}};function sb(a,b,c){a>>>=0;c>>>=0;b=P(b>>>0);Q(a,{name:b,g:d=>d,l:(d,e)=>e,j:ze(b,c),m:null})}function tb(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);let g=h=>h;if(0===d){var k=32-8*c;g=h=>h<<k>>>k;e=g(e)}Q(a,{name:b,g,l:(h,m)=>m,j:ue(b,c,0!==d),m:null})}
|
| 39 |
+
function ub(a,b,c){function d(g){var k=(t(),B)[g>>>2>>>0];g=(t(),B)[g+4>>>2>>>0];return new e((t(),y).buffer,g,k)}a>>>=0;var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=P(c>>>0);Q(a,{name:c,g:d,j:d},{R:!0})}
|
| 40 |
+
var T=(a,b,c)=>{var d=(t(),z);b>>>=0;if(0<c){var e=b;c=b+c-1;for(var g=0;g<a.length;++g){var k=a.codePointAt(g);if(127>=k){if(b>=c)break;d[b++>>>0]=k}else if(2047>=k){if(b+1>=c)break;d[b++>>>0]=192|k>>6;d[b++>>>0]=128|k&63}else if(65535>=k){if(b+2>=c)break;d[b++>>>0]=224|k>>12;d[b++>>>0]=128|k>>6&63;d[b++>>>0]=128|k&63}else{if(b+3>=c)break;d[b++>>>0]=240|k>>18;d[b++>>>0]=128|k>>12&63;d[b++>>>0]=128|k>>6&63;d[b++>>>0]=128|k&63;g++}}d[b>>>0]=0;a=b-e}else a=0;return a},U=a=>{for(var b=0,c=0;c<a.length;++c){var d=
|
| 41 |
+
a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b};
|
| 42 |
+
function vb(a,b){a>>>=0;b=P(b>>>0);Q(a,{name:b,g(c){var d=(t(),B)[c>>>2>>>0];d=oe(c+4,d,!0);G(c);return d},l(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new se("Cannot pass non-string to std::string");var g=e?U(d):d.length;var k=ud(4+g+1),h=k+4;(t(),B)[k>>>2>>>0]=g;e?T(d,h,g+1):(t(),z).set(d,h>>>0);null!==c&&c.push(G,k);return k},j:xe,m(c){G(c)}})}
|
| 43 |
+
var Ae=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Be=(a,b,c)=>{a>>>=1;b=me((t(),La),a,b/2,c);if(16<b-a&&Ae)return Ae.decode((t(),La).slice(a,b));for(c="";a<b;++a){var d=(t(),La)[a>>>0];c+=String.fromCharCode(d)}return c},Ce=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e){var g=a.charCodeAt(e);(t(),Ka)[b>>>1>>>0]=g;b+=2}(t(),Ka)[b>>>1>>>0]=0;return b-d},De=a=>2*a.length,Ee=(a,b,c)=>{var d="";a>>>=2;for(var e=0;!(e>=b/4);e++){var g=
|
| 44 |
+
(t(),B)[a+e>>>0];if(!g&&!c)break;d+=String.fromCodePoint(g)}return d},Fe=(a,b,c)=>{b>>>=0;c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var g=a.codePointAt(e);65535<g&&e++;(t(),A)[b>>>2>>>0]=g;b+=4;if(b+4>c)break}(t(),A)[b>>>2>>>0]=0;return b-d},Ge=a=>{for(var b=0,c=0;c<a.length;++c)65535<a.codePointAt(c)&&c++,b+=4;return b};
|
| 45 |
+
function wb(a,b,c){a>>>=0;b>>>=0;c>>>=0;c=P(c);if(2===b){var d=Be;var e=Ce;var g=De}else d=Ee,e=Fe,g=Ge;Q(a,{name:c,g:k=>{var h=(t(),B)[k>>>2>>>0];h=d(k+4,h*b,!0);G(k);return h},l:(k,h)=>{if("string"!=typeof h)throw new se(`Cannot pass non-string to C++ string type ${c}`);var m=g(h),p=ud(4+m+b);(t(),B)[p>>>2>>>0]=m/b;e(h,p+4,m+b);null!==k&&k.push(G,p);return p},j:xe,m(k){G(k)}})}function xb(a,b){a>>>=0;b=P(b>>>0);Q(a,{S:!0,name:b,g:()=>{},l:()=>{}})}
|
| 46 |
+
function yb(a){Da(a>>>0,!ba,1,!aa,131072,!1);Ea()}var N=a=>{if(!sa)try{if(a(),!(0<L))try{n?td()&&Pd(ta):Fc(ta)}catch(b){b instanceof Wd||"unwind"==b||ea(1,b)}}catch(b){b instanceof Wd||"unwind"==b||ea(1,b)}},He=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Fa(a){a>>>=0;He||(Atomics.waitAsync((t(),A),a>>>2,a).value.then(Ia),a+=128,Atomics.store((t(),A),a>>>2,1))}var Ia=()=>N(()=>{var a=td();a&&(Fa(a),Rd())});
|
| 47 |
+
function zb(a,b){a>>>=0;a==b>>>0?setTimeout(Ia):n?postMessage({u:a,i:"checkMailbox"}):(a=K[a])&&a.postMessage({i:"checkMailbox"})}var Ie=[];function Ab(a,b,c,d,e){b>>>=0;e>>>=0;Ie.length=0;c=e>>>3;for(d=e+d>>>3;c<d;){var g;(t(),D)[c++>>>0]?g=(t(),D)[c++>>>0]:g=(t(),C)[c++>>>0];Ie.push(g)}return(b?Je[b]:Ke[a])(...Ie)}var Bb=()=>{L=0};function Cb(a){a>>>=0;n?postMessage({i:"cleanupThread",W:a}):ie(K[a])}function Db(a){l&&K[a>>>0].ref()}function nd(a){return(...b)=>a(...b)}
|
| 48 |
+
var md=null,Le=async a=>{L+=1;try{return await a()}finally{--L}};function Eb(a){a>>>=0;return Le(async()=>{var b=await R(a);return S(b)})}Eb.B=!0;
|
| 49 |
+
var Me=[],Ne=a=>{var b=Me.length;Me.push(a);return b},Oe=(a,b)=>{for(var c=Array(a),d=0;d<a;++d){var e=d,g=(t(),B)[b+4*d>>>2>>>0],k=qe[g];if(void 0===k)throw a=`parameter ${d}`,g=qd(g),b=P(g),G(g),new se(`${a} has unknown type ${b}`);c[e]=k}return c},Pe=(a,b,c)=>{var d=[];a=a(d,c);d.length&&((t(),B)[b>>>2>>>0]=S(d));return a},Qe={},Re=a=>{var b=Qe[a];return void 0===b?P(a):b};
|
| 50 |
+
function Fb(a,b,c){var [d,...e]=Oe(a,b>>>0);b=d.l.bind(d);var g=e.map(m=>m.j.bind(m));a--;var k={toValue:R};a=g.map((m,p)=>{var q=`argFromPtr${p}`;k[q]=m;return`${q}(args${p?"+"+8*p:""})`});switch(c){case 0:var h="toValue(handle)";break;case 2:h="new (toValue(handle))";break;case 3:h="";break;case 1:k.getStringOrSymbol=Re,h="toValue(handle)[getStringOrSymbol(methodName)]"}h+=`(${a})`;d.S||(k.toReturnWire=b,k.emval_returnValue=Pe,h=`return emval_returnValue(toReturnWire, destructorsRef, ${h})`);h=
|
| 51 |
+
`return function (handle, methodName, destructorsRef, args) {\n ${h}\n }`;c=(new Function(Object.keys(k),h))(...Object.values(k));h=`methodCaller<(${e.map(m=>m.name)}) => ${d.name}>`;return Ne(Object.defineProperty(c,"name",{value:h}))}function Hb(a,b){b>>>=0;a=R(a>>>0);b=R(b);return a==b}function Ib(a){a>>>=0;if(!a)return S(globalThis);a=Re(a);return S(globalThis[a])}function Jb(a){a=Re(a>>>0);return S(f[a])}function Kb(a,b){b>>>=0;a=R(a>>>0);b=R(b);return S(a[b])}
|
| 52 |
+
function Lb(a){a>>>=0;9<a&&(we[a+1]+=1)}function Mb(a,b,c,d,e){return Me[a>>>0](b>>>0,c>>>0,d>>>0,e>>>0)}function Nb(a,b,c,d,e){return Mb(a>>>0,b>>>0,c>>>0,d>>>0,e>>>0)}function Ob(){return S([])}function Pb(a){a=R(a>>>0);for(var b=Array(a.length),c=0;c<a.length;c++)b[c]=a[c];return S(b)}function Qb(a){return S(Re(a>>>0))}function Rb(){return S({})}function Sb(a){a>>>=0;for(var b=R(a);b.length;){var c=b.pop();b.pop()(c)}Gb(a)}function Tb(a,b,c){b>>>=0;c>>>=0;a=R(a>>>0);b=R(b);c=R(c);a[b]=c}
|
| 53 |
+
function Ub(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(t(),A)[b>>>2>>>0]=a.getUTCSeconds();(t(),A)[b+4>>>2>>>0]=a.getUTCMinutes();(t(),A)[b+8>>>2>>>0]=a.getUTCHours();(t(),A)[b+12>>>2>>>0]=a.getUTCDate();(t(),A)[b+16>>>2>>>0]=a.getUTCMonth();(t(),A)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(t(),A)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(t(),A)[b+28>>>2>>>0]=a}
|
| 54 |
+
var Se=a=>0===a%4&&(0!==a%100||0===a%400),Te=[0,31,60,91,121,152,182,213,244,274,305,335],Ue=[0,31,59,90,120,151,181,212,243,273,304,334];
|
| 55 |
+
function Vb(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(t(),A)[b>>>2>>>0]=a.getSeconds();(t(),A)[b+4>>>2>>>0]=a.getMinutes();(t(),A)[b+8>>>2>>>0]=a.getHours();(t(),A)[b+12>>>2>>>0]=a.getDate();(t(),A)[b+16>>>2>>>0]=a.getMonth();(t(),A)[b+20>>>2>>>0]=a.getFullYear()-1900;(t(),A)[b+24>>>2>>>0]=a.getDay();var c=(Se(a.getFullYear())?Te:Ue)[a.getMonth()]+a.getDate()-1|0;(t(),A)[b+28>>>2>>>0]=c;(t(),A)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),
|
| 56 |
+
0,1)).getTimezoneOffset();a=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0;(t(),A)[b+32>>>2>>>0]=a}
|
| 57 |
+
function Wb(a){a>>>=0;var b=new Date((t(),A)[a+20>>>2>>>0]+1900,(t(),A)[a+16>>>2>>>0],(t(),A)[a+12>>>2>>>0],(t(),A)[a+8>>>2>>>0],(t(),A)[a+4>>>2>>>0],(t(),A)[a>>>2>>>0],0),c=(t(),A)[a+32>>>2>>>0],d=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),g=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),k=Math.min(g,e);0>c?(t(),A)[a+32>>>2>>>0]=Number(e!=g&&k==d):0<c!=(k==d)&&(e=Math.max(g,e),b.setTime(b.getTime()+6E4*((0<c?k:e)-d)));(t(),A)[a+24>>>2>>>0]=b.getDay();c=(Se(b.getFullYear())?
|
| 58 |
+
Te:Ue)[b.getMonth()]+b.getDate()-1|0;(t(),A)[a+28>>>2>>>0]=c;(t(),A)[a>>>2>>>0]=b.getSeconds();(t(),A)[a+4>>>2>>>0]=b.getMinutes();(t(),A)[a+8>>>2>>>0]=b.getHours();(t(),A)[a+12>>>2>>>0]=b.getDate();(t(),A)[a+16>>>2>>>0]=b.getMonth();(t(),A)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function Xb(a,b,c,d,e,g,k){return n?M(16,1,a,b,c,d,e,g,k):-52}function Yb(a,b,c,d,e,g){if(n)return M(17,1,a,b,c,d,e,g)}var Ve={},ic=()=>performance.timeOrigin+performance.now();
|
| 59 |
+
function Zb(a,b){if(n)return M(18,1,a,b);Ve[a]&&(clearTimeout(Ve[a].id),delete Ve[a]);if(!b)return 0;var c=setTimeout(()=>{delete Ve[a];N(()=>Qd(a,performance.timeOrigin+performance.now()))},b);Ve[a]={id:c,da:b};return 0}
|
| 60 |
+
function $b(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;var e=(new Date).getFullYear(),g=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var k=Math.max(g,e);(t(),B)[a>>>2>>>0]=60*k;(t(),A)[b>>>2>>>0]=Number(g!=e);b=h=>{var m=Math.abs(h);return`UTC${0<=h?"-":"+"}${String(Math.floor(m/60)).padStart(2,"0")}${String(m%60).padStart(2,"0")}`};a=b(g);b=b(e);e<g?(T(a,c,17),T(b,d,17)):(T(a,d,17),T(b,c,17))}var ec=()=>Date.now(),We=1;
|
| 61 |
+
function ac(a,b,c){c>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(We)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(t(),D)[c>>>3>>>0]=BigInt(a);return 0}var Xe=[],Ye=(a,b)=>{Xe.length=0;for(var c;c=(t(),z)[a++>>>0];){var d=105!=c;d&=112!=c;b+=d&&b%8?4:0;Xe.push(112==c?(t(),B)[b>>>2>>>0]:106==c?(t(),D)[b>>>3>>>0]:105==c?(t(),A)[b>>>2>>>0]:(t(),C)[b>>>3>>>0]);b+=d?8:4}return Xe};function bc(a,b,c){a>>>=0;b=Ye(b>>>0,c>>>0);return Je[a](...b)}
|
| 62 |
+
function cc(a,b,c){a>>>=0;b=Ye(b>>>0,c>>>0);return Je[a](...b)}var dc=()=>{};function fc(a,b){return r(oe(a>>>0,b>>>0))}var gc=()=>{L+=1;throw"unwind";};function hc(){return 4294901760}var jc=()=>2,kc=()=>l?require("os").cpus().length:navigator.hardwareConcurrency,Ze={},$e=a=>{var b=U(a)+1,c=ud(b);c&&T(a,c,b);return c},af=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},bf=a=>{for(var b of a)(a=af(b))&&(Ze[a]=b)};
|
| 63 |
+
function nc(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();bf(a);Ze.C=af(a[3]);Ze.T=a;return Ze.C}function lc(a){a=Ze[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;G(lc.F??0);lc.F=$e(a);return lc.F}
|
| 64 |
+
function mc(a){a>>>=0;var b=(t(),z).length;if(a<=b||4294901760<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(4294901760,65536*Math.ceil(Math.max(a,d)/65536))-u.buffer.byteLength+65535)/65536|0;try{u.grow(d);ua();var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1}
|
| 65 |
+
function oc(a,b,c){a>>>=0;b>>>=0;if(Ze.C==a)var d=Ze.T;else d=Error().stack.toString().split("\n"),"Error"==d[0]&&d.shift(),bf(d);for(var e=3;d[e]&&af(d[e])!=a;)++e;for(a=0;a<c&&d[a+e];++a)(t(),A)[b+4*a>>>2>>>0]=af(d[a+e]);return a}
|
| 66 |
+
var V=a=>{var b=U(a)+1,c=Ud(b);T(a,c,b);return c},cf=a=>(t(),B)[a>>>2>>>0]+4294967296*(t(),A)[a+4>>>2>>>0],W=[],df=(a,b)=>{W[a>>>0]=b},X=[],ef=[],ff=(a,b)=>{ef[a]=new Promise(c=>b.finally(()=>c(a)))},Y=a=>{if(a)return W[a>>>0]},gf=(a,b=0)=>{"unmapped"===a.mapState||Qa();b=Dd(b);W[b>>>0]=a;return b},hf=(a,b=0)=>{var c=Fd(b);b=Ed(b,c);W[c>>>0]=a.queue;W[b>>>0]=a;return b},jf=(a,b)=>{for(a=(t(),B)[a>>>2>>>0];a;a=(t(),B)[a>>>2>>>0]){var c=(t(),A)[a+4>>>2>>>0];b[c](a)}},kf=(a,b,c)=>{(t(),B)[a>>>2>>>0]=
|
| 67 |
+
b;(t(),B)[a+4>>>2>>>0]=c},lf=a=>{var b=(t(),B)[a>>>2>>>0];a=(t(),B)[a+4>>>2>>>0];return oe(b,a)},Z=a=>{var b=(t(),B)[a>>>2>>>0];a=(t(),B)[a+4>>>2>>>0];if(b)return oe(b,a);if(0===a)return""},mf=a=>{var b=Z(a+4);var c=(c=(t(),B)[a+12>>>2>>>0])?Y(c):"auto";if(a+=16){var d=Y((t(),B)[a+4>>>2>>>0]);var e=(t(),B)[a+16>>>2>>>0];var g=(t(),B)[a+20>>>2>>>0];if(e){for(var k={},h=0;h<e;++h){var m=g+24*h,p=lf(m+4);k[p]=(t(),C)[m+16>>>3>>>0]}e=k}else e=void 0;a={module:d,constants:e,entryPoint:Z(a+8)}}else a=void 0;
|
| 68 |
+
return{label:b,layout:c,compute:a}},nf=(a,b)=>{function c(g,k,h,m=0){g=a[g]??m;(t(),B)[k+h>>>2>>>0]=g}function d(g,k,h,m=0){k+=h;g=a[g]??m;(t(),B)[k>>>2>>>0]=g;m=(t(),B)[k>>>2>>>0];(t(),B)[k+4>>>2>>>0]=(g-m)/4294967296}var e=(t(),B)[b>>>2>>>0];c("maxTextureDimension1D",b,4);c("maxTextureDimension2D",b,8);c("maxTextureDimension3D",b,12);c("maxTextureArrayLayers",b,16);c("maxBindGroups",b,20);c("maxBindGroupsPlusVertexBuffers",b,24);c("maxBindingsPerBindGroup",b,28);c("maxDynamicUniformBuffersPerPipelineLayout",
|
| 69 |
+
b,32);c("maxDynamicStorageBuffersPerPipelineLayout",b,36);c("maxSampledTexturesPerShaderStage",b,40);c("maxSamplersPerShaderStage",b,44);c("maxStorageBuffersPerShaderStage",b,48);c("maxStorageTexturesPerShaderStage",b,52);c("maxUniformBuffersPerShaderStage",b,56);c("minUniformBufferOffsetAlignment",b,80);c("minStorageBufferOffsetAlignment",b,84);d("maxUniformBufferBindingSize",b,64);d("maxStorageBufferBindingSize",b,72);c("maxVertexBuffers",b,88);d("maxBufferSize",b,96);c("maxVertexAttributes",b,
|
| 70 |
+
104);c("maxVertexBufferArrayStride",b,108);c("maxInterStageShaderVariables",b,112);c("maxColorAttachments",b,116);c("maxColorAttachmentBytesPerSample",b,120);c("maxComputeWorkgroupStorageSize",b,124);c("maxComputeInvocationsPerWorkgroup",b,128);c("maxComputeWorkgroupSizeX",b,132);c("maxComputeWorkgroupSizeY",b,136);c("maxComputeWorkgroupSizeZ",b,140);c("maxComputeWorkgroupsPerDimension",b,144);c("maxImmediateSize",b,148);0!==e&&(t(),c("maxStorageBuffersInVertexStage",e,8,a.maxStorageBuffersPerShaderStage),
|
| 71 |
+
c("maxStorageBuffersInFragmentStage",e,16,a.maxStorageBuffersPerShaderStage),c("maxStorageTexturesInVertexStage",e,12,a.maxStorageTexturesPerShaderStage),c("maxStorageTexturesInFragmentStage",e,20,a.maxStorageTexturesPerShaderStage))},pf=(a,b)=>{(t(),B)[b+52>>>2>>>0]=a.subgroupMinSize;(t(),B)[b+56>>>2>>>0]=a.subgroupMaxSize;var c=$e(a.vendor+a.architecture+a.device+a.description),d=U(a.vendor);kf(b+4,c,d);c+=d;d=U(a.architecture);kf(b+12,c,d);c+=d;d=U(a.device);kf(b+20,c,d);c+=d;d=U(a.description);
|
| 72 |
+
kf(b+28,c,d);c+=d;(t(),A)[b+36>>>2>>>0]=2;c=a.isFallbackAdapter?3:4;(t(),A)[b+40>>>2>>>0]=c;(t(),B)[b+44>>>2>>>0]=0;(t(),B)[b+48>>>2>>>0]=0;jf(b,{327739:e=>{let g=0,k=0;if(a.subgroupMatrixConfigs){g=a.subgroupMatrixConfigs.length;k=ud(20*g);for(const [h,m]of a.subgroupMatrixConfigs.entries()){const p=k+20*h,q=of.indexOf(m.componentType),v=of.indexOf(m.resultComponentType);(t(),A)[p>>>2>>>0]=q;(t(),A)[p+4>>>2>>>0]=v;(t(),B)[p+8>>>2>>>0]=m.M;(t(),B)[p+12>>>2>>>0]=m.N;(t(),B)[p+16>>>2>>>0]=m.K}}(t(),
|
| 73 |
+
B)[e+12>>>2>>>0]=k;(t(),B)[e+8>>>2>>>0]=g}})},qf=[,,"uniform","storage","read-only-storage"],rf=[,"validation","out-of-memory","internal"],sf=[,"compatibility","core"],tf={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",
|
| 74 |
+
13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",23:"subgroup-size-control",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect",327732:"chromium-experimental-subgroup-matrix"},uf=[,"low-power","high-performance"],vf=[,"occlusion","timestamp"],wf=[,,"filtering",
|
| 75 |
+
"non-filtering","comparison"],xf=[,,"write-only","read-only","read-write"],of=[,"f32","f16","u32","i32","u8","i8"],yf=[,"r8unorm","r8snorm","r8uint","r8sint","r16unorm","r16snorm","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16unorm","rg16snorm","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat",
|
| 76 |
+
"rg32float","rg32uint","rg32sint","rgba16unorm","rgba16snorm","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth32float","depth32float-stencil8","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb","bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm","bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb","etc2-rgb8unorm",
|
| 77 |
+
"etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm","astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb",
|
| 78 |
+
"astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"],zf=[,,"float","unfilterable-float","depth","sint","uint"],Af=[,"1d","2d","2d-array","cube","cube-array","3d"],Bf={undefined:1,unknown:1,destroyed:2};
|
| 79 |
+
function pc(a,b,c,d,e,g){b=O(b);c=O(c);d>>>=0;e>>>=0;g>>>=0;var k=Y(a>>>0);a={};if(g){var h=(t(),B)[g+12>>>2>>>0];if(h){var m=(t(),B)[g+16>>>2>>>0];a.requiredFeatures=Array.from((t(),B).subarray(m>>>2>>>0,m+4*h>>>2>>>0),q=>tf[q])}if(h=(t(),B)[g+20>>>2>>>0]){m=(t(),B)[h>>>2>>>0];var p={};function q(x,w,E,qb=!1){w+=E;w=(t(),B)[w>>>2>>>0];4294967295==w||qb&&0==w||(p[x]=w)}function v(x,w,E){w+=E;E=(t(),B)[w>>>2>>>0];var qb=(t(),B)[w+4>>>2>>>0];if(4294967295!=E||4294967295!=qb)p[x]=cf(w)}q("maxTextureDimension1D",
|
| 80 |
+
h,4);q("maxTextureDimension2D",h,8);q("maxTextureDimension3D",h,12);q("maxTextureArrayLayers",h,16);q("maxBindGroups",h,20);q("maxBindGroupsPlusVertexBuffers",h,24);q("maxBindingsPerBindGroup",h,28);q("maxDynamicUniformBuffersPerPipelineLayout",h,32);q("maxDynamicStorageBuffersPerPipelineLayout",h,36);q("maxSampledTexturesPerShaderStage",h,40);q("maxSamplersPerShaderStage",h,44);q("maxStorageBuffersPerShaderStage",h,48);q("maxStorageTexturesPerShaderStage",h,52);q("maxUniformBuffersPerShaderStage",
|
| 81 |
+
h,56);q("minUniformBufferOffsetAlignment",h,80);q("minStorageBufferOffsetAlignment",h,84);v("maxUniformBufferBindingSize",h,64);v("maxStorageBufferBindingSize",h,72);q("maxVertexBuffers",h,88);v("maxBufferSize",h,96);q("maxVertexAttributes",h,104);q("maxVertexBufferArrayStride",h,108);q("maxInterStageShaderVariables",h,112);q("maxColorAttachments",h,116);q("maxColorAttachmentBytesPerSample",h,120);q("maxComputeWorkgroupStorageSize",h,124);q("maxComputeInvocationsPerWorkgroup",h,128);q("maxComputeWorkgroupSizeX",
|
| 82 |
+
h,132);q("maxComputeWorkgroupSizeY",h,136);q("maxComputeWorkgroupSizeZ",h,140);q("maxComputeWorkgroupsPerDimension",h,144);q("maxImmediateSize",h,148,!0);0!==m&&(t(),"maxStorageBuffersInVertexStage"in GPUSupportedLimits.prototype&&(q("maxStorageBuffersInVertexStage",m,8),q("maxStorageTexturesInVertexStage",m,12),q("maxStorageBuffersInFragmentStage",m,16),q("maxStorageTexturesInFragmentStage",m,20)));a.requiredLimits=p}if(h=(t(),B)[g+24>>>2>>>0])h={label:Z(h+4)},a.defaultQueue=h;a.label=Z(g+4)}L+=
|
| 83 |
+
1;ff(b,k.requestDevice(a).then(q=>{--L;N(()=>{W[e>>>0]=q.queue;W[d>>>0]=q;L+=1;ff(c,q.lost.then(v=>{N(()=>{q.onuncapturederror=()=>{};var x=I(),w=V(v.message);Hd(c,Bf[v.reason],w);H(x)});--L}));q.onuncapturederror=v=>{var x=5;v.error instanceof GPUValidationError?x=2:v.error instanceof GPUOutOfMemoryError?x=3:v.error instanceof GPUInternalError&&(x=4);var w=I();v=V(v.error.message);Md(d,x,v);H(w)};"adapterInfo"in q||(q.adapterInfo=k.info);Ld(b,1,d,0)})},q=>{--L;N(()=>{var v=I(),x=V(q.message);Ld(b,
|
| 84 |
+
3,d,x);c&&Hd(c,4,x);H(v)})}))}function qc(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a]}b.destroy()}function rc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(k){return 0}var g=Sd(16,e.byteLength);(t(),z).set(new Uint8Array(e),g>>>0);X[a].push(()=>G(g));return g}
|
| 85 |
+
function sc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(k){return 0}var g=Sd(16,e.byteLength);(t(),z).fill(0,g,e.byteLength);X[a].push(()=>{(new Uint8Array(e)).set((t(),z).subarray(g>>>0,g+e.byteLength>>>0));G(g)});return g}
|
| 86 |
+
function tc(a,b,c,d,e){a>>>=0;b=O(b);c=O(c);e>>>=0;var g=Y(a);X[a]=[];4294967295==e&&(e=void 0);L+=1;ff(b,g.mapAsync(c,d>>>0,e).then(()=>{--L;N(()=>{Id(b,1,0)})},k=>{--L;N(()=>{I();var h=V(k.message);Id(b,"AbortError"===k.name?4:"OperationError"===k.name?3:0,h);delete X[a]})}))}function uc(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a];b.unmap()}}function vc(a){delete W[a>>>0]}
|
| 87 |
+
function wc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=!!(t(),B)[b+32>>>2>>>0];b={label:Z(b+4),usage:(t(),B)[b+16>>>2>>>0],size:cf(b+24),mappedAtCreation:d};a=Y(a);try{var e=a.createBuffer(b)}catch(g){return!1}W[c>>>0]=e;d&&(X[c]=[]);return!0}function xc(a,b,c,d){a>>>=0;b=O(b);d>>>=0;c=mf(c>>>0);a=Y(a);L+=1;ff(b,a.createComputePipelineAsync(c).then(e=>{--L;N(()=>{W[d>>>0]=e;Gd(b,1,d,0)})},e=>{--L;N(()=>{var g=I(),k=V(e.message);Gd(b,"validation"===e.reason?3:"internal"===e.reason?4:0,d,k);H(g)})}))}
|
| 88 |
+
function yc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=(t(),B)[b>>>2>>>0],e=(t(),A)[d+4>>>2>>>0];b={label:Z(b+4),code:""};switch(e){case 2:b.code=lf(d+8)}a=Y(a).createShaderModule(b);W[c>>>0]=a}var zc=a=>{a=Y(a);a.onuncapturederror=null;a.destroy()};
|
| 89 |
+
function Ac(a,b){b=O(b);a=Y(a>>>0);L+=1;ff(b,a.popErrorScope().then(c=>{--L;N(()=>{var d=5;c?c instanceof GPUValidationError?d=2:c instanceof GPUOutOfMemoryError?d=3:c instanceof GPUInternalError&&(d=4):d=1;var e=I(),g=c?V(c.message):0;Jd(b,1,d,g);H(e)})},c=>{--L;N(()=>{var d=I(),e=V(c.message);Jd(b,1,5,e);H(d)})}))}
|
| 90 |
+
function Bc(a,b,c,d){b=O(b);c>>>=0;d>>>=0;if(c){var e={featureLevel:sf[(t(),A)[c+4>>>2>>>0]],powerPreference:uf[(t(),A)[c+8>>>2>>>0]],forceFallbackAdapter:!!(t(),B)[c+12>>>2>>>0]};a=(t(),B)[c>>>2>>>0];0!==a&&(t(),e.fa=!!(t(),B)[a+8>>>2>>>0])}"gpu"in navigator?(L+=1,ff(b,navigator.gpu.requestAdapter(e).then(g=>{--L;N(()=>{if(g)W[d>>>0]=g,Kd(b,1,d,0);else{var k=I(),h=V("WebGPU not available on this browser (requestAdapter returned null)");Kd(b,3,d,h);H(k)}})},g=>{--L;N(()=>{var k=I(),h=V(g.message);
|
| 91 |
+
Kd(b,4,d,h);H(k)})}))):(e=I(),a=V("WebGPU not available on this browser (navigator.gpu is not available)"),Kd(b,3,d,a),H(e))}function Cc(a,b,c){a>>>=0;b>>>=0;c>>>=0;return Le(async()=>{var d=[];if(c){var e=(t(),A)[c>>>2>>>0];d.length=b+1;d[b]=new Promise(h=>setTimeout(h,e,0))}else d.length=b;for(var g=0;g<b;++g){var k=cf(a+8*g);if(!(k in ef))return k;d[g]=ef[k]}d=await Promise.race(d);delete ef[d];return d})}Cc.B=!0;
|
| 92 |
+
var Cf={},Ef=()=>{if(!Df){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:da||"./this.program"},b;for(b in Cf)void 0===Cf[b]?delete a[b]:a[b]=Cf[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Df=c}return Df},Df;function Dc(a,b){if(n)return M(19,1,a,b);a>>>=0;b>>>=0;var c=0,d=0,e;for(e of Ef()){var g=b+c;(t(),B)[a+d>>>2>>>0]=g;c+=T(e,g,Infinity)+1;d+=4}return 0}
|
| 93 |
+
function Ec(a,b){if(n)return M(20,1,a,b);a>>>=0;b>>>=0;var c=Ef();(t(),B)[a>>>2>>>0]=c.length;a=0;for(var d of c)a+=U(d)+1;(t(),B)[b>>>2>>>0]=a;return 0}function Gc(a){return n?M(21,1,a):52}function Hc(a,b,c,d,e){return n?M(22,1,a,b,c,d,e):52}function Ic(a,b,c,d){return n?M(23,1,a,b,c,d):52}function Jc(a,b,c,d){return n?M(24,1,a,b,c,d):70}var Ff=[null,[],[]];
|
| 94 |
+
function Kc(a,b,c,d){if(n)return M(25,1,a,b,c,d);b>>>=0;c>>>=0;d>>>=0;for(var e=0,g=0;g<c;g++){var k=(t(),B)[b>>>2>>>0],h=(t(),B)[b+4>>>2>>>0];b+=8;for(var m=0;m<h;m++){var p=a,q=(t(),z)[k+m>>>0],v=Ff[p];0===q||10===q?((1===p?pa:r)(ne(v)),v.length=0):v.push(q)}e+=h}(t(),B)[d>>>2>>>0]=e;return 0}function Mc(a,b){nf(Y(a>>>0).limits,b>>>0);return 1}function Nc(a,b){return Y(a>>>0).features.has(tf[b])}function Oc(a){return BigInt(Y(a>>>0).size)}function Pc(a){return BigInt(Y(a>>>0).usage)}
|
| 95 |
+
function Qc(a,b){a>>>=0;b>>>=0;if(b){var c=Z(b+4);b=(t(),B)[b+12>>>2>>>0];b=0!==b?{querySet:Y((t(),B)[b+4>>>2>>>0]),beginningOfPassWriteIndex:(t(),B)[b+8>>>2>>>0],endOfPassWriteIndex:(t(),B)[b+12>>>2>>>0]}:void 0;c={label:c,timestampWrites:b}}b=Y(a);a=Ad(0);c=b.beginComputePass(c);W[a>>>0]=c;return a}function Rc(a,b,c,d){c=O(c);d=O(d);a=Y(a>>>0);-1==d&&(d=void 0);a.clearBuffer(Y(b>>>0),c,d)}function Sc(a,b,c,d,e,g){c=O(c);e=O(e);g=O(g);Y(a>>>0).copyBufferToBuffer(Y(b>>>0),c,Y(d>>>0),e,g)}
|
| 96 |
+
function Tc(a){var b=Y(a>>>0);a=yd(0);b=b.finish();W[a>>>0]=b;return a}function Uc(a,b,c,d,e,g){g=O(g);Y(a>>>0).resolveQuerySet(Y(b>>>0),c,d,Y(e>>>0),g)}function Vc(a,b,c,d){Y(a>>>0).dispatchWorkgroups(b,c,d)}function Wc(a,b,c){c=O(c);Y(a>>>0).dispatchWorkgroupsIndirect(Y(b>>>0),c)}function Xc(a){Y(a>>>0).end()}function Yc(a,b,c,d,e){d>>>=0;e>>>=0;a=Y(a>>>0);c=Y(c>>>0);0==d?a.setBindGroup(b,c):a.setBindGroup(b,c,(t(),B),e>>>2,d)}function Zc(a,b){Y(a>>>0).setPipeline(Y(b>>>0))}
|
| 97 |
+
function $c(a,b,c){Y(a>>>0).ea(Y(b>>>0),c)}
|
| 98 |
+
function ad(a,b){function c(e){var g=(t(),B)[e+8>>>2>>>0],k=(t(),B)[e+32>>>2>>>0],h=(t(),B)[e+36>>>2>>>0],m=0;jf(e,{14:p=>{m=(t(),B)[p+8>>>2>>>0]}});g?(k=cf(e+24),-1==k&&(k=void 0),g={buffer:Y(g),offset:cf(e+16),size:k}):g=Y(k||h||m);return{binding:(t(),B)[e+4>>>2>>>0],resource:g}}a>>>=0;b>>>=0;b={label:Z(b+4),layout:Y((t(),B)[b+12>>>2>>>0]),entries:function(e,g){for(var k=[],h=0;h<e;++h)k.push(c(g+40*h));return k}((t(),B)[b+16>>>2>>>0],(t(),B)[b+20>>>2>>>0])};a=Y(a);var d=wd(0);df(d,a.createBindGroup(b));
|
| 99 |
+
return d}
|
| 100 |
+
function bd(a,b){function c(m){var p=(t(),B)[m+4>>>2>>>0];if(p)return{type:qf[p],hasDynamicOffset:!!(t(),B)[m+8>>>2>>>0],minBindingSize:cf(m+16)}}function d(m){if(m=(t(),B)[m+4>>>2>>>0])return{type:wf[m]}}function e(m){var p=(t(),B)[m+4>>>2>>>0];if(p)return{sampleType:zf[p],viewDimension:Af[(t(),A)[m+8>>>2>>>0]],multisampled:!!(t(),B)[m+12>>>2>>>0]}}function g(m){var p=(t(),B)[m+4>>>2>>>0];if(p)return{access:xf[p],format:yf[(t(),A)[m+8>>>2>>>0]],viewDimension:Af[(t(),A)[m+12>>>2>>>0]]}}function k(m){var p={binding:(t(),
|
| 101 |
+
B)[m+4>>>2>>>0],visibility:(t(),B)[m+8>>>2>>>0],buffer:c(m+24),sampler:d(m+48),texture:e(m+56),storageTexture:g(m+72)};jf(m,{13:()=>{p.externalTexture={}}});return p}a>>>=0;b>>>=0;b={label:Z(b+4),entries:function(m,p){for(var q=[],v=0;v<m;++v)q.push(k(p+88*v));return q}((t(),B)[b+12>>>2>>>0],(t(),B)[b+16>>>2>>>0])};a=Y(a);var h=xd(0);df(h,a.createBindGroupLayout(b));return h}function cd(a,b){a>>>=0;b>>>=0;var c;b&&(c={label:Z(b+4)});b=Y(a);a=zd(0);c=b.createCommandEncoder(c);W[a>>>0]=c;return a}
|
| 102 |
+
function dd(a,b){a>>>=0;b>>>=0;for(var c=(t(),B)[b+12>>>2>>>0],d=(t(),B)[b+16>>>2>>>0],e=[],g=0;g<c;++g)e.push(Y((t(),B)[d+4*g>>>2>>>0]));b={label:Z(b+4),bindGroupLayouts:e,immediateSize:(t(),B)[b+20>>>2>>>0]};c=Y(a);a=Bd(0);b=c.createPipelineLayout(b);W[a>>>0]=b;return a}function ed(a,b){a>>>=0;b>>>=0;b={type:vf[(t(),A)[b+12>>>2>>>0]],count:(t(),B)[b+16>>>2>>>0]};var c=Y(a);a=Cd(0);b=c.createQuerySet(b);W[a>>>0]=b;return a}function fd(a,b){pf(Y(a>>>0).adapterInfo,b>>>0);return 1}
|
| 103 |
+
var Gf={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,
|
| 104 |
+
"primitive-index":21,"texture-component-swizzle":22,"subgroup-size-control":23,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729,"chromium-experimental-subgroup-matrix":327732};function gd(a,b){b>>>=0;var c=Y(a>>>0);a=ud(4*c.features.size);var d=0,e=0;for(const g of c.features)c=Gf[g],0<=c&&((t(),A)[a+d>>>2>>>0]=c,d+=4,e++);(t(),B)[b+4>>>2>>>0]=a;(t(),B)[b>>>2>>>0]=e}function hd(a,b){nf(Y(a>>>0).limits,b>>>0);return 1}
|
| 105 |
+
function jd(a,b){Y(a>>>0).pushErrorScope(rf[b])}function kd(a,b,c){b>>>=0;c>>>=0;a=Y(a>>>0);b=Array.from((t(),A).subarray(c>>>2>>>0,c+4*b>>>2>>>0),d=>Y(d));a.submit(b)}function ld(a,b,c,d,e){c=O(c);d>>>=0;e>>>=0;a=Y(a>>>0);b=Y(b>>>0);d=(t(),z).subarray(d>>>0,d+e>>>0);a.writeBuffer(b,c,d,0,e)}n||ge();n||(u=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),ua());f.wasmBinary&&(qa=f.wasmBinary);f.stackSave=()=>I();f.stackRestore=a=>H(a);f.stackAlloc=a=>Ud(a);
|
| 106 |
+
f.setValue=function(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":(t(),y)[a>>>0]=b;break;case "i8":(t(),y)[a>>>0]=b;break;case "i16":(t(),Ka)[a>>>1>>>0]=b;break;case "i32":(t(),A)[a>>>2>>>0]=b;break;case "i64":(t(),D)[a>>>3>>>0]=BigInt(b);break;case "float":(t(),Ma)[a>>>2>>>0]=b;break;case "double":(t(),C)[a>>>3>>>0]=b;break;case "*":(t(),B)[a>>>2>>>0]=b;break;default:Qa(`invalid type for setValue: ${c}`)}};
|
| 107 |
+
f.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(t(),y)[a>>>0];case "i8":return(t(),y)[a>>>0];case "i16":return(t(),Ka)[a>>>1>>>0];case "i32":return(t(),A)[a>>>2>>>0];case "i64":return(t(),D)[a>>>3>>>0];case "float":return(t(),Ma)[a>>>2>>>0];case "double":return(t(),C)[a>>>3>>>0];case "*":return(t(),B)[a>>>2>>>0];default:Qa(`invalid type for getValue: ${b}`)}};f.UTF8ToString=oe;f.stringToUTF8=T;f.lengthBytesUTF8=U;
|
| 108 |
+
var Ke=[Lc,fe,ke,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,Xb,Yb,Zb,Dc,Ec,Gc,Hc,Ic,Jc,Kc],Je={1292476:(a,b,c)=>{f.J(a,(t(),z).subarray(b>>>0,b+c>>>0))},1292540:()=>f.$(),1292582:a=>{f.I(a)},1292619:()=>"undefined"!==typeof wasmOffsetConverter};
|
| 109 |
+
function Za(a,b,c,d,e){return Le(async()=>{if("undefined"==typeof f||!f.o)return 1;let g=oe(Number(a>>>0));g.startsWith("./")&&(g=g.substring(2));var k=f.o.get(g);if(!k)return 2;const h=Number(d>>>0);if(0>b||0>c)return 3;let m=!1;try{let q;if("undefined"!==typeof Blob&&k instanceof Blob){if(b+c>k.size)return 3;if(0===c)q=new Uint8Array(0);else{let v;if(f.A)v=new Uint8Array(c);else if(m=f.A=!0,v=f.D,!v||v.length<c)v=f.D=new Uint8Array(c);var p=k.slice(b,b+c).stream();let x;k=!1;try{x=p.getReader({mode:"byob"}),
|
| 110 |
+
k=!0}catch(w){x=p.getReader()}p=0;if(k){let w=f.s||new ArrayBuffer(1048576);for(f.s=null;;){const E=await x.read(new Uint8Array(w,0,w.byteLength));if(E.value){if(0<E.value.byteLength){if(p+E.value.byteLength>c)return f.s=E.value.buffer,5;v.set(E.value,p);p+=E.value.byteLength}w=E.value.buffer}if(E.done)break}f.s=w}else for(;;){const w=await x.read();if(w.done)break;if(p+w.value.byteLength>c)return 5;v.set(w.value,p);p+=w.value.byteLength}if(p!==c)return 5;q=v.subarray(0,c)}}else{if(b+c>k.byteLength)return 3;
|
| 111 |
+
q=k.subarray(b,b+c)}switch(e){case 0:(t(),z).set(q,h>>>0);break;case 1:f.H?f.H(h,q):f.ba(h,q);break;default:return 4}return 0}catch(q){return console.error('Failed to load external data "'+g+'":',q),4}finally{m&&(f.A=!1)}})}function Ya(){return"undefined"!==typeof wasmOffsetConverter}var qd,Ga,rd,sd,td,G,ud,vd,wd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Da,Ja,Nd,Od,Pd,Qd,Rd,Sd,Ra,Td,H,Ud,I,Vd,Xa;
|
| 112 |
+
function od(){var a=F;a=Object.assign({},a);var b=d=>e=>d(e)>>>0,c=d=>()=>d()>>>0;a.__getTypeName=b(a.__getTypeName);a.pthread_self=c(a.pthread_self);a.malloc=b(a.malloc);a.memalign=(d=>(e,g)=>d(e,g)>>>0)(a.memalign);a._emscripten_stack_alloc=b(a._emscripten_stack_alloc);a.emscripten_stack_get_current=c(a.emscripten_stack_get_current);return a}function Ba(){0<$d?ae=Ba:n?(va?.(f),Pa()):(Zd(),0<$d?ae=Ba:async function(){f.calledRun=!0;sa||(Pa(),va?.(f))}())}var F;n||(F=await (Aa()),Ba());
|
| 113 |
+
f.PTR_SIZE=4;
|
| 114 |
+
f.webgpuInit=a=>{const b=new WeakMap;let c=1,d=void 0,e=void 0;f.webgpuRegisterDevice=h=>{if(void 0!==e)throw Error("another WebGPU EP inference session is being created.");if(h){var m=b.get(h);if(!m){m=rd();const p=hf(h,m);m=[c++,m,p];b.set(h,m)}d=h;e=m[0];return m}d=void 0;e=0};const g=new Map;f.webgpuOnCreateSession=h=>{if(void 0!==e){var m=e;e=void 0;if(h){const p=sd(m);g.set(h,p);0===m&&a(d??Y(p))}d=void 0}};f.webgpuOnReleaseSession=h=>{g.delete(h)};const k=Symbol("gpuBufferMetadata");f.webgpuRegisterBuffer=
|
| 115 |
+
(h,m,p)=>{if(p)return h[k]=[p,NaN],p;if(p=h[k])return p[1]++,p[0];m=g.get(m);if(void 0===m)throw Error("Invalid session handle passed to webgpuRegisterBuffer");m=gf(h,m);h[k]=[m,1];return m};f.webgpuUnregisterBuffer=h=>{const m=h[k];if(!m)throw Error("Buffer is not registered");m[1]--;0===m[1]&&(vd(m[0]),delete h[k])};f.webgpuGetBuffer=h=>Y(h);f.webgpuCreateDownloader=(h,m,p)=>{p=g.get(p);if(void 0===p)throw Error("Invalid session handle passed to webgpuRegisterBuffer");const q=Y(p),v=16*Math.ceil(Number(m)/
|
| 116 |
+
16);return async()=>{const x=q.createBuffer({size:v,usage:9});try{const w=q.createCommandEncoder();w.copyBufferToBuffer(h,0,x,0,v);q.queue.submit([w.finish()]);await x.mapAsync(GPUMapMode.READ);return x.getMappedRange().slice(0,m)}finally{x.destroy()}}};f.H=(h,m)=>{var p=m.buffer;const q=m.byteOffset,v=m.byteLength;m=16*Math.ceil(Number(v)/16);h=Y(h);if(!d){var x=sd(e);d=Y(x)}x=d.createBuffer({mappedAtCreation:!0,size:m,usage:6});const w=x.getMappedRange();(new Uint8Array(w)).set(new Uint8Array(p,
|
| 117 |
+
q,v));x.unmap();p=d.createCommandEncoder();p.copyBufferToBuffer(x,0,h,0,m);d.queue.submit([p.finish()]);x.destroy()}};
|
| 118 |
+
f.webnnInit=a=>{const b=a[0];[f.$,f.I,f.webnnEnsureTensor,f.J,f.webnnDownloadTensor,f.Z,f.webnnEnableTraceEvent]=a.slice(1);f.webnnReleaseTensorId=f.I;f.webnnUploadTensor=f.J;f.webnnRegisterMLContext=f.Z;f.webnnOnRunStart=c=>b.onRunStart(c);f.webnnOnRunEnd=b.onRunEnd.bind(b);f.webnnOnReleaseSession=c=>{b.onReleaseSession(c)};f.webnnCreateMLTensorDownloader=(c,d)=>b.createMLTensorDownloader(c,d);f.webnnRegisterMLTensor=(c,d,e,g)=>b.registerMLTensor(c,d,e,g);f.webnnCreateMLContext=c=>b.createMLContext(c);
|
| 119 |
+
f.webnnRegisterGraphInput=b.registerGraphInput.bind(b);f.webnnIsGraphInput=b.isGraphInput.bind(b);f.webnnRegisterGraphOutput=b.registerGraphOutput.bind(b);f.webnnIsGraphOutput=b.isGraphOutput.bind(b);f.webnnCreateTemporaryTensor=b.createTemporaryTensor.bind(b);f.webnnIsGraphInputOutputTypeSupported=b.isGraphInputOutputTypeSupported.bind(b)};Oa?moduleRtn=f:moduleRtn=new Promise((a,b)=>{va=a;wa=b});
|
| 120 |
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
ort/ort-wasm-simd-threaded.jspi.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a54c76f86b0f0d9572380cf1c6292a7b3903716ffcbcd6b0e5c7050bf430eb93
|
| 3 |
+
size 16758545
|
ort/ort-wasm-simd-threaded.mjs
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var h=moduleArg,aa=!!globalThis.window,k=!!globalThis.WorkerGlobalScope,m=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,n=k&&self.name?.startsWith("em-pthread");if(m){const {createRequire:a}=await import("module");var require=a(import.meta.url),ba=require("worker_threads");global.Worker=ba.Worker;n=(k=!ba.jc)&&"em-pthread"==ba.workerData}h.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(h.Tb||(h.Tb=new Map)).set(a,b)};
|
| 2 |
+
h.unmountExternalData=()=>{delete h.Tb;delete h.mc;delete h.lc;delete h.nc};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor,ca="./this.program",da=(a,b)=>{throw b;},ea=import.meta.url,fa="",ha,ia;
|
| 3 |
+
if(m){var fs=require("fs");ea.startsWith("file:")&&(fa=require("path").dirname(require("url").fileURLToPath(ea))+"/");ia=a=>{a=ja(a)?new URL(a):a;return fs.readFileSync(a)};ha=async a=>{a=ja(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(ca=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);da=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||k){try{fa=(new URL(".",ea)).href}catch{}m||(k&&(ia=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
| 4 |
+
b.send(null);return new Uint8Array(b.response)}),ha=async a=>{if(ja(a))return new Promise((d,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?d(e.response):c(e.status)};e.onerror=c;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var ka=console.log.bind(console),la=console.error.bind(console);
|
| 5 |
+
if(m){var ma=require("util"),na=a=>"object"==typeof a?ma.inspect(a):a;ka=(...a)=>fs.writeSync(1,a.map(na).join(" ")+"\n");la=(...a)=>fs.writeSync(2,a.map(na).join(" ")+"\n")}var oa=ka,p=la,q,r,pa=!1,t,ja=a=>a.startsWith("file://");function v(){x.buffer!=z.buffer&&qa()}var ra,sa;
|
| 6 |
+
if(m&&n){var ta=ba.parentPort;ta.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>ta.postMessage(a)});process.on("uncaughtException",a=>{postMessage({Rb:"uncaughtException",error:a});process.exit(1)})}var ua;
|
| 7 |
+
if(n){var va=!1;self.onunhandledrejection=b=>{throw b.reason||b;};function a(b){try{var d=b.data,c=d.Rb;if("load"===c){let e=[];self.onmessage=f=>e.push(f);ua=()=>{postMessage({Rb:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of d.ac)if(!h[f]||h[f].proxy)h[f]=(...g)=>{postMessage({Rb:"callHandler",$b:f,args:g})},"print"==f&&(oa=h[f]),"printErr"==f&&(p=h[f]);x=d.fc;qa();r=d.hc;wa();xa()}else if("run"===c){ya(d.Qb);za(d.Qb,0,0,1,0,0);Aa();Ba(d.Qb);va||=!0;try{Ca(d.dc,d.Vb)}catch(e){if("unwind"!=
|
| 8 |
+
e)throw e;}}else"setimmediate"!==d.target&&("checkMailbox"===c?va&&Da():c&&(p(`worker: received unknown command ${c}`),p(d)))}catch(e){throw Ea(),e;}}self.onmessage=a}var z,A,Fa,C,D,Ga,G,H,Ha=!1;function qa(){var a=x.buffer;h.HEAP8=z=new Int8Array(a);Fa=new Int16Array(a);h.HEAPU8=A=new Uint8Array(a);new Uint16Array(a);h.HEAP32=C=new Int32Array(a);h.HEAPU32=D=new Uint32Array(a);Ga=new Float32Array(a);G=new Float64Array(a);H=new BigInt64Array(a);new BigUint64Array(a)}
|
| 9 |
+
function Ia(){Ha=!0;n?ua():I.Va()}function J(a){a="Aborted("+a+")";p(a);pa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");sa?.(a);throw a;}var Ja;async function Ka(a){if(!q)try{var b=await ha(a);return new Uint8Array(b)}catch{}if(a==Ja&&q)a=new Uint8Array(q);else if(ia)a=ia(a);else throw"both async and sync fetching of the wasm failed";return a}
|
| 10 |
+
async function La(a,b){try{var d=await Ka(a);return await WebAssembly.instantiate(d,b)}catch(c){p(`failed to asynchronously prepare wasm: ${c}`),J(c)}}async function Na(a){var b=Ja;if(!q&&!ja(b)&&!m)try{var d=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(d,a)}catch(c){p(`wasm streaming compile failed: ${c}`),p("falling back to ArrayBuffer instantiation")}return La(b,a)}
|
| 11 |
+
function Oa(){Pa={T:Qa,f:Ra,w:Sa,e:Ta,k:Ua,h:Va,L:Wa,b:Xa,G:Ya,ua:Za,j:$a,M:ab,La:bb,qa:cb,sa:db,Ma:eb,Ja:fb,Ca:gb,Ia:hb,Z:ib,ra:jb,oa:kb,Ka:lb,pa:mb,Ra:nb,Fa:ob,ma:pb,va:qb,ja:rb,U:sb,Ea:Ba,Oa:tb,za:ub,Aa:vb,Ba:wb,xa:xb,ya:yb,ka:zb,Ta:Ab,Qa:Bb,W:Cb,V:Db,Pa:Eb,F:Fb,Na:Gb,na:Hb,u:Ib,H:Jb,S:Kb,la:Lb,ba:Mb,Ua:Nb,Ga:Ob,Ha:Pb,ta:Qb,I:Rb,wa:Sb,Y:Tb,Da:Ub,X:Vb,$:Wb,N:Xb,aa:Yb,O:Zb,v:$b,d:ac,m:bc,n:cc,r:dc,ca:ec,E:fc,o:gc,P:hc,C:ic,J:jc,da:kc,ea:lc,z:mc,fa:nc,Q:oc,ga:pc,y:qc,D:rc,c:sc,q:tc,i:uc,_:vc,l:wc,
|
| 12 |
+
p:xc,s:yc,t:zc,x:Ac,R:Bc,A:Cc,K:Dc,B:Ec,ha:Fc,ia:Gc,g:Hc,a:x,Sa:Ic};return{a:Pa}}
|
| 13 |
+
async function wa(){function a(c,e){I=c.exports;I=Jc();Kc.push(I.xb);c=I;h._OrtInit=c.Wa;h._OrtGetLastError=c.Xa;h._OrtCreateSessionOptions=c.Ya;h._OrtAppendExecutionProvider=c.Za;h._OrtAddFreeDimensionOverride=c._a;h._OrtAddSessionConfigEntry=c.$a;h._OrtReleaseSessionOptions=c.ab;h._OrtCreateSession=c.bb;h._OrtReleaseSession=c.cb;h._OrtGetInputOutputCount=c.db;h._OrtGetInputOutputMetadata=c.eb;h._OrtFree=c.fb;h._OrtCreateTensor=c.gb;h._OrtGetTensorData=c.hb;h._OrtReleaseTensor=c.ib;h._OrtCreateRunOptions=
|
| 14 |
+
c.jb;h._OrtAddRunConfigEntry=c.kb;h._OrtReleaseRunOptions=c.lb;h._OrtCreateBinding=c.mb;h._OrtBindInput=c.nb;h._OrtBindOutput=c.ob;h._OrtClearBoundOutputs=c.pb;h._OrtReleaseBinding=c.qb;h._OrtRunWithBinding=c.rb;h._OrtRun=c.sb;h._OrtEndProfiling=c.tb;Lc=c.ub;Mc=h._free=c.vb;Nc=h._malloc=c.wb;za=c.zb;Ea=c.Ab;Oc=c.Bb;Pc=c.Cb;Qc=c.Db;Rc=c.Eb;Sc=c.Fb;K=c.Gb;L=c.Hb;Tc=c.Ib;M=c.Jb;Uc=c.Kb;N=c.Lb;Vc=c.Mb;Wc=c.Nb;Xc=c.Ob;Yc=c.Pb;Zc=c.yb;r=e;return I}var b=Oa();if(h.instantiateWasm)return new Promise(c=>{h.instantiateWasm(b,
|
| 15 |
+
(e,f)=>{c(a(e,f))})});if(n){var d=new WebAssembly.Instance(r,Oa());return a(d,r)}Ja??=h.locateFile?h.locateFile?h.locateFile("ort-wasm-simd-threaded.wasm",fa):fa+"ort-wasm-simd-threaded.wasm":(new URL("ort-wasm-simd-threaded.wasm",import.meta.url)).href;return function(c){return a(c.instance,c.module)}(await Na(b))}class $c{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
| 16 |
+
var ad=a=>{a.terminate();a.onmessage=()=>{}},bd=[],O=0,P=null,ed=a=>{0==Q.length&&(cd(),dd(Q[0]));var b=Q.pop();if(!b)return 6;R.push(b);S[a.Qb]=b;b.Qb=a.Qb;var d={Rb:"run",dc:a.cc,Vb:a.Vb,Qb:a.Qb};m&&b.unref();b.postMessage(d,a.Zb);return 0},T=0,U=(a,b,...d)=>{var c=16*d.length,e=N(),f=Uc(c),g=f>>>3,l;for(l of d)"bigint"==typeof l?((v(),H)[g++>>>0]=1n,(v(),H)[g++>>>0]=l):((v(),H)[g++>>>0]=0n,(v(),G)[g++>>>0]=l);a=Oc(a,0,c,f,b);M(e);return a};
|
| 17 |
+
function Ic(a){if(n)return U(0,1,a);t=a;if(!(0<T)){for(var b of R)ad(b);for(b of Q)ad(b);Q=[];R=[];S={};pa=!0}da(a,new $c(a))}function fd(a){if(n)return U(1,0,a);Qb(a)}var Qb=a=>{t=a;if(n)throw fd(a),"unwind";Ic(a)},Q=[],R=[],Kc=[],S={};function gd(){for(var a=h.numThreads-1;a--;)cd();bd.push(async()=>{var b=hd();O++;await b;O--;0==O&&P&&(b=P,P=null,b())})}var jd=a=>{var b=a.Qb;delete S[b];Q.push(a);R.splice(R.indexOf(a),1);a.Qb=0;Pc(b)};function Aa(){Kc.forEach(a=>a())}
|
| 18 |
+
var dd=a=>new Promise(b=>{a.onmessage=f=>{var g=f.data;f=g.Rb;if(g.Ub&&g.Ub!=Lc()){var l=S[g.Ub];l?l.postMessage(g,g.Zb):p(`Internal error! Worker sent a message "${f}" to target pthread ${g.Ub}, but that thread no longer exists!`)}else if("checkMailbox"===f)Da();else if("spawnThread"===f)ed(g);else if("cleanupThread"===f)kd(()=>{jd(S[g.ec])});else if("loaded"===f)a.loaded=!0,m&&!a.Qb&&a.unref(),b(a);else if("setimmediate"===g.target)a.postMessage(g);else if("uncaughtException"===f)a.onerror(g.error);
|
| 19 |
+
else if("callHandler"===f)h[g.$b](...g.args);else f&&p(`worker sent an unknown command ${f}`)};a.onerror=f=>{p(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f;};m&&(a.on("message",f=>a.onmessage({data:f})),a.on("error",f=>a.onerror(f)));var d=[],c=[],e;for(e of c)h.propertyIsEnumerable(e)&&d.push(e);a.postMessage({Rb:"load",ac:d,fc:x,hc:r})});async function hd(){if(!n)return Promise.all(Q.map(dd))}
|
| 20 |
+
function cd(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});Q.push(a)}function ya(a){var b=(v(),D)[a+52>>>2>>>0];a=(v(),D)[a+56>>>2>>>0];Tc(b,b-a);M(b)}var ld=[],V=a=>{var b=ld[a];b||(ld[a]=b=Zc.get(a));return b},Ca=(a,b)=>{T=0;a=V(a)(b);0<T?t=a:Qc(a)},x,md=[],nd=0;function Ra(a){a>>>=0;var b=new od(a);0==(v(),z)[b.Sb+12>>>0]&&(pd(b,!0),nd--);qd(b,!1);md.push(b);return Yc(a)}
|
| 21 |
+
var W=0,Sa=()=>{K(0,0);var a=md.pop();Vc(a.Wb);W=0};function pd(a,b){b=b?1:0;(v(),z)[a.Sb+12>>>0]=b}function qd(a,b){b=b?1:0;(v(),z)[a.Sb+13>>>0]=b}class od{constructor(a){this.Wb=a;this.Sb=a-24}}var rd=a=>{var b=W;if(!b)return L(0),0;var d=new od(b);(v(),D)[d.Sb+16>>>2>>>0]=b;var c=(v(),D)[d.Sb+4>>>2>>>0];if(!c)return L(0),b;for(var e of a){if(0===e||e===c)break;if(Xc(e,c,d.Sb+16))return L(e),b}L(c);return b};function Ta(){return rd([])}function Ua(a){return rd([a>>>0])}
|
| 22 |
+
function Va(a,b,d,c){return rd([a>>>0,b>>>0,d>>>0,c>>>0])}var Wa=()=>{var a=md.pop();a||J("no exception to throw");var b=a.Wb;0==(v(),z)[a.Sb+13>>>0]&&(md.push(a),qd(a,!0),pd(a,!1),nd++);Wc(b);W=b;throw W;};function Xa(a,b,d){a>>>=0;var c=new od(a);b>>>=0;d>>>=0;(v(),D)[c.Sb+16>>>2>>>0]=0;(v(),D)[c.Sb+4>>>2>>>0]=b;(v(),D)[c.Sb+8>>>2>>>0]=d;Wc(a);W=a;nd++;throw W;}var Ya=()=>nd;function sd(a,b,d,c){return n?U(2,1,a,b,d,c):Za(a,b,d,c)}
|
| 23 |
+
function Za(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(n&&0===e.length)return sd(a,b,d,c);a={cc:d,Qb:a,Vb:c,Zb:e};return n?(a.Rb="spawnThread",postMessage(a,e),0):ed(a)}function $a(a){W||=a>>>0;throw W;}
|
| 24 |
+
var td=globalThis.TextDecoder&&new TextDecoder,ud=(a,b=0,d,c)=>{b>>>=0;var e=b;d=e+d;if(c)c=d;else{for(;a[e]&&!(e>=d);)++e;c=e}if(16<c-b&&a.buffer&&td)return td.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(e="";b<c;)if(d=a[b++],d&128){var f=a[b++]&63;if(192==(d&224))e+=String.fromCharCode((d&31)<<6|f);else{var g=a[b++]&63;d=224==(d&240)?(d&15)<<12|f<<6|g:(d&7)<<18|f<<12|g<<6|a[b++]&63;65536>d?e+=String.fromCharCode(d):(d-=65536,e+=String.fromCharCode(55296|d>>10,56320|
|
| 25 |
+
d&1023))}}else e+=String.fromCharCode(d);return e},vd=(a,b,d)=>(a>>>=0)?ud((v(),A),a,b,d):"";function ab(a,b,d){return n?U(3,1,a,b,d):0}function bb(a,b){if(n)return U(4,1,a,b)}function cb(a,b){if(n)return U(5,1,a,b)}function db(a,b,d){if(n)return U(6,1,a,b,d)}function eb(a,b,d){return n?U(7,1,a,b,d):0}function fb(a,b){if(n)return U(8,1,a,b)}function gb(a,b,d){if(n)return U(9,1,a,b,d)}function hb(a,b,d,c){if(n)return U(10,1,a,b,d,c)}function ib(a,b,d,c){if(n)return U(11,1,a,b,d,c)}
|
| 26 |
+
function jb(a,b,d,c){if(n)return U(12,1,a,b,d,c)}function kb(a){if(n)return U(13,1,a)}function lb(a,b){if(n)return U(14,1,a,b)}function mb(a,b,d){if(n)return U(15,1,a,b,d)}var nb=()=>J("");function ob(a){za(a>>>0,!k,1,!aa,131072,!1);Aa()}
|
| 27 |
+
var kd=a=>{if(!pa)try{if(a(),!(0<T))try{n?Lc()&&Qc(t):Qb(t)}catch(b){b instanceof $c||"unwind"==b||da(1,b)}}catch(b){b instanceof $c||"unwind"==b||da(1,b)}},wd=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ba(a){a>>>=0;wd||(Atomics.waitAsync((v(),C),a>>>2,a).value.then(Da),a+=128,Atomics.store((v(),C),a>>>2,1))}var Da=()=>kd(()=>{var a=Lc();a&&(Ba(a),Sc())});
|
| 28 |
+
function pb(a,b){a>>>=0;a==b>>>0?setTimeout(Da):n?postMessage({Ub:a,Rb:"checkMailbox"}):(a=S[a])&&a.postMessage({Rb:"checkMailbox"})}var xd=[];function qb(a,b,d,c,e){b>>>=0;e>>>=0;xd.length=0;d=e>>>3;for(c=e+c>>>3;d<c;){var f;(v(),H)[d++>>>0]?f=(v(),H)[d++>>>0]:f=(v(),G)[d++>>>0];xd.push(f)}return(b?yd[b]:zd[a])(...xd)}var rb=()=>{T=0};function sb(a){a>>>=0;n?postMessage({Rb:"cleanupThread",ec:a}):jd(S[a])}function tb(a){m&&S[a>>>0].ref()}
|
| 29 |
+
function ub(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(v(),C)[b>>>2>>>0]=a.getUTCSeconds();(v(),C)[b+4>>>2>>>0]=a.getUTCMinutes();(v(),C)[b+8>>>2>>>0]=a.getUTCHours();(v(),C)[b+12>>>2>>>0]=a.getUTCDate();(v(),C)[b+16>>>2>>>0]=a.getUTCMonth();(v(),C)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(v(),C)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(v(),C)[b+28>>>2>>>0]=a}
|
| 30 |
+
var Ad=a=>0===a%4&&(0!==a%100||0===a%400),Bd=[0,31,60,91,121,152,182,213,244,274,305,335],Cd=[0,31,59,90,120,151,181,212,243,273,304,334];
|
| 31 |
+
function vb(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(v(),C)[b>>>2>>>0]=a.getSeconds();(v(),C)[b+4>>>2>>>0]=a.getMinutes();(v(),C)[b+8>>>2>>>0]=a.getHours();(v(),C)[b+12>>>2>>>0]=a.getDate();(v(),C)[b+16>>>2>>>0]=a.getMonth();(v(),C)[b+20>>>2>>>0]=a.getFullYear()-1900;(v(),C)[b+24>>>2>>>0]=a.getDay();var d=(Ad(a.getFullYear())?Bd:Cd)[a.getMonth()]+a.getDate()-1|0;(v(),C)[b+28>>>2>>>0]=d;(v(),C)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());d=(new Date(a.getFullYear(),
|
| 32 |
+
6,1)).getTimezoneOffset();var c=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;(v(),C)[b+32>>>2>>>0]=a}
|
| 33 |
+
function wb(a){a>>>=0;var b=new Date((v(),C)[a+20>>>2>>>0]+1900,(v(),C)[a+16>>>2>>>0],(v(),C)[a+12>>>2>>>0],(v(),C)[a+8>>>2>>>0],(v(),C)[a+4>>>2>>>0],(v(),C)[a>>>2>>>0],0),d=(v(),C)[a+32>>>2>>>0],c=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),g=Math.min(f,e);0>d?(v(),C)[a+32>>>2>>>0]=Number(e!=f&&g==c):0<d!=(g==c)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<d?g:e)-c)));(v(),C)[a+24>>>2>>>0]=b.getDay();d=(Ad(b.getFullYear())?
|
| 34 |
+
Bd:Cd)[b.getMonth()]+b.getDate()-1|0;(v(),C)[a+28>>>2>>>0]=d;(v(),C)[a>>>2>>>0]=b.getSeconds();(v(),C)[a+4>>>2>>>0]=b.getMinutes();(v(),C)[a+8>>>2>>>0]=b.getHours();(v(),C)[a+12>>>2>>>0]=b.getDate();(v(),C)[a+16>>>2>>>0]=b.getMonth();(v(),C)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function xb(a,b,d,c,e,f,g){return n?U(16,1,a,b,d,c,e,f,g):-52}function yb(a,b,d,c,e,f){if(n)return U(17,1,a,b,d,c,e,f)}var X={},Ib=()=>performance.timeOrigin+performance.now();
|
| 35 |
+
function zb(a,b){if(n)return U(18,1,a,b);X[a]&&(clearTimeout(X[a].id),delete X[a]);if(!b)return 0;var d=setTimeout(()=>{delete X[a];kd(()=>Rc(a,performance.timeOrigin+performance.now()))},b);X[a]={id:d,oc:b};return 0}
|
| 36 |
+
var Y=(a,b,d)=>{var c=(v(),A);b>>>=0;if(0<d){var e=b;d=b+d-1;for(var f=0;f<a.length;++f){var g=a.codePointAt(f);if(127>=g){if(b>=d)break;c[b++>>>0]=g}else if(2047>=g){if(b+1>=d)break;c[b++>>>0]=192|g>>6;c[b++>>>0]=128|g&63}else if(65535>=g){if(b+2>=d)break;c[b++>>>0]=224|g>>12;c[b++>>>0]=128|g>>6&63;c[b++>>>0]=128|g&63}else{if(b+3>=d)break;c[b++>>>0]=240|g>>18;c[b++>>>0]=128|g>>12&63;c[b++>>>0]=128|g>>6&63;c[b++>>>0]=128|g&63;f++}}c[b>>>0]=0;a=b-e}else a=0;return a};
|
| 37 |
+
function Ab(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var g=Math.max(f,e);(v(),D)[a>>>2>>>0]=60*g;(v(),C)[b>>>2>>>0]=Number(f!=e);b=l=>{var u=Math.abs(l);return`UTC${0<=l?"-":"+"}${String(Math.floor(u/60)).padStart(2,"0")}${String(u%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(Y(a,d,17),Y(b,c,17)):(Y(a,c,17),Y(b,d,17))}var Eb=()=>Date.now(),Dd=1;
|
| 38 |
+
function Bb(a,b,d){d>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(Dd)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(v(),H)[d>>>3>>>0]=BigInt(a);return 0}var Ed=[];function Cb(a,b,d){a>>>=0;b>>>=0;d>>>=0;Ed.length=0;for(var c;c=(v(),A)[b++>>>0];){var e=105!=c;e&=112!=c;d+=e&&d%8?4:0;Ed.push(112==c?(v(),D)[d>>>2>>>0]:106==c?(v(),H)[d>>>3>>>0]:105==c?(v(),C)[d>>>2>>>0]:(v(),G)[d>>>3>>>0]);d+=e?8:4}return yd[a](...Ed)}var Db=()=>{};
|
| 39 |
+
function Fb(a,b){return p(vd(a>>>0,b>>>0))}var Gb=()=>{T+=1;throw"unwind";};function Hb(){return 4294901760}var Jb=()=>m?require("os").cpus().length:navigator.hardwareConcurrency,Z={},Fd=a=>{for(var b=0,d=0;d<a.length;++d){var c=a.charCodeAt(d);127>=c?b++:2047>=c?b+=2:55296<=c&&57343>=c?(b+=4,++d):b+=3}return b},Gd=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},Hd=a=>{for(var b of a)(a=Gd(b))&&(Z[a]=b)};
|
| 40 |
+
function Mb(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();Hd(a);Z.Xb=Gd(a[3]);Z.bc=a;return Z.Xb}function Kb(a){a=Z[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;Mc(Kb.Yb??0);b=Fd(a)+1;var d=Nc(b);d&&Y(a,d,b);Kb.Yb=d;return Kb.Yb}
|
| 41 |
+
function Lb(a){a>>>=0;var b=(v(),A).length;if(a<=b||4294901760<a)return!1;for(var d=1;4>=d;d*=2){var c=b*(1+.2/d);c=Math.min(c,a+100663296);a:{c=(Math.min(4294901760,65536*Math.ceil(Math.max(a,c)/65536))-x.buffer.byteLength+65535)/65536|0;try{x.grow(c);qa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}
|
| 42 |
+
function Nb(a,b,d){a>>>=0;b>>>=0;if(Z.Xb==a)var c=Z.bc;else c=Error().stack.toString().split("\n"),"Error"==c[0]&&c.shift(),Hd(c);for(var e=3;c[e]&&Gd(c[e])!=a;)++e;for(a=0;a<d&&c[a+e];++a)(v(),C)[b+4*a>>>2>>>0]=Gd(c[a+e]);return a}
|
| 43 |
+
var Id={},Kd=()=>{if(!Jd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:ca||"./this.program"},b;for(b in Id)void 0===Id[b]?delete a[b]:a[b]=Id[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Jd=d}return Jd},Jd;function Ob(a,b){if(n)return U(19,1,a,b);a>>>=0;b>>>=0;var d=0,c=0,e;for(e of Kd()){var f=b+d;(v(),D)[a+c>>>2>>>0]=f;d+=Y(e,f,Infinity)+1;c+=4}return 0}
|
| 44 |
+
function Pb(a,b){if(n)return U(20,1,a,b);a>>>=0;b>>>=0;var d=Kd();(v(),D)[a>>>2>>>0]=d.length;a=0;for(var c of d)a+=Fd(c)+1;(v(),D)[b>>>2>>>0]=a;return 0}function Rb(a){return n?U(21,1,a):52}function Sb(a,b,d,c,e){return n?U(22,1,a,b,d,c,e):52}function Tb(a,b,d,c){return n?U(23,1,a,b,d,c):52}function Ub(a,b,d,c){return n?U(24,1,a,b,d,c):70}var Ld=[null,[],[]];
|
| 45 |
+
function Vb(a,b,d,c){if(n)return U(25,1,a,b,d,c);b>>>=0;d>>>=0;c>>>=0;for(var e=0,f=0;f<d;f++){var g=(v(),D)[b>>>2>>>0],l=(v(),D)[b+4>>>2>>>0];b+=8;for(var u=0;u<l;u++){var w=a,y=(v(),A)[g+u>>>0],B=Ld[w];0===y||10===y?((1===w?oa:p)(ud(B)),B.length=0):B.push(y)}e+=l}(v(),D)[c>>>2>>>0]=e;return 0}function Hc(a){return a>>>0}n||gd();n||(x=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),qa());h.wasmBinary&&(q=h.wasmBinary);h.stackSave=()=>N();h.stackRestore=a=>M(a);h.stackAlloc=a=>Uc(a);
|
| 46 |
+
h.setValue=function(a,b,d="i8"){d.endsWith("*")&&(d="*");switch(d){case "i1":(v(),z)[a>>>0]=b;break;case "i8":(v(),z)[a>>>0]=b;break;case "i16":(v(),Fa)[a>>>1>>>0]=b;break;case "i32":(v(),C)[a>>>2>>>0]=b;break;case "i64":(v(),H)[a>>>3>>>0]=BigInt(b);break;case "float":(v(),Ga)[a>>>2>>>0]=b;break;case "double":(v(),G)[a>>>3>>>0]=b;break;case "*":(v(),D)[a>>>2>>>0]=b;break;default:J(`invalid type for setValue: ${d}`)}};
|
| 47 |
+
h.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(v(),z)[a>>>0];case "i8":return(v(),z)[a>>>0];case "i16":return(v(),Fa)[a>>>1>>>0];case "i32":return(v(),C)[a>>>2>>>0];case "i64":return(v(),H)[a>>>3>>>0];case "float":return(v(),Ga)[a>>>2>>>0];case "double":return(v(),G)[a>>>3>>>0];case "*":return(v(),D)[a>>>2>>>0];default:J(`invalid type for getValue: ${b}`)}};h.UTF8ToString=vd;h.stringToUTF8=Y;h.lengthBytesUTF8=Fd;
|
| 48 |
+
var zd=[Ic,fd,sd,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,xb,yb,zb,Ob,Pb,Rb,Sb,Tb,Ub,Vb],yd={1042604:(a,b,d,c,e)=>{if("undefined"==typeof h||!h.Tb)return 1;a=vd(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=h.Tb.get(a);if(!a)return 2;b=Number(b>>>0);d=Number(d>>>0);c=Number(c>>>0);if(b+d>a.byteLength)return 3;try{const f=a.subarray(b,b+d);switch(e){case 0:(v(),A).set(f,c>>>0);break;case 1:h.ic?h.ic(c,f):h.kc(c,f);break;default:return 4}return 0}catch{return 4}},1043428:()=>"undefined"!==typeof wasmOffsetConverter};
|
| 49 |
+
function Qa(){return"undefined"!==typeof wasmOffsetConverter}var Lc,Mc,Nc,za,Ea,Oc,Pc,Qc,Rc,Sc,K,L,Tc,M,Uc,N,Vc,Wc,Xc,Yc,Zc,Pa;function cc(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function bc(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function sc(a){var b=N();try{V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0)}}function ac(a,b){var d=N();try{return V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0)}}
|
| 50 |
+
function uc(a,b,d){var c=N();try{V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function tc(a,b){var d=N();try{V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0)}}function gc(a,b,d,c,e,f,g){var l=N();try{return V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function yc(a,b,d,c,e,f){var g=N();try{V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function wc(a,b,d,c){var e=N();try{V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}
|
| 51 |
+
function xc(a,b,d,c,e){var f=N();try{V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}function zc(a,b,d,c,e,f,g){var l=N();try{V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function Gc(a,b,d,c,e,f,g){var l=N();try{V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function Fc(a,b,d,c,e,f,g,l){var u=N();try{V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}function dc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}
|
| 52 |
+
function mc(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function Ac(a,b,d,c,e,f,g,l){var u=N();try{V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}function Dc(a,b,d,c,e,f,g,l,u,w,y,B){var E=N();try{V(a)(b,d,c,e,f,g,l,u,w,y,B)}catch(F){M(E);if(F!==F+0)throw F;K(1,0)}}function qc(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0);return 0n}}
|
| 53 |
+
function Bc(a,b,d,c,e,f,g,l,u){var w=N();try{V(a)(b,d,c,e,f,g,l,u)}catch(y){M(w);if(y!==y+0)throw y;K(1,0)}}function $b(a){var b=N();try{return V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0)}}function pc(a,b){var d=N();try{return V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0);return 0n}}function nc(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function oc(a){var b=N();try{return V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0);return 0n}}
|
| 54 |
+
function lc(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function kc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}function jc(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function fc(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}
|
| 55 |
+
function ec(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function hc(a,b,d,c,e,f,g,l){var u=N();try{return V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}function rc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0);return 0n}}function Zb(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}
|
| 56 |
+
function Xb(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function ic(a,b,d,c,e,f,g,l,u,w,y,B){var E=N();try{return V(a)(b,d,c,e,f,g,l,u,w,y,B)}catch(F){M(E);if(F!==F+0)throw F;K(1,0)}}function Cc(a,b,d,c,e,f,g,l,u,w,y){var B=N();try{V(a)(b,d,c,e,f,g,l,u,w,y)}catch(E){M(B);if(E!==E+0)throw E;K(1,0)}}function Ec(a,b,d,c,e,f,g,l,u,w,y,B,E,F,Md,Nd){var Od=N();try{V(a)(b,d,c,e,f,g,l,u,w,y,B,E,F,Md,Nd)}catch(Ma){M(Od);if(Ma!==Ma+0)throw Ma;K(1,0)}}
|
| 57 |
+
function Yb(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function Wb(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function vc(a,b,d,c){var e=N();try{V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function Jc(){var a=I;a=Object.assign({},a);var b=c=>()=>c()>>>0,d=c=>e=>c(e)>>>0;a.ub=b(a.ub);a.wb=d(a.wb);a.Kb=d(a.Kb);a.Lb=b(a.Lb);a.Pb=d(a.Pb);return a}
|
| 58 |
+
function xa(){if(0<O)P=xa;else if(n)ra?.(h),Ia();else{for(var a=bd;0<a.length;)a.shift()(h);0<O?P=xa:(h.calledRun=!0,pa||(Ia(),ra?.(h)))}}var I;n||(I=await (wa()),xa());h.PTR_SIZE=4;Ha?moduleRtn=h:moduleRtn=new Promise((a,b)=>{ra=a;sa=b});
|
| 59 |
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
ort/ort-wasm-simd-threaded.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3398c10d07d229bd91b364548e130e0e51a8e5704b88c7c083ebbeb78842dee2
|
| 3 |
+
size 14239897
|
ort/ort.all.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.all.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.all.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.jspi.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.jspi.min.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.30.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var nt=Object.defineProperty;var Hr=Object.getOwnPropertyDescriptor;var Jr=Object.getOwnPropertyNames;var qr=Object.prototype.hasOwnProperty;var ot=(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 T=(t,e,r)=>()=>{if(r)throw r[0];try{return t&&(e=t(t=0)),e}catch(o){throw r=[o],o}};var ve=(t,e)=>{for(var r in e)nt(t,r,{get:e[r],enumerable:!0})},Yr=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Jr(e))!qr.call(t,n)&&n!==r&&nt(t,n,{get:()=>e[n],enumerable:!(o=Hr(e,n))||o.enumerable});return t};var st=t=>Yr(nt({},"__esModule",{value:!0}),t);var Be,ne,oe,Xr,Bt,at=T(()=>{"use strict";Be=new Map,ne=[],oe=(t,e,r)=>{if(e&&typeof e.init=="function"&&typeof e.createInferenceSessionHandler=="function"){let o=Be.get(t);if(o===void 0)Be.set(t,{backend:e,priority:r});else{if(o.priority>r)return;if(o.priority===r&&o.backend!==e)throw new Error(`cannot register backend "${t}" using priority ${r}`)}if(r>=0){let n=ne.indexOf(t);n!==-1&&ne.splice(n,1);for(let s=0;s<ne.length;s++)if(Be.get(ne[s]).priority<=r){ne.splice(s,0,t);return}ne.push(t)}return}throw new TypeError("not a valid backend")},Xr=async t=>{let e=Be.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(o){return r||(e.error=`${o}`,e.aborted=!0),e.error}finally{delete e.initPromise}}},Bt=async t=>{let e=t.executionProviders||[],r=e.map(u=>typeof u=="string"?u:u.name),o=r.length===0?ne:r,n,s=[],a=new Set;for(let u of o){let f=await Xr(u);typeof f=="string"?s.push({name:u,err:f}):(n||(n=f),n===f&&a.add(u))}if(!n)throw new Error(`no available backend found. ERR: ${s.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of s)r.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let i=e.filter(u=>a.has(typeof u=="string"?u:u.name));return[n,new Proxy(t,{get:(u,f)=>f==="executionProviders"?i:Reflect.get(u,f)})]}});var Mt=T(()=>{"use strict";at()});var xt,Ot=T(()=>{"use strict";xt="1.30.0"});var Dt,C,it=T(()=>{"use strict";Ot();Dt="warning",C={wasm:{},webgl:{},webgpu:{},versions:{common:xt},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}`);Dt=t}},get logLevel(){return Dt}};Object.defineProperty(C,"logLevel",{enumerable:!0})});var v,Ut=T(()=>{"use strict";it();v=C});var Ct,Pt,_t=T(()=>{"use strict";Ct=(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 o=r.getContext("2d");if(o!=null){let n,s;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(n=t.dims[2],s=t.dims[3]):(n=t.dims[3],s=t.dims[2]);let a=e?.format!==void 0?e.format:"RGB",i=e?.norm,u,f;i===void 0||i.mean===void 0?u=[255,255,255,255]:typeof i.mean=="number"?u=[i.mean,i.mean,i.mean,i.mean]:(u=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(u[3]=i.mean[3])),i===void 0||i.bias===void 0?f=[0,0,0,0]:typeof i.bias=="number"?f=[i.bias,i.bias,i.bias,i.bias]:(f=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(f[3]=i.bias[3]));let d=s*n,p=0,c=d,l=d*2,h=-1;a==="RGBA"?(p=0,c=d,l=d*2,h=d*3):a==="RGB"?(p=0,c=d,l=d*2):a==="RBG"&&(p=0,l=d,c=d*2);for(let b=0;b<s;b++)for(let E=0;E<n;E++){let y=(t.data[p++]-f[0])*u[0],m=(t.data[c++]-f[1])*u[1],A=(t.data[l++]-f[2])*u[2],w=h===-1?255:(t.data[h++]-f[3])*u[3];o.fillStyle="rgba("+y+","+m+","+A+","+w+")",o.fillRect(E,b,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")},Pt=(t,e)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(r!=null){let n,s,a;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(n=t.dims[2],s=t.dims[1],a=t.dims[3]):(n=t.dims[3],s=t.dims[2],a=t.dims[1]);let i=e!==void 0&&e.format!==void 0?e.format:"RGB",u=e?.norm,f,d;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?d=[0,0,0,0]:typeof u.bias=="number"?d=[u.bias,u.bias,u.bias,u.bias]:(d=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(d[3]=u.bias[3]));let p=s*n;if(e!==void 0&&(e.format!==void 0&&a===4&&e.format!=="RGBA"||a===3&&e.format!=="RGB"&&e.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let c=4,l=0,h=1,b=2,E=3,y=0,m=p,A=p*2,w=-1;i==="RGBA"?(y=0,m=p,A=p*2,w=p*3):i==="RGB"?(y=0,m=p,A=p*2):i==="RBG"&&(y=0,A=p,m=p*2),o=r.createImageData(n,s);for(let L=0;L<s*n;l+=c,h+=c,b+=c,E+=c,L++)o.data[l]=(t.data[y++]-d[0])*f[0],o.data[h]=(t.data[m++]-d[1])*f[1],o.data[b]=(t.data[A++]-d[2])*f[2],o.data[E]=w===-1?255:(t.data[w++]-d[3])*f[3]}else throw new Error("Can not access image data");return o}});var ut,Rt,Nt,Ft,Wt,kt,Gt=T(()=>{"use strict";Me();ut=(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:o}=e,n=e.norm??{mean:255,bias:0},s,a;typeof n.mean=="number"?s=[n.mean,n.mean,n.mean,n.mean]:s=[n.mean[0],n.mean[1],n.mean[2],n.mean[3]??255],typeof n.bias=="number"?a=[n.bias,n.bias,n.bias,n.bias]:a=[n.bias[0],n.bias[1],n.bias[2],n.bias[3]??0];let i=e.format!==void 0?e.format:"RGBA",u=e.tensorFormat!==void 0&&e.tensorFormat!==void 0?e.tensorFormat:"RGB",f=r*o,d=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),p=4,c=0,l=1,h=2,b=3,E=0,y=f,m=f*2,A=-1;i==="RGB"&&(p=3,c=0,l=1,h=2,b=-1),u==="RGBA"?A=f*3:u==="RBG"?(E=0,m=f,y=f*2):u==="BGR"&&(m=0,y=f,E=f*2);for(let L=0;L<f;L++,c+=p,h+=p,l+=p,b+=p)d[E++]=(t[c]+a[0])/s[0],d[y++]=(t[l]+a[1])/s[1],d[m++]=(t[h]+a[2])/s[2],A!==-1&&b!==-1&&(d[A++]=(t[b]+a[3])/s[3]);return u==="RGBA"?new _("float32",d,[1,4,r,o]):new _("float32",d,[1,3,r,o])},Rt=async(t,e)=>{let r=typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement,o=typeof ImageData<"u"&&t instanceof ImageData,n=typeof ImageBitmap<"u"&&t instanceof ImageBitmap,s=typeof t=="string",a,i=e??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=d=>typeof HTMLCanvasElement<"u"&&d instanceof HTMLCanvasElement||d instanceof OffscreenCanvas?d.getContext("2d"):null;if(r){let d=u();d.width=t.width,d.height=t.height;let p=f(d);if(p!=null){let c=t.height,l=t.width;if(e!==void 0&&e.resizedHeight!==void 0&&e.resizedWidth!==void 0&&(c=e.resizedHeight,l=e.resizedWidth),e!==void 0){if(i=e,e.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=c,i.width=l}else i.tensorFormat="RGBA",i.height=c,i.width=l;p.drawImage(t,0,0),a=p.getImageData(0,0,l,c).data}else throw new Error("Can not access image data")}else if(o){let d,p;if(e!==void 0&&e.resizedWidth!==void 0&&e.resizedHeight!==void 0?(d=e.resizedHeight,p=e.resizedWidth):(d=t.height,p=t.width),e!==void 0&&(i=e),i.format="RGBA",i.height=d,i.width=p,e!==void 0){let c=u();c.width=p,c.height=d;let l=f(c);if(l!=null)l.putImageData(t,0,0),a=l.getImageData(0,0,p,d).data;else throw new Error("Can not access image data")}else a=t.data}else if(n){if(e===void 0)throw new Error("Please provide image config with format for Imagebitmap");let d=u();d.width=t.width,d.height=t.height;let p=f(d);if(p!=null){let c=t.height,l=t.width;return p.drawImage(t,0,0,l,c),a=p.getImageData(0,0,l,c).data,i.height=c,i.width=l,ut(a,i)}else throw new Error("Can not access image data")}else{if(s)return new Promise((d,p)=>{let c=u(),l=f(c);if(!t||!l)return p();let h=new Image;h.crossOrigin="Anonymous",h.src=t,h.onload=()=>{c.width=h.width,c.height=h.height,l.drawImage(h,0,0,c.width,c.height);let b=l.getImageData(0,0,c.width,c.height);i.height=c.height,i.width=c.width,d(ut(b.data,i))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(a!==void 0)return ut(a,i);throw new Error("Input data provided is not supported - aborted tensor creation")},Nt=(t,e)=>{let{width:r,height:o,download:n,dispose:s}=e,a=[1,o,r,4];return new _({location:"texture",type:"float32",texture:t,dims:a,download:n,dispose:s})},Ft=(t,e)=>{let{dataType:r,dims:o,download:n,dispose:s}=e;return new _({location:"gpu-buffer",type:r??"float32",gpuBuffer:t,dims:o,download:n,dispose:s})},Wt=(t,e)=>{let{dataType:r,dims:o,download:n,dispose:s}=e;return new _({location:"ml-tensor",type:r??"float32",mlTensor:t,dims:o,download:n,dispose:s})},kt=(t,e,r)=>new _({location:"cpu-pinned",type:t,data:e,dims:r??[e.length]})});var se,we,$t,zt,Vt=T(()=>{"use strict";se=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),we=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),$t=!1,zt=()=>{if(!$t){$t=!0;let t=typeof BigInt64Array<"u"&&BigInt64Array.from,e=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,o=typeof r<"u"&&r.from;t&&(se.set("int64",BigInt64Array),we.set(BigInt64Array,"int64")),e&&(se.set("uint64",BigUint64Array),we.set(BigUint64Array,"uint64")),o?(se.set("float16",r),we.set(r,"float16")):se.set("float16",Uint16Array)}}});var jt,Ht,Jt=T(()=>{"use strict";Me();jt=t=>{let e=1;for(let r=0;r<t.length;r++){let o=t[r];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${r}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${o}`);e*=o}return e},Ht=(t,e)=>{switch(t.location){case"cpu":return new _(t.type,t.data,e);case"cpu-pinned":return new _({location:"cpu-pinned",data:t.data,type:t.type,dims:e});case"texture":return new _({location:"texture",texture:t.texture,type:t.type,dims:e});case"gpu-buffer":return new _({location:"gpu-buffer",gpuBuffer:t.gpuBuffer,type:t.type,dims:e});case"ml-tensor":return new _({location:"ml-tensor",mlTensor:t.mlTensor,type:t.type,dims:e});default:throw new Error(`tensorReshape: tensor location ${t.location} is not supported`)}}});var _,Me=T(()=>{"use strict";_t();Gt();Vt();Jt();_=class{constructor(e,r,o){zt();let n,s;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let i=se.get(n);if(!i)throw new TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof i))throw new TypeError(`buffer should be of type ${i.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw new TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" 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 i,u;if(typeof e=="string")if(n=e,u=o,e==="string"){if(!Array.isArray(r))throw new TypeError("A string tensor's data must be a string array.");i=r}else{let f=se.get(e);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(r)){if(e==="float16"&&f===Uint16Array||e==="uint4"||e==="int4")throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${f.name} as data.`);e==="uint64"||e==="int64"?i=f.from(r,BigInt):i=f.from(r)}else if(r instanceof f)i=r;else if(r instanceof Uint8ClampedArray)if(e==="uint8")i=Uint8Array.from(r);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&r instanceof Uint16Array&&f!==Uint16Array)i=new globalThis.Float16Array(r.buffer,r.byteOffset,r.length);else throw new TypeError(`A ${n} tensor's data must be type of ${f}`)}else if(u=r,Array.isArray(e)){if(e.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof e[0];if(f==="string")n="string",i=e;else if(f==="boolean")n="bool",i=Uint8Array.from(e);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",i=Uint8Array.from(e);else{let f=we.get(e.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=f,i=e}if(u===void 0)u=[i.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");s=u,this.cpuData=i,this.dataLocation="cpu"}let a=jt(s);if(this.cpuData&&a!==this.cpuData.length&&!((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,r){return Rt(e,r)}static fromTexture(e,r){return Nt(e,r)}static fromGpuBuffer(e,r){return Ft(e,r)}static fromMLTensor(e,r){return Wt(e,r)}static fromPinnedBuffer(e,r,o){return kt(e,r,o)}toDataURL(e){return Ct(this,e)}toImageData(e){return Pt(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 Ht(this,e)}}});var V,ft=T(()=>{"use strict";Me();V=_});var qt,Yt,ae,ie,Z,K,ct=T(()=>{"use strict";it();qt=(t,e)=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||console.timeStamp(`${t}::ORT::${e}`)},Yt=(t,e)=>{let r=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let n=0;n<r.length;n++){if(o&&!r[n].includes("TRACE_FUNC")){let s=`FUNC_${t}::${r[n].trim().split(" ")[1]}`;e&&(s+=`::${e}`),qt("CPU",s);return}r[n].includes("TRACE_FUNC")&&(o=!0)}},ae=t=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||Yt("BEGIN",t)},ie=t=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||Yt("END",t)},Z=t=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||console.time(`ORT::${t}`)},K=t=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||console.timeEnd(`ORT::${t}`)}});var xe,Xt=T(()=>{"use strict";at();ft();ct();xe=class t{constructor(e){this.handler=e}async run(e,r,o){ae(),Z("InferenceSession.run");let n={},s={};if(typeof e!="object"||e===null||e instanceof V||Array.isArray(e))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if(typeof r=="object"){if(r===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof V)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.");a=!1;for(let f of r){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);n[f]=null}if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,d=Object.getOwnPropertyNames(r);for(let p of this.outputNames)if(d.indexOf(p)!==-1){let c=r[p];(c===null||c instanceof V)&&(f=!0,a=!1,n[p]=c)}if(f){if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else s=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof e[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(a)for(let f of this.outputNames)n[f]=null;let i=await this.handler.run(e,n,s),u={};for(let f in i)if(Object.hasOwnProperty.call(i,f)){let d=i[f];d instanceof V?u[f]=d:u[f]=new V(d.type,d.data,d.dims)}return K("InferenceSession.run"),ie(),u}async release(){return this.handler.dispose()}static async create(e,r,o,n){ae(),Z("InferenceSession.create");let s,a={};if(typeof e=="string"){if(s=e,typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(e instanceof Uint8Array){if(s=e,typeof r=="object"&&r!==null)a=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 d=e,p=0,c=e.byteLength;if(typeof r=="object"&&r!==null)a=r;else if(typeof r=="number"){if(p=r,!Number.isSafeInteger(p))throw new RangeError("'byteOffset' must be an integer.");if(p<0||p>=d.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${d.byteLength}).`);if(c=e.byteLength-p,typeof o=="number"){if(c=o,!Number.isSafeInteger(c))throw new RangeError("'byteLength' must be an integer.");if(c<=0||p+c>d.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${d.byteLength-p}].`);if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");s=new Uint8Array(d,p,c)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,u]=await Bt(a),f=await i.createInferenceSessionHandler(s,u);return K("InferenceSession.create"),ie(),new t(f)}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 Zr,Zt=T(()=>{"use strict";Xt();Zr=xe});var Kt=T(()=>{"use strict"});var Qt=T(()=>{"use strict"});var er=T(()=>{"use strict"});var tr=T(()=>{"use strict"});var dt={};ve(dt,{InferenceSession:()=>Zr,TRACE:()=>qt,TRACE_EVENT_BEGIN:()=>Z,TRACE_EVENT_END:()=>K,TRACE_FUNC_BEGIN:()=>ae,TRACE_FUNC_END:()=>ie,Tensor:()=>V,env:()=>v,registerBackend:()=>oe});var Q=T(()=>{"use strict";Mt();Ut();Zt();ft();Kt();Qt();ct();er();tr()});var Oe=T(()=>{"use strict"});var sr={};ve(sr,{default:()=>Kr});var nr,or,Kr,ar=T(()=>{"use strict";pt();ee();De();nr="ort-wasm-proxy-worker",or=globalThis.self?.name===nr;or&&(self.onmessage=t=>{let{type:e,in:r}=t.data;try{switch(e){case"init-wasm":Ue(r.wasm).then(()=>{Ce(r).then(()=>{postMessage({type:e})},o=>{postMessage({type:e,err:o})})},o=>{postMessage({type:e,err:o})});break;case"init-ep":{let{epName:o,env:n}=r;Pe(n,o).then(()=>{postMessage({type:e})},s=>{postMessage({type:e,err:s})});break}case"copy-from":{let{buffer:o}=r,n=ge(o);postMessage({type:e,out:n});break}case"create":{let{model:o,options:n}=r;_e(o,n).then(s=>{postMessage({type:e,out:s})},s=>{postMessage({type:e,err:s})});break}case"release":Re(r),postMessage({type:e});break;case"run":{let{sessionId:o,inputIndices:n,inputs:s,outputIndices:a,options:i}=r;Ne(o,n,s,a,new Array(a.length).fill(null),i).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:e,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:e,out:u},We([...s,...u]))},u=>{postMessage({type:e,err:u})});break}case"end-profiling":Fe(r),postMessage({type:e});break;default:}}catch(o){postMessage({type:e,err:o})}});Kr=or?null:t=>new Worker(t??G,{type:"module",name:nr})});var fr,Qr,en,G,ke,lt,tn,rn,cr,nn,ir,dr,ur,pr,De=T(()=>{"use strict";Oe();fr=typeof location>"u"?void 0:location.origin,Qr=import.meta.url>"file:"&&import.meta.url<"file;",en=()=>{if(!!1){if(Qr){let t=URL;return new URL(new t("ort.jspi.min.mjs",import.meta.url).href,fr).href}return import.meta.url}},G=en(),ke=()=>{if(G&&!G.startsWith("blob:"))return G.substring(0,G.lastIndexOf("/")+1)},lt=(t,e)=>{try{let r=e??G;return(r?new URL(t,r):new URL(t)).origin===fr}catch{return!1}},tn=(t,e)=>{let r=e??G;try{return(r?new URL(t,r):new URL(t)).href}catch{return}},rn=(t,e)=>`${e??"./"}${t}`,cr=async t=>{let r=await(await fetch(t,{credentials:"same-origin"})).blob();return URL.createObjectURL(r)},nn=async t=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/t)).default,ir=(ar(),st(sr)).default,dr=async()=>{if(!G)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(lt(G))return[void 0,ir()];let t=await cr(G);return[t,ir(t)]},ur=void 0,pr=async(t,e,r,o)=>{let n=ur&&!(t||e);if(n)if(G)n=lt(G)||o&&!r;else if(o&&!r)n=!0;else throw new Error("cannot determine the script source URL.");if(n)return[void 0,ur];{let s="ort-wasm-simd-threaded.jspi.mjs",a=t??tn(s,e),i=!!1&&r&&a&&!lt(a,e),u=i?await cr(a):a??rn(s,e);return[i?u:void 0,await nn(u)]}}});var mt,ht,Ge,lr,on,sn,an,Ue,I,ee=T(()=>{"use strict";De();ht=!1,Ge=!1,lr=!1,on=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},sn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},an=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Ue=async t=>{if(ht)return Promise.resolve();if(Ge)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(lr)throw new Error("previous call to 'initializeWebAssembly()' failed.");Ge=!0;let e=t.initTimeout,r=t.numThreads;if(t.simd!==!1){if(t.simd==="relaxed"){if(!an())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!sn())throw new Error("WebAssembly SIMD is not supported in the current environment.")}if(!("Suspending"in WebAssembly))throw new Error("WebAssembly JSPI is not supported in the current environment.");let o=on();r>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),t.numThreads=r=1);let n=t.wasmPaths,s=typeof n=="string"?n:void 0,a=n?.mjs,i=a?.href??a,u=n?.wasm,f=u?.href??u,d=t.wasmBinary,[p,c]=await pr(i,s,r>1,!!d||!!f),l=!1,h=[];if(e>0&&h.push(new Promise(b=>{setTimeout(()=>{l=!0,b()},e)})),h.push(new Promise((b,E)=>{let y={numThreads:r};if(d)y.wasmBinary=d,y.locateFile=m=>m;else if(f||s)y.locateFile=m=>f??s+m;else if(i&&i.indexOf("blob:")!==0)y.locateFile=m=>new URL(m,i).href;else if(p){let m=ke();m&&(y.locateFile=A=>m+A)}c(y).then(m=>{Ge=!1,ht=!0,mt=m,b(),p&&URL.revokeObjectURL(p)},m=>{Ge=!1,lr=!0,E(m)})})),await Promise.race(h),l)throw new Error(`WebAssembly backend initializing failed due to timeout: ${e}ms`)},I=()=>{if(ht&&mt)return mt;throw new Error("WebAssembly is not initialized yet.")}});var W,Te,S,$e=T(()=>{"use strict";ee();W=(t,e)=>{let r=I(),o=r.lengthBytesUTF8(t)+1,n=r._malloc(o);return r.stringToUTF8(t,n,o),e.push(n),n},Te=(t,e,r,o)=>{if(typeof t=="object"&&t!==null){if(r.has(t))throw new Error("Circular reference in options");r.add(t)}Object.entries(t).forEach(([n,s])=>{let a=e?e+n:n;if(typeof s=="object")Te(s,a+".",r,o);else if(typeof s=="string"||typeof s=="number")o(a,s.toString());else if(typeof s=="boolean")o(a,s?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof s}`)})},S=t=>{let e=I(),r=e.stackSave();try{let o=e.PTR_SIZE,n=e.stackAlloc(2*o);e._OrtGetLastError(n,n+o);let s=Number(e.getValue(n,o===4?"i32":"i64")),a=e.getValue(n+o,"*"),i=a?e.UTF8ToString(a):"";throw new Error(`${t} ERROR_CODE: ${s}, ERROR_MESSAGE: ${i}`)}finally{e.stackRestore(r)}}});var mr,hr=T(()=>{"use strict";ee();$e();mr=t=>{let e=I(),r=0,o=[],n=t||{};try{if(t?.logSeverityLevel===void 0)n.logSeverityLevel=2;else if(typeof t.logSeverityLevel!="number"||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${t.logSeverityLevel}`);if(t?.logVerbosityLevel===void 0)n.logVerbosityLevel=0;else if(typeof t.logVerbosityLevel!="number"||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);t?.terminate===void 0&&(n.terminate=!1);let s=0;return t?.tag!==void 0&&(s=W(t.tag,o)),r=e._OrtCreateRunOptions(n.logSeverityLevel,n.logVerbosityLevel,!!n.terminate,s),r===0&&S("Can't create run options."),t?.extra!==void 0&&Te(t.extra,"",new WeakSet,(a,i)=>{let u=W(a,o),f=W(i,o);e._OrtAddRunConfigEntry(r,u,f)!==0&&S(`Can't set a run config entry: ${a} - ${i}.`)}),[r,o]}catch(s){throw r!==0&&e._OrtReleaseRunOptions(r),o.forEach(a=>e._free(a)),s}}});var un,fn,cn,Ee,te,dn,yr,br=T(()=>{"use strict";ee();$e();un=t=>{switch(t){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${t}`)}},fn=t=>{switch(t){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${t}`)}},cn=t=>{t.extra||(t.extra={}),t.extra.session||(t.extra.session={});let e=t.extra.session;e.use_ort_model_bytes_directly||(e.use_ort_model_bytes_directly="1"),t.executionProviders&&t.executionProviders.some(r=>(typeof r=="string"?r:r.name)==="webgpu")&&(t.enableMemPattern=!1)},Ee=(t,e,r,o)=>{let n=W(e,o),s=W(r,o);I()._OrtAddSessionConfigEntry(t,n,s)!==0&&S(`Can't set a session config entry: ${e} - ${r}.`)},te=(t,e,r,o)=>{let n=W(e,o),s=W(r,o);t.push([n,s])},dn=async(t,e,r)=>{let o=e.executionProviders;for(let n of o){let s=typeof n=="string"?n:n.name,a=[];switch(s){case"webnn":if(s="WEBNN",Ee(t,"session.disable_quant_qdq","1",r),Ee(t,"session.disable_qdq_constant_folding","1",r),typeof n!="string"){let c=n?.deviceType;c&&Ee(t,"deviceType",c,r)}break;case"webgpu":{s="WebGPU";let p;if(typeof n!="string"){let l=n;if(l.device)if(typeof GPUDevice<"u"&&l.device instanceof GPUDevice)p=l.device;else throw new Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:h}=e;if(typeof h=="boolean"&&h&&te(a,"enableGraphCapture","1",r),typeof l.preferredLayout=="string"&&te(a,"preferredLayout",l.preferredLayout,r),l.forceCpuNodeNames){let b=Array.isArray(l.forceCpuNodeNames)?l.forceCpuNodeNames:[l.forceCpuNodeNames];te(a,"forceCpuNodeNames",b.join(`
|
| 7 |
+
`),r)}l.validationMode&&te(a,"validationMode",l.validationMode,r);for(let b of["storageBufferCacheMode","uniformBufferCacheMode","queryResolveBufferCacheMode","defaultBufferCacheMode"]){let E=l[b];if(E){if(E!=="disabled"&&E!=="lazyRelease"&&E!=="simple"&&E!=="bucket")throw new Error(`${b} must be one of 'disabled', 'lazyRelease', 'simple' or 'bucket': ${E}`);te(a,b,E,r)}}}let c=I().webgpuRegisterDevice(p);if(c){let[l,h,b]=c;te(a,"deviceId",l.toString(),r),te(a,"webgpuInstance",h.toString(),r),te(a,"webgpuDevice",b.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${s}`)}let i=W(s,r),u=a.length,f=0,d=0;if(u>0){f=I()._malloc(u*I().PTR_SIZE),r.push(f),d=I()._malloc(u*I().PTR_SIZE),r.push(d);for(let p=0;p<u;p++)I().setValue(f+p*I().PTR_SIZE,a[p][0],"*"),I().setValue(d+p*I().PTR_SIZE,a[p][1],"*")}await I()._OrtAppendExecutionProvider(t,i,f,d,u)!==0&&S(`Can't append execution provider: ${s}.`)}},yr=async t=>{let e=I(),r=0,o=[],n=t||{};cn(n);try{let s=un(n.graphOptimizationLevel??"all"),a=fn(n.executionMode??"sequential"),i=typeof n.logId=="string"?W(n.logId,o):0,u=n.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let f=n.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let d=typeof n.optimizedModelFilePath=="string"?W(n.optimizedModelFilePath,o):0;if(r=e._OrtCreateSessionOptions(s,!!n.enableCpuMemArena,!!n.enableMemPattern,a,!!n.enableProfiling,0,i,u,f,d),r===0&&S("Can't create session options."),n.executionProviders&&await dn(r,n,o),n.enableGraphCapture!==void 0){if(typeof n.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${n.enableGraphCapture}`);Ee(r,"enableGraphCapture",n.enableGraphCapture.toString(),o)}if(n.freeDimensionOverrides)for(let[p,c]of Object.entries(n.freeDimensionOverrides)){if(typeof p!="string")throw new Error(`free dimension override name must be a string: ${p}`);if(typeof c!="number"||!Number.isInteger(c)||c<0)throw new Error(`free dimension override value must be a non-negative integer: ${c}`);let l=W(p,o);e._OrtAddFreeDimensionOverride(r,l,c)!==0&&S(`Can't set a free dimension override: ${p} - ${c}.`)}return n.extra!==void 0&&Te(n.extra,"",new WeakSet,(p,c)=>{Ee(r,p,c,o)}),[r,o]}catch(s){throw r!==0&&e._OrtReleaseSessionOptions(r)!==0&&S("Can't release session options."),o.forEach(a=>e._free(a)),s}}});var re,ze,le,fe,Se,Ve,je,yt,ce=T(()=>{"use strict";re=t=>{switch(t){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${t}`)}},ze=t=>{switch(t){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${t}`)}},le=(t,e)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][t],o=typeof e=="number"?e:e.reduce((n,s)=>n*s,1);return r>0?Math.ceil(o*r):void 0},fe=t=>{switch(t){case"float16":return typeof Float16Array<"u"?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${t}`)}},Se=t=>{switch(t){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${t}`)}},Ve=t=>t==="float32"||t==="float16"||t==="int32"||t==="int64"||t==="uint32"||t==="uint8"||t==="bool"||t==="uint4"||t==="int4",je=t=>t==="float32"||t==="float16"||t==="int32"||t==="int64"||t==="uint32"||t==="uint64"||t==="int8"||t==="uint8"||t==="bool"||t==="uint4"||t==="int4",yt=t=>{switch(t){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${t}`)}}});var Ie,bt=T(()=>{"use strict";Oe();Ie=async t=>{if(typeof t=="string")if(!1)try{let{readFile:e}=ot("node:fs/promises");return new Uint8Array(await e(t))}catch(e){if(e.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:r}=ot("node:fs"),o=r(t),n=[];for await(let s of o)n.push(s);return new Uint8Array(Buffer.concat(n))}throw e}else{let e=await fetch(t);if(!e.ok)throw new Error(`failed to load external data file: ${t}`);let r=e.headers.get("Content-Length"),o=r?parseInt(r,10):0;if(o<1073741824)return new Uint8Array(await e.arrayBuffer());{if(!e.body)throw new Error(`failed to load external data file: ${t}, no response body.`);let n=e.body.getReader(),s;try{s=new ArrayBuffer(o)}catch(i){if(i instanceof RangeError){let u=Math.ceil(o/65536);s=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw i}let a=0;for(;;){let{done:i,value:u}=await n.read();if(i)break;let f=u.byteLength;new Uint8Array(s,a,f).set(u),a+=f}return new Uint8Array(s,0,o)}}else return t instanceof Blob?new Uint8Array(await t.arrayBuffer()):t instanceof Uint8Array?t:new Uint8Array(t)}});var wr,gr=T(()=>{"use strict";ce();wr=(t,e)=>new(fe(e))(t)});var pn,ln,Tr,Er,Sr,mn,N,wt=T(()=>{"use strict";ce();pn=["V","I","W","E","F"],ln=(t,e)=>{console.log(`[${pn[t]},${new Date().toISOString()}]${e}`)},Sr=(t,e)=>{Tr=t,Er=e},mn=(t,e)=>{let r=Se(t),o=Se(Tr);r>=o&&ln(r,typeof e=="function"?e():e)},N=(...t)=>{Er&&mn(...t)}});var Lr,hn,Ar,yn,Ir,bn,vr,He,Je,gt,Br,Mr=T(()=>{"use strict";ce();wt();Lr=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),hn=(t,e)=>{if(e==="int32")return t;let r=Lr.get(e);if(!r)throw new Error(`WebNN backend does not support data type: ${e}`);let o=r/8;if(t.byteLength%o!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${o}.`);let n=t.byteLength/o,s=new(fe(e))(t.buffer,t.byteOffset,n);switch(e){case"int64":case"uint64":{let a=new Int32Array(n);for(let i=0;i<n;i++){let u=s[i];if(u>2147483647n||u<-2147483648n)throw new Error("Can not convert int64 data to int32 - value out of range.");a[i]=Number(u)}return new Uint8Array(a.buffer)}case"int8":case"uint8":case"uint32":{if(e==="uint32"&&s.some(i=>i>2147483647))throw new Error("Can not convert uint32 data to int32 - value out of range.");let a=Int32Array.from(s,Number);return new Uint8Array(a.buffer)}default:throw new Error(`Unsupported data conversion from ${e} to 'int32'`)}},Ar=(t,e)=>{if(e==="int32")return t;if(t.byteLength%4!==0)throw new Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=t.byteLength/4,o=new Int32Array(t.buffer,t.byteOffset,r);switch(e){case"int64":{let n=BigInt64Array.from(o,BigInt);return new Uint8Array(n.buffer)}case"uint64":{if(o.some(s=>s<0))throw new Error("Can not convert int32 data to uin64 - negative value found.");let n=BigUint64Array.from(o,BigInt);return new Uint8Array(n.buffer)}case"int8":{if(o.some(s=>s<-128||s>127))throw new Error("Can not convert int32 data to int8 - value out of range.");let n=Int8Array.from(o,Number);return new Uint8Array(n.buffer)}case"uint8":{if(o.some(n=>n<0||n>255))throw new Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(o,Number)}case"uint32":{if(o.some(s=>s<0))throw new Error("Can not convert int32 data to uint32 - negative value found.");let n=Uint32Array.from(o,Number);return new Uint8Array(n.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${e}`)}},yn=1,Ir=()=>yn++,bn=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),vr=(t,e)=>{let r=Lr.get(t);if(!r)throw new Error(`WebNN backend does not support data type: ${t}`);return e.length>0?Math.ceil(e.reduce((o,n)=>o*n)*r/8):0},He=class{constructor(e){this.isDataConverted=!1;let{sessionId:r,context:o,tensor:n,dataType:s,shape:a,fallbackDataType:i}=e;this.sessionId=r,this.mlContext=o,this.mlTensor=n,this.dataType=s,this.tensorShape=a,this.fallbackDataType=i}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return vr(this.dataType,this.tensorShape)}destroy(){N("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let r=await this.mlContext.readTensor(this.mlTensor),o=Ar(new Uint8Array(r),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(o);return}else return new Uint8Array(o).buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,r,o){return this.mlContext===e&&this.dataType===r&&this.tensorShape.length===o.length&&this.tensorShape.every((n,s)=>n===o[s])}setIsDataConverted(e){this.isDataConverted=e}},Je=class{constructor(e,r){this.tensorManager=e;this.wrapper=r}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,r,o,n){let s=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),i;if(!a?.input.dataTypes.includes(r)){if(i=bn.get(r),!i||!a?.input.dataTypes.includes(i))throw new Error(`WebNN backend does not support data type: ${r}`);N("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${r} to ${i}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,r,o))return this.wrapper.tensor;if(n){if(this.wrapper.byteLength!==vr(r,o))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let u=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,r,o,u,!0,!0,i),n&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let r=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")r=hn(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(r);return}else N("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(r):this.activeUpload=new Uint8Array(r)}async download(e){if(this.activeUpload){let r=this.wrapper?.isDataConverted?Ar(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(r):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(r);return}else return r.buffer}if(!this.wrapper)throw new Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},gt=class{constructor(e){this.backend=e;this.tensorTrackersById=new Map;this.freeTensors=[];this.externalTensors=new Set}getMLContext(e){let r=this.backend.getMLContext(e);if(!r)throw new Error("MLContext not found for session.");return r}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=Ir();return this.tensorTrackersById.set(e,new Je(this)),e}releaseTensorId(e){let r=this.tensorTrackersById.get(e);r&&(this.tensorTrackersById.delete(e),r.tensorWrapper&&this.releaseTensor(r.tensorWrapper))}async ensureTensor(e,r,o,n,s){N("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${r}, dataType: ${o}, shape: ${n}, copyOld: ${s}}`);let a=this.tensorTrackersById.get(r);if(!a)throw new Error("Tensor not found.");return a.ensureTensor(e,o,n,s)}upload(e,r){let o=this.tensorTrackersById.get(e);if(!o)throw new Error("Tensor not found.");o.upload(r)}async download(e,r){N("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${r?.byteLength}}`);let o=this.tensorTrackersById.get(e);if(!o)throw new Error("Tensor not found.");return o.download(r)}releaseTensorsForSession(e){for(let r of this.freeTensors)r.sessionId===e&&r.destroy();this.freeTensors=this.freeTensors.filter(r=>r.sessionId!==e)}registerTensor(e,r,o,n){let s=this.getMLContext(e),a=Ir(),i=new He({sessionId:e,context:s,tensor:r,dataType:o,shape:n});return this.tensorTrackersById.set(a,new Je(this,i)),this.externalTensors.add(i),a}async getCachedTensor(e,r,o,n,s,a,i){let u=this.getMLContext(e);for(let[d,p]of this.freeTensors.entries())if(p.canReuseTensor(u,r,o)){N("verbose",()=>`[WebNN] Reusing tensor {dataType: ${r}, ${i?`fallbackDataType: ${i},`:""} shape: ${o}`);let c=this.freeTensors.splice(d,1)[0];return c.sessionId=e,c}N("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${r}, ${i?`fallbackDataType: ${i},`:""} shape: ${o}}`);let f=await u.createTensor({dataType:i??r,shape:o,dimensions:o,usage:n,writable:s,readable:a});return new He({sessionId:e,context:u,tensor:f,dataType:r,shape:o,fallbackDataType:i})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},Br=(...t)=>new gt(...t)});var xr={};ve(xr,{WebNNBackend:()=>Tt});var qe,wn,Tt,Or=T(()=>{"use strict";ce();ee();gr();Mr();wt();qe=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),wn=(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;let r=Object.keys(t).sort(),o=Object.keys(e).sort();return r.length===o.length&&r.every((n,s)=>n===o[s]&&t[n]===e[n])},Tt=class{constructor(e){this.tensorManager=Br(this);this.mlContextBySessionId=new Map;this.sessionIdsByMLContext=new Map;this.mlContextCache=[];this.sessionGraphInputs=new Map;this.sessionGraphOutputs=new Map;this.temporaryGraphInputs=[];this.temporaryGraphOutputs=[];this.temporarySessionTensorIds=new Map;this.mlOpSupportLimitsBySessionId=new Map;Sr(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(e){N("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){N("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let r=this.temporarySessionTensorIds.get(e);if(r){for(let o of r)N("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${o}}`),this.tensorManager.releaseTensorId(o);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let o=this.mlContextCache.findIndex(n=>n.gpuDevice===e);if(o!==-1)return this.mlContextCache[o].mlContext;{let n=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:n}),n}}else if(e===void 0){let o=this.mlContextCache.findIndex(n=>n.options===void 0&&n.gpuDevice===void 0);if(o!==-1)return this.mlContextCache[o].mlContext;{let n=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:n}),n}}let r=this.mlContextCache.findIndex(o=>wn(o.options,e));if(r!==-1)return this.mlContextCache[r].mlContext;{let o=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:o}),o}}registerMLContext(e,r){this.mlContextBySessionId.set(e,r);let o=this.sessionIdsByMLContext.get(r);o||(o=new Set,this.sessionIdsByMLContext.set(r,o)),o.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,r.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let r=this.mlContextBySessionId.get(e);if(!r)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let o=this.sessionIdsByMLContext.get(r);if(o.delete(e),o.size===0){this.sessionIdsByMLContext.delete(r);let n=this.mlContextCache.findIndex(s=>s.mlContext===r);n!==-1&&this.mlContextCache.splice(n,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){N("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,r,o,n,s){let a=qe.get(o);if(!a)throw new Error(`Unsupported ONNX data type: ${o}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,r,a,n,s)}async createTemporaryTensor(e,r,o){N("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${r}, shape: ${o}}`);let n=qe.get(r);if(!n)throw new Error(`Unsupported ONNX data type: ${r}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,s,n,o,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(s):this.temporarySessionTensorIds.set(e,[s]),s}uploadTensor(e,r){if(!I().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");N("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${r.byteLength}}`),this.tensorManager.upload(e,r)}async downloadTensor(e,r){return this.tensorManager.download(e,r)}createMLTensorDownloader(e,r){return async()=>{let o=await this.tensorManager.download(e);return wr(o,r)}}registerMLTensor(e,r,o,n){let s=qe.get(o);if(!s)throw new Error(`Unsupported ONNX data type: ${o}`);let a=this.tensorManager.registerTensor(e,r,s,n);return N("verbose",()=>`[WebNN] registerMLTensor {tensor: ${r}, dataType: ${s}, dimensions: ${n}} -> {tensorId: ${a}}`),a}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,r){let o=this.sessionGraphInputs.get(e);return o?o.includes(r):!1}isGraphOutput(e,r){let o=this.sessionGraphOutputs.get(e);return o?o.includes(r):!1}isGraphInputOutputTypeSupported(e,r,o=!0){let n=qe.get(re(r)),s=this.mlOpSupportLimitsBySessionId.get(e);return typeof n>"u"?!1:o?!!s?.input.dataTypes.includes(n):!!s?.output.dataTypes.includes(n)}flush(){}}});var gn,Ce,Pe,de,Tn,Dr,ge,_e,Re,Ur,Ne,Fe,We,pt=T(()=>{"use strict";Q();hr();br();ce();ee();$e();bt();gn=(t,e)=>{I()._OrtInit(t,e)!==0&&S("Can't initialize onnxruntime.")},Ce=async t=>{gn(t.wasm.numThreads,Se(t.logLevel))},Pe=async(t,e)=>{I().asyncInit?.();let r=t.webgpu.adapter;if(e==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let o=t.webgpu.powerPreference;if(o!==void 0&&o!=="low-power"&&o!=="high-performance")throw new Error(`Invalid powerPreference setting: "${o}"`);let n=t.webgpu.forceFallbackAdapter;if(n!==void 0&&typeof n!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${n}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:n}),!r)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(e==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment");if(e==="webgpu"&&I().webgpuInit(o=>{t.webgpu.device=o}),e==="webnn"){let o=new(Or(),st(xr)).WebNNBackend(t);I().webnnInit([o,()=>o.reserveTensorId(),n=>o.releaseTensorId(n),async(n,s,a,i,u)=>o.ensureTensor(n,s,a,i,u),(n,s)=>{o.uploadTensor(n,s)},async(n,s)=>o.downloadTensor(n,s),(n,s)=>o.registerMLContext(n,s),!!t.trace])}},de=new Map,Tn=t=>{let e=I(),r=e.stackSave();try{let o=e.PTR_SIZE,n=e.stackAlloc(2*o);e._OrtGetInputOutputCount(t,n,n+o)!==0&&S("Can't get session input/output count.");let a=o===4?"i32":"i64";return[Number(e.getValue(n,a)),Number(e.getValue(n+o,a))]}finally{e.stackRestore(r)}},Dr=(t,e)=>{let r=I(),o=r.stackSave(),n=0;try{let s=r.PTR_SIZE,a=r.stackAlloc(2*s);r._OrtGetInputOutputMetadata(t,e,a,a+s)!==0&&S("Can't get session input/output metadata.");let u=Number(r.getValue(a,"*"));n=Number(r.getValue(a+s,"*"));let f=r.HEAP32[n/4];if(f===0)return[u,0];let d=r.HEAPU32[n/4+1],p=[];for(let c=0;c<d;c++){let l=Number(r.getValue(n+8+c*s,"*"));p.push(l!==0?r.UTF8ToString(l):Number(r.getValue(n+8+(c+d)*s,"*")))}return[u,f,p]}finally{r.stackRestore(o),n!==0&&r._OrtFree(n)}},ge=t=>{let e=I(),r=e._malloc(t.byteLength);if(r===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${t.byteLength}.`);return e.HEAPU8.set(t,r),[r,t.byteLength]},_e=async(t,e)=>{let r,o,n=I();Array.isArray(t)?[r,o]=t:t.buffer===n.HEAPU8.buffer?[r,o]=[t.byteOffset,t.byteLength]:[r,o]=ge(t);let s=0,a=0,i=0,u=[],f=[],d=[];try{if([a,u]=await yr(e),e?.externalData&&n.mountExternalData){let w=[];for(let L of e.externalData){let D=typeof L=="string"?L:L.path,F=typeof L=="string"?L:L.data;if(F instanceof Blob){n.mountExternalData(D,F);continue}w.push(Ie(F).then(x=>{n.mountExternalData(D,x)}))}await Promise.all(w)}for(let w of e?.executionProviders??[])if((typeof w=="string"?w:w.name)==="webnn"){if(n.shouldTransferToMLTensor=!1,typeof w!="string"){let D=w,F=D?.context,x=D?.gpuDevice,k=D?.deviceType,H=D?.powerPreference;F?n.currentContext=F:x?n.currentContext=await n.webnnCreateMLContext(x):n.currentContext=await n.webnnCreateMLContext({deviceType:k,powerPreference:H})}else n.currentContext=await n.webnnCreateMLContext();break}s=await n._OrtCreateSession(r,o,a),n.webgpuOnCreateSession?.(s),s===0&&S("Can't create a session."),n.jsepOnCreateSession?.(),n.currentContext&&(n.webnnRegisterMLContext(s,n.currentContext),n.currentContext=void 0,n.shouldTransferToMLTensor=!0);let[p,c]=Tn(s),l=!!e?.enableGraphCapture,h=[],b=[],E=[],y=[],m=[];for(let w=0;w<p;w++){let[L,D,F]=Dr(s,w);L===0&&S("Can't get an input name."),f.push(L);let x=n.UTF8ToString(L);h.push(x),E.push(D===0?{name:x,isTensor:!1}:{name:x,isTensor:!0,type:ze(D),shape:F})}for(let w=0;w<c;w++){let[L,D,F]=Dr(s,w+p);L===0&&S("Can't get an output name."),d.push(L);let x=n.UTF8ToString(L);b.push(x),y.push(D===0?{name:x,isTensor:!1}:{name:x,isTensor:!0,type:ze(D),shape:F});{if(l&&e?.preferredOutputLocation===void 0){m.push("gpu-buffer");continue}let k=typeof e?.preferredOutputLocation=="string"?e.preferredOutputLocation:e?.preferredOutputLocation?.[x]??"cpu",H=n.webnnIsGraphOutput;if(k==="cpu"&&H&&H(s,x)){m.push("ml-tensor-cpu-output");continue}if(k!=="cpu"&&k!=="cpu-pinned"&&k!=="gpu-buffer"&&k!=="ml-tensor")throw new Error(`Not supported preferred output location: ${k}.`);if(l&&k!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${k}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);m.push(k)}}let A=null;return m.some(w=>w==="gpu-buffer"||w==="ml-tensor"||w==="ml-tensor-cpu-output")&&(i=n._OrtCreateBinding(s),i===0&&S("Can't create IO binding."),A={handle:i,outputPreferredLocations:m,outputPreferredLocationsEncoded:m.map(w=>w==="ml-tensor-cpu-output"?"ml-tensor":w).map(w=>yt(w))}),de.set(s,[s,f,d,A,l,!1]),[s,h,b,E,y]}catch(p){throw f.forEach(c=>n._OrtFree(c)),d.forEach(c=>n._OrtFree(c)),i!==0&&n._OrtReleaseBinding(i)!==0&&S("Can't release IO binding."),s!==0&&n._OrtReleaseSession(s)!==0&&S("Can't release session."),p}finally{n._free(r),a!==0&&n._OrtReleaseSessionOptions(a)!==0&&S("Can't release session options."),u.forEach(p=>n._free(p)),n.unmountExternalData?.()}},Re=t=>{let e=I(),r=de.get(t);if(!r)throw new Error(`cannot release session. invalid session id: ${t}`);let[o,n,s,a,i]=r;a&&(i&&e._OrtClearBoundOutputs(a.handle)!==0&&S("Can't clear bound outputs."),e._OrtReleaseBinding(a.handle)!==0&&S("Can't release IO binding.")),e.jsepOnReleaseSession?.(t),e.webnnOnReleaseSession?.(t),e.webgpuOnReleaseSession?.(t),n.forEach(u=>e._OrtFree(u)),s.forEach(u=>e._OrtFree(u)),e._OrtReleaseSession(o)!==0&&S("Can't release session."),de.delete(t)},Ur=async(t,e,r,o,n,s,a=!1)=>{if(!t){e.push(0);return}let i=I(),u=i.PTR_SIZE,f=t[0],d=t[1],p=t[3],c=p,l,h;if(f==="string"&&(p==="gpu-buffer"||p==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(a&&p!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${s} when enableGraphCapture is true.`);if(p==="gpu-buffer"){let y=t[2].gpuBuffer;h=le(re(f),d);{let m=i.webgpuRegisterBuffer;if(!m)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');l=m(y,o)}}else if(p==="ml-tensor"){let y=t[2].mlTensor;h=le(re(f),d);let m=i.webnnRegisterMLTensor;if(!m)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');l=m(o,y,re(f),d)}else{let y=t[2];if(Array.isArray(y)){h=u*y.length,l=i._malloc(h),r.push(l);for(let m=0;m<y.length;m++){if(typeof y[m]!="string")throw new TypeError(`tensor data at index ${m} is not a string`);i.setValue(l+m*u,W(y[m],r),"*")}}else{let m=i.webnnIsGraphInput,A=i.webnnIsGraphOutput;if(f!=="string"&&m&&A){let w=i.UTF8ToString(n);if(m(o,w)||A(o,w)){let L=re(f);h=le(L,d),c="ml-tensor";let D=i.webnnCreateTemporaryTensor,F=i.webnnUploadTensor;if(!D||!F)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let x=await D(o,L,d);F(x,new Uint8Array(y.buffer,y.byteOffset,y.byteLength)),l=x}else h=y.byteLength,l=i._malloc(h),r.push(l),i.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,h),l)}else h=y.byteLength,l=i._malloc(h),r.push(l),i.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,h),l)}}let b=i.stackSave(),E=i.stackAlloc(4*d.length);try{d.forEach((m,A)=>i.setValue(E+A*u,m,u===4?"i32":"i64"));let y=i._OrtCreateTensor(re(f),l,h,E,d.length,yt(c));y===0&&S(`Can't create tensor for input/output. session=${o}, index=${s}.`),e.push(y)}finally{i.stackRestore(b)}},Ne=async(t,e,r,o,n,s)=>{let a=I(),i=a.PTR_SIZE,u=de.get(t);if(!u)throw new Error(`cannot run inference. invalid session id: ${t}`);let f=u[0],d=u[1],p=u[2],c=u[3],l=u[4],h=u[5],b=e.length,E=o.length,y=0,m=[],A=[],w=[],L=[],D=[],F=a.stackSave(),x=a.stackAlloc(b*i),k=a.stackAlloc(b*i),H=a.stackAlloc(E*i),Lt=a.stackAlloc(E*i);try{[y,m]=mr(s),Z("wasm prepareInputOutputTensor");for(let g=0;g<b;g++)await Ur(r[g],A,L,t,d[e[g]],e[g],l);for(let g=0;g<E;g++)await Ur(n[g],w,L,t,p[o[g]],b+o[g],l);K("wasm prepareInputOutputTensor");for(let g=0;g<b;g++)a.setValue(x+g*i,A[g],"*"),a.setValue(k+g*i,d[e[g]],"*");for(let g=0;g<E;g++)a.setValue(H+g*i,w[g],"*"),a.setValue(Lt+g*i,p[o[g]],"*");if(c&&!h){let{handle:g,outputPreferredLocations:$,outputPreferredLocationsEncoded:et}=c;if(d.length!==b)throw new Error(`input count from feeds (${b}) is expected to be always equal to model's input count (${d.length}).`);Z("wasm bindInputsOutputs");for(let B=0;B<b;B++){let j=e[B];await a._OrtBindInput(g,d[j],A[B])!==0&&S(`Can't bind input[${B}] for session=${t}.`)}for(let B=0;B<E;B++){let j=o[B];n[B]?.[3]?(D.push(w[B]),a._OrtBindOutput(g,p[j],w[B],0)!==0&&S(`Can't bind pre-allocated output[${B}] for session=${t}.`)):a._OrtBindOutput(g,p[j],0,et[j])!==0&&S(`Can't bind output[${B}] to ${$[B]} for session=${t}.`)}K("wasm bindInputsOutputs"),de.set(t,[f,d,p,c,l,!0])}a.jsepOnRunStart?.(f),a.webnnOnRunStart?.(f);let U;c?U=await a._OrtRunWithBinding(f,c.handle,E,H,y):U=await a._OrtRun(f,k,x,b,Lt,E,H,y),U!==0&&S("failed to call OrtRun().");let J=[],At=[];Z("wasm ProcessOutputTensor");for(let g=0;g<E;g++){let $=Number(a.getValue(H+g*i,"*"));if($===w[g]||D.includes(w[g])){J.push(n[g]),$!==w[g]&&a._OrtReleaseTensor($)!==0&&S("Can't release tensor.");continue}let et=a.stackSave(),B=a.stackAlloc(4*i),j=!1,O,R=0;try{a._OrtGetTensorData($,B,B+i,B+2*i,B+3*i)!==0&&S(`Can't access output tensor data on index ${g}.`);let tt=i===4?"i32":"i64",Ae=Number(a.getValue(B,tt));R=a.getValue(B+i,"*");let vt=a.getValue(B+i*2,"*"),jr=Number(a.getValue(B+i*3,tt)),q=[];for(let P=0;P<jr;P++)q.push(Number(a.getValue(vt+P*i,tt)));a._OrtFree(vt)!==0&&S("Can't free memory for tensor dims.");let Y=q.reduce((P,M)=>P*M,1);O=ze(Ae);let ye=c?.outputPreferredLocations[o[g]];if(O==="string"){if(ye==="gpu-buffer"||ye==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let P=[];for(let M=0;M<Y;M++){let X=a.getValue(R+M*i,"*"),be=a.getValue(R+(M+1)*i,"*"),rt=M===Y-1?void 0:be-X;P.push(a.UTF8ToString(X,rt))}J.push([O,q,P,"cpu"])}else if(ye==="gpu-buffer"&&Y>0){let P=a.webgpuGetBuffer;if(!P)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let M=P(R),X=le(Ae,Y);if(X===void 0||!Ve(O))throw new Error(`Unsupported data type: ${O}`);j=!0;{a.webgpuRegisterBuffer(M,t,R);let be=a.webgpuCreateDownloader(M,X,t);J.push([O,q,{gpuBuffer:M,download:async()=>{let rt=await be();return new(fe(O))(rt)},dispose:()=>{a._OrtReleaseTensor($)!==0&&S("Can't release tensor.")}},"gpu-buffer"])}}else if(ye==="ml-tensor"&&Y>0){let P=a.webnnEnsureTensor,M=a.webnnIsGraphInputOutputTypeSupported;if(!P||!M)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(le(Ae,Y)===void 0||!je(O))throw new Error(`Unsupported data type: ${O}`);if(!M(t,O,!1))throw new Error(`preferredLocation "ml-tensor" for ${O} output is not supported by current WebNN Context.`);let be=await P(t,R,Ae,q,!1);j=!0,J.push([O,q,{mlTensor:be,download:a.webnnCreateMLTensorDownloader(R,O),dispose:()=>{a.webnnReleaseTensorId(R),a._OrtReleaseTensor($)}},"ml-tensor"])}else if(ye==="ml-tensor-cpu-output"&&Y>0){let P=a.webnnCreateMLTensorDownloader(R,O)(),M=J.length;j=!0,At.push((async()=>{let X=[M,await P];return a.webnnReleaseTensorId(R),a._OrtReleaseTensor($),X})()),J.push([O,q,[],"cpu"])}else{let P=fe(O),M=new P(Y);new Uint8Array(M.buffer,M.byteOffset,M.byteLength).set(a.HEAPU8.subarray(R,R+M.byteLength)),J.push([O,q,M,"cpu"])}}finally{a.stackRestore(et),O==="string"&&R&&a._free(R),j||a._OrtReleaseTensor($)}}c&&!l&&(a._OrtClearBoundOutputs(c.handle)!==0&&S("Can't clear bound outputs."),de.set(t,[f,d,p,c,l,!1]));for(let[g,$]of await Promise.all(At))J[g][2]=$;return K("wasm ProcessOutputTensor"),J}finally{a.webnnOnRunEnd?.(f),a.stackRestore(F),r.forEach(U=>{U&&U[3]==="gpu-buffer"&&a.webgpuUnregisterBuffer(U[2].gpuBuffer)}),n.forEach(U=>{U&&U[3]==="gpu-buffer"&&a.webgpuUnregisterBuffer(U[2].gpuBuffer)}),A.forEach(U=>a._OrtReleaseTensor(U)),w.forEach(U=>a._OrtReleaseTensor(U)),L.forEach(U=>a._free(U)),y!==0&&a._OrtReleaseRunOptions(y),m.forEach(U=>a._free(U))}},Fe=t=>{let e=I(),r=de.get(t);if(!r)throw new Error("invalid session id");let o=r[0],n=e._OrtEndProfiling(o);n===0&&S("Can't get an profile file name."),e._OrtFree(n)},We=t=>{let e=[];for(let r of t){let o=r[2];!Array.isArray(o)&&"buffer"in o&&e.push(o.buffer)}return e}});var pe,z,Le,Xe,Ze,Ye,Et,St,me,he,Sn,Cr,Pr,_r,Rr,Nr,Fr,Wr,It=T(()=>{"use strict";Q();pt();ee();De();pe=()=>!!v.wasm.proxy&&typeof document<"u",Le=!1,Xe=!1,Ze=!1,St=new Map,me=(t,e)=>{let r=St.get(t);r?r.push(e):St.set(t,[e])},he=()=>{if(Le||!Xe||Ze||!z)throw new Error("worker not ready")},Sn=t=>{switch(t.data.type){case"init-wasm":Le=!1,t.data.err?(Ze=!0,Et[1](t.data.err)):(Xe=!0,Et[0]()),Ye&&(URL.revokeObjectURL(Ye),Ye=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let e=St.get(t.data.type);t.data.err?e.shift()[1](t.data.err):e.shift()[0](t.data.out);break}default:}},Cr=async()=>{if(!Xe){if(Le)throw new Error("multiple calls to 'initWasm()' detected.");if(Ze)throw new Error("previous call to 'initWasm()' failed.");if(Le=!0,pe())return new Promise((t,e)=>{z?.terminate(),dr().then(([r,o])=>{try{z=o,z.onerror=s=>e(s),z.onmessage=Sn,Et=[t,e];let n={type:"init-wasm",in:v};if(!n.in.wasm.wasmPaths&&r){let s=ke();s&&(n.in.wasm.wasmPaths=s)}z.postMessage(n),Ye=r}catch(n){e(n)}},e)});try{await Ue(v.wasm),await Ce(v),Xe=!0}catch(t){throw Ze=!0,t}finally{Le=!1}}},Pr=async t=>{if(pe())return he(),new Promise((e,r)=>{me("init-ep",[e,r]);let o={type:"init-ep",in:{epName:t,env:v}};z.postMessage(o)});await Pe(v,t)},_r=async t=>pe()?(he(),new Promise((e,r)=>{me("copy-from",[e,r]);let o={type:"copy-from",in:{buffer:t}};z.postMessage(o,[t.buffer])})):ge(t),Rr=async(t,e)=>{if(pe()){if(e?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return he(),new Promise((r,o)=>{me("create",[r,o]);let n={type:"create",in:{model:t,options:{...e}}},s=[];t instanceof Uint8Array&&s.push(t.buffer),z.postMessage(n,s)})}else return _e(t,e)},Nr=async t=>{if(pe())return he(),new Promise((e,r)=>{me("release",[e,r]);let o={type:"release",in:t};z.postMessage(o)});Re(t)},Fr=async(t,e,r,o,n,s)=>{if(pe()){if(r.some(a=>a[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(n.some(a=>a))throw new Error("pre-allocated output tensor is not supported for proxy.");return he(),new Promise((a,i)=>{me("run",[a,i]);let u=r,f={type:"run",in:{sessionId:t,inputIndices:e,inputs:u,outputIndices:o,options:s}};z.postMessage(f,We(u))})}else return Ne(t,e,r,o,n,s)},Wr=async t=>{if(pe())return he(),new Promise((e,r)=>{me("end-profiling",[e,r]);let o={type:"end-profiling",in:t};z.postMessage(o)});Fe(t)}});var kr,In,Ke,Gr=T(()=>{"use strict";Q();It();ce();Oe();bt();kr=(t,e)=>{switch(t.location){case"cpu":return[t.type,t.dims,t.data,"cpu"];case"gpu-buffer":return[t.type,t.dims,{gpuBuffer:t.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[t.type,t.dims,{mlTensor:t.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${t.location} for ${e()}`)}},In=t=>{switch(t[3]){case"cpu":return new V(t[0],t[2],t[1]);case"gpu-buffer":{let e=t[0];if(!Ve(e))throw new Error(`not supported data type: ${e} for deserializing GPU tensor`);let{gpuBuffer:r,download:o,dispose:n}=t[2];return V.fromGpuBuffer(r,{dataType:e,dims:t[1],download:o,dispose:n})}case"ml-tensor":{let e=t[0];if(!je(e))throw new Error(`not supported data type: ${e} for deserializing MLTensor tensor`);let{mlTensor:r,download:o,dispose:n}=t[2];return V.fromMLTensor(r,{dataType:e,dims:t[1],download:o,dispose:n})}default:throw new Error(`invalid data location: ${t[3]}`)}},Ke=class{async fetchModelAndCopyToWasmMemory(e){return _r(await Ie(e))}async loadModel(e,r){ae();let o;typeof e=="string"?o=await this.fetchModelAndCopyToWasmMemory(e):o=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Rr(o,r),ie()}async dispose(){return Nr(this.sessionId)}async run(e,r,o){ae();let n=[],s=[];Object.entries(e).forEach(c=>{let l=c[0],h=c[1],b=this.inputNames.indexOf(l);if(b===-1)throw new Error(`invalid input '${l}'`);n.push(h),s.push(b)});let a=[],i=[];Object.entries(r).forEach(c=>{let l=c[0],h=c[1],b=this.outputNames.indexOf(l);if(b===-1)throw new Error(`invalid output '${l}'`);a.push(h),i.push(b)});let u=n.map((c,l)=>kr(c,()=>`input "${this.inputNames[s[l]]}"`)),f=a.map((c,l)=>c?kr(c,()=>`output "${this.outputNames[i[l]]}"`):null),d=await Fr(this.sessionId,s,u,i,f,o),p={};for(let c=0;c<d.length;c++)p[this.outputNames[i[c]]]=a[c]??In(d[c]);return ie(),p}startProfiling(){}endProfiling(){Wr(this.sessionId)}}});var zr={};ve(zr,{OnnxruntimeWebAssemblyBackend:()=>Qe,initializeFlags:()=>$r,wasmBackend:()=>Ln});var $r,Qe,Ln,Vr=T(()=>{"use strict";Q();It();Gr();$r=()=>{(typeof v.wasm.initTimeout!="number"||v.wasm.initTimeout<0)&&(v.wasm.initTimeout=0);let t=v.wasm.simd;if(typeof t!="boolean"&&t!==void 0&&t!=="fixed"&&t!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${t}". Reset it to \`false\` and ignore SIMD feature checking.`),v.wasm.simd=!1),typeof v.wasm.proxy!="boolean"&&(v.wasm.proxy=!1),typeof v.wasm.trace!="boolean"&&(v.wasm.trace=!1),typeof v.wasm.numThreads!="number"||!Number.isInteger(v.wasm.numThreads)||v.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)v.wasm.numThreads=1;else{let e=typeof navigator>"u"?ot("node:os").cpus().length:navigator.hardwareConcurrency;v.wasm.numThreads=Math.min(4,Math.ceil((e||1)/2))}},Qe=class{async init(e){$r(),await Cr(),await Pr(e)}async createInferenceSessionHandler(e,r){let o=new Ke;return await o.loadModel(e,r),o}},Ln=new Qe});Q();Q();Q();var rr="1.30.0";var Ls=dt;{let t=(Vr(),st(zr)).wasmBackend;oe("webgpu",t,5),oe("webnn",t,5),oe("cpu",t,10),oe("wasm",t,10)}Object.defineProperty(v.versions,"web",{value:rr,enumerable:!0});export{Zr as InferenceSession,qt as TRACE,Z as TRACE_EVENT_BEGIN,K as TRACE_EVENT_END,ae as TRACE_FUNC_BEGIN,ie as TRACE_FUNC_END,V as Tensor,Ls as default,v as env,oe as registerBackend};
|
| 8 |
+
//# sourceMappingURL=ort.jspi.min.mjs.map
|
ort/ort.jspi.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.node.min.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.30.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
import{createRequire}from"module";const require=createRequire(import.meta.url);
|
| 7 |
+
var pe=Object.defineProperty;var Et=Object.getOwnPropertyDescriptor;var St=Object.getOwnPropertyNames;var ht=Object.prototype.hasOwnProperty;var de=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var C=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(o){throw n=[o],o}};var Ot=(e,t)=>{for(var n in t)pe(e,n,{get:t[n],enumerable:!0})},It=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of St(t))!ht.call(e,r)&&r!==n&&pe(e,r,{get:()=>t[r],enumerable:!(o=Et(t,r))||o.enumerable});return e};var Tt=e=>It(pe({},"__esModule",{value:!0}),e);var j,ne=C(()=>{"use strict";j=!!(typeof process<"u"&&process.versions&&process.versions.node)});var Ae,Lt,Bt,$,xe,ve,_t,Pt,Dt,vt,Ue,Ce,me=C(()=>{"use strict";ne();Ae=j||typeof location>"u"?void 0:location.origin,Lt=import.meta.url>"file:"&&import.meta.url<"file;",Bt=()=>{if(!j){if(Lt){let e=URL;return new URL(new e("ort.node.min.mjs",import.meta.url).href,Ae).href}return import.meta.url}},$=Bt(),xe=()=>{if($&&!$.startsWith("blob:"))return $.substring(0,$.lastIndexOf("/")+1)},ve=(e,t)=>{try{let n=t??$;return(n?new URL(e,n):new URL(e)).origin===Ae}catch{return!1}},_t=(e,t)=>{let n=t??$;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Pt=(e,t)=>`${t??"./"}${e}`,Dt=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},vt=async e=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/e)).default,Ue=void 0,Ce=async(e,t,n,o)=>{let r=Ue&&!(e||t);if(r)if($)r=ve($)||o&&!n;else if(o&&!n)r=!0;else throw new Error("cannot determine the script source URL.");if(r)return[void 0,Ue];{let a="ort-wasm-simd-threaded.mjs",s=e??_t(a,t),i=!j&&n&&s&&!ve(s,t),u=i?await Dt(s):s??Pt(a,t);return[i?u:void 0,await vt(u)]}}});var be,we,oe,Me,Ut,At,xt,We,E,V=C(()=>{"use strict";me();we=!1,oe=!1,Me=!1,Ut=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},At=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},xt=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},We=async e=>{if(we)return Promise.resolve();if(oe)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Me)throw new Error("previous call to 'initializeWebAssembly()' failed.");oe=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!xt())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!At())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=Ut();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,a=typeof r=="string"?r:void 0,s=r?.mjs,i=s?.href??s,u=r?.wasm,l=u?.href??u,w=e.wasmBinary,[f,c]=await Ce(i,a,n>1,!!w||!!l),p=!1,S=[];if(t>0&&S.push(new Promise(h=>{setTimeout(()=>{p=!0,h()},t)})),S.push(new Promise((h,P)=>{let m={numThreads:n};if(w)m.wasmBinary=w,m.locateFile=b=>b;else if(l||a)m.locateFile=b=>l??a+b;else if(i&&i.indexOf("blob:")!==0)m.locateFile=b=>new URL(b,i).href;else if(f){let b=xe();b&&(m.locateFile=M=>b+M)}c(m).then(b=>{oe=!1,we=!0,be=b,h(),f&&URL.revokeObjectURL(f)},b=>{oe=!1,Me=!0,P(b)})})),await Promise.race(S),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},E=()=>{if(we&&be)return be;throw new Error("WebAssembly is not initialized yet.")}});var A,Q,g,se=C(()=>{"use strict";V();A=(e,t)=>{let n=E(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},Q=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,a])=>{let s=t?t+r:r;if(typeof a=="object")Q(a,s+".",n,o);else if(typeof a=="string"||typeof a=="number")o(s,a.toString());else if(typeof a=="boolean")o(s,a?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof a}`)})},g=e=>{let t=E(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let a=Number(t.getValue(r,o===4?"i32":"i64")),s=t.getValue(r+o,"*"),i=s?t.UTF8ToString(s):"";throw new Error(`${e} ERROR_CODE: ${a}, ERROR_MESSAGE: ${i}`)}finally{t.stackRestore(n)}}});var ke,Fe=C(()=>{"use strict";V();se();ke=e=>{let t=E(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let a=0;return e?.tag!==void 0&&(a=A(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,a),n===0&&g("Can't create run options."),e?.extra!==void 0&&Q(e.extra,"",new WeakSet,(s,i)=>{let u=A(s,o),l=A(i,o);t._OrtAddRunConfigEntry(n,u,l)!==0&&g(`Can't set a run config entry: ${s} - ${i}.`)}),[n,o]}catch(a){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(s=>t._free(s)),a}}});var Ct,Mt,Wt,q,kt,Re,Ne=C(()=>{"use strict";V();se();Ct=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Mt=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Wt=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},q=(e,t,n,o)=>{let r=A(t,o),a=A(n,o);E()._OrtAddSessionConfigEntry(e,r,a)!==0&&g(`Can't set a session config entry: ${t} - ${n}.`)},kt=async(e,t,n)=>{let o=t.executionProviders;for(let r of o){let a=typeof r=="string"?r:r.name,s=[];switch(a){case"webnn":if(a="WEBNN",q(e,"session.disable_quant_qdq","1",n),q(e,"session.disable_qdq_constant_folding","1",n),typeof r!="string"){let c=r?.deviceType;c&&q(e,"deviceType",c,n)}break;case"webgpu":if(a="JS",typeof r!="string"){let f=r;if(f?.preferredLayout){if(f.preferredLayout!=="NCHW"&&f.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${f.preferredLayout}`);q(e,"preferredLayout",f.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${a}`)}let i=A(a,n),u=s.length,l=0,w=0;if(u>0){l=E()._malloc(u*E().PTR_SIZE),n.push(l),w=E()._malloc(u*E().PTR_SIZE),n.push(w);for(let f=0;f<u;f++)E().setValue(l+f*E().PTR_SIZE,s[f][0],"*"),E().setValue(w+f*E().PTR_SIZE,s[f][1],"*")}await E()._OrtAppendExecutionProvider(e,i,l,w,u)!==0&&g(`Can't append execution provider: ${a}.`)}},Re=async e=>{let t=E(),n=0,o=[],r=e||{};Wt(r);try{let a=Ct(r.graphOptimizationLevel??"all"),s=Mt(r.executionMode??"sequential"),i=typeof r.logId=="string"?A(r.logId,o):0,u=r.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let l=r.logVerbosityLevel??0;if(!Number.isInteger(l)||l<0||l>4)throw new Error(`log verbosity level is not valid: ${l}`);let w=typeof r.optimizedModelFilePath=="string"?A(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(a,!!r.enableCpuMemArena,!!r.enableMemPattern,s,!!r.enableProfiling,0,i,u,l,w),n===0&&g("Can't create session options."),r.executionProviders&&await kt(n,r,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);q(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[f,c]of Object.entries(r.freeDimensionOverrides)){if(typeof f!="string")throw new Error(`free dimension override name must be a string: ${f}`);if(typeof c!="number"||!Number.isInteger(c)||c<0)throw new Error(`free dimension override value must be a non-negative integer: ${c}`);let p=A(f,o);t._OrtAddFreeDimensionOverride(n,p,c)!==0&&g(`Can't set a free dimension override: ${f} - ${c}.`)}return r.extra!==void 0&&Q(r.extra,"",new WeakSet,(f,c)=>{q(n,f,c,o)}),[n,o]}catch(a){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&g("Can't release session options."),o.forEach(s=>t._free(s)),a}}});var J,ae,Y,Ge,je,ie,ue,$e,ge=C(()=>{"use strict";J=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},ae=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},Y=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,a)=>r*a,1);return n>0?Math.ceil(o*n):void 0},Ge=e=>{switch(e){case"float16":return typeof Float16Array<"u"?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},je=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},ie=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",ue=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",$e=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var ee,ye=C(()=>{"use strict";ne();ee=async e=>{if(typeof e=="string")if(j)try{let{readFile:t}=de("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=de("node:fs"),o=n(e),r=[];for await(let a of o)r.push(a);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),a;try{a=new ArrayBuffer(o)}catch(i){if(i instanceof RangeError){let u=Math.ceil(o/65536);a=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw i}let s=0;for(;;){let{done:i,value:u}=await r.read();if(i)break;let l=u.byteLength;new Uint8Array(a,s,l).set(u),s+=l}return new Uint8Array(a,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});import{TRACE_EVENT_BEGIN as ze,TRACE_EVENT_END as He}from"onnxruntime-common";var Ft,Je,Ye,Z,Rt,Ve,Ee,Ze,Xe,qe,Ke,Qe,et=C(()=>{"use strict";Fe();Ne();ge();V();se();ye();Ft=(e,t)=>{E()._OrtInit(e,t)!==0&&g("Can't initialize onnxruntime.")},Je=async e=>{Ft(e.wasm.numThreads,je(e.logLevel))},Ye=async(e,t)=>{E().asyncInit?.();let n=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(n){if(typeof n.limits!="object"||typeof n.features!="object"||typeof n.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let o=e.webgpu.powerPreference;if(o!==void 0&&o!=="low-power"&&o!=="high-performance")throw new Error(`Invalid powerPreference setting: "${o}"`);let r=e.webgpu.forceFallbackAdapter;if(r!==void 0&&typeof r!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${r}"`);if(n=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:r}),!n)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment")},Z=new Map,Rt=e=>{let t=E(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&g("Can't get session input/output count.");let s=o===4?"i32":"i64";return[Number(t.getValue(r,s)),Number(t.getValue(r+o,s))]}finally{t.stackRestore(n)}},Ve=(e,t)=>{let n=E(),o=n.stackSave(),r=0;try{let a=n.PTR_SIZE,s=n.stackAlloc(2*a);n._OrtGetInputOutputMetadata(e,t,s,s+a)!==0&&g("Can't get session input/output metadata.");let u=Number(n.getValue(s,"*"));r=Number(n.getValue(s+a,"*"));let l=n.HEAP32[r/4];if(l===0)return[u,0];let w=n.HEAPU32[r/4+1],f=[];for(let c=0;c<w;c++){let p=Number(n.getValue(r+8+c*a,"*"));f.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(c+w)*a,"*")))}return[u,l,f]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},Ee=e=>{let t=E(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Ze=async(e,t)=>{let n,o,r=E();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=Ee(e);let a=0,s=0,i=0,u=[],l=[],w=[];try{if([s,u]=await Re(t),t?.externalData&&r.mountExternalData){let y=[];for(let O of t.externalData){let _=typeof O=="string"?O:O.path,U=typeof O=="string"?O:O.data;y.push(ee(U).then(L=>{r.mountExternalData(_,L)}))}await Promise.all(y)}for(let y of t?.executionProviders??[])if((typeof y=="string"?y:y.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof y!="string"){let _=y,U=_?.context,L=_?.gpuDevice,X=_?.deviceType,z=_?.powerPreference;U?r.currentContext=U:L?r.currentContext=await r.webnnCreateMLContext(L):r.currentContext=await r.webnnCreateMLContext({deviceType:X,powerPreference:z})}else r.currentContext=await r.webnnCreateMLContext();break}a=await r._OrtCreateSession(n,o,s),r.webgpuOnCreateSession?.(a),a===0&&g("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(a,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[f,c]=Rt(a),p=!!t?.enableGraphCapture,S=[],h=[],P=[],m=[],b=[];for(let y=0;y<f;y++){let[O,_,U]=Ve(a,y);O===0&&g("Can't get an input name."),l.push(O);let L=r.UTF8ToString(O);S.push(L),P.push(_===0?{name:L,isTensor:!1}:{name:L,isTensor:!0,type:ae(_),shape:U})}for(let y=0;y<c;y++){let[O,_,U]=Ve(a,y+f);O===0&&g("Can't get an output name."),w.push(O);let L=r.UTF8ToString(O);h.push(L),m.push(_===0?{name:L,isTensor:!1}:{name:L,isTensor:!0,type:ae(_),shape:U})}return Z.set(a,[a,l,w,null,p,!1]),[a,S,h,P,m]}catch(f){throw l.forEach(c=>r._OrtFree(c)),w.forEach(c=>r._OrtFree(c)),i!==0&&r._OrtReleaseBinding(i)!==0&&g("Can't release IO binding."),a!==0&&r._OrtReleaseSession(a)!==0&&g("Can't release session."),f}finally{r._free(n),s!==0&&r._OrtReleaseSessionOptions(s)!==0&&g("Can't release session options."),u.forEach(f=>r._free(f)),r.unmountExternalData?.()}},Xe=e=>{let t=E(),n=Z.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,a,s,i]=n;s&&(i&&t._OrtClearBoundOutputs(s.handle)!==0&&g("Can't clear bound outputs."),t._OrtReleaseBinding(s.handle)!==0&&g("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(u=>t._OrtFree(u)),a.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(o)!==0&&g("Can't release session."),Z.delete(e)},qe=async(e,t,n,o,r,a,s=!1)=>{if(!e){t.push(0);return}let i=E(),u=i.PTR_SIZE,l=e[0],w=e[1],f=e[3],c=f,p,S;if(l==="string"&&(f==="gpu-buffer"||f==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(s&&f!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(f==="gpu-buffer"){let m=e[2].gpuBuffer;S=Y(J(l),w);{let b=i.jsepRegisterBuffer;if(!b)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=b(o,a,m,S)}}else if(f==="ml-tensor"){let m=e[2].mlTensor;S=Y(J(l),w);let b=i.webnnRegisterMLTensor;if(!b)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=b(o,m,J(l),w)}else{let m=e[2];if(Array.isArray(m)){S=u*m.length,p=i._malloc(S),n.push(p);for(let b=0;b<m.length;b++){if(typeof m[b]!="string")throw new TypeError(`tensor data at index ${b} is not a string`);i.setValue(p+b*u,A(m[b],n),"*")}}else{let b=i.webnnIsGraphInput,M=i.webnnIsGraphOutput;if(l!=="string"&&b&&M){let y=i.UTF8ToString(r);if(b(o,y)||M(o,y)){let O=J(l);S=Y(O,w),c="ml-tensor";let _=i.webnnCreateTemporaryTensor,U=i.webnnUploadTensor;if(!_||!U)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let L=await _(o,O,w);U(L,new Uint8Array(m.buffer,m.byteOffset,m.byteLength)),p=L}else S=m.byteLength,p=i._malloc(S),n.push(p),i.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,S),p)}else S=m.byteLength,p=i._malloc(S),n.push(p),i.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,S),p)}}let h=i.stackSave(),P=i.stackAlloc(4*w.length);try{w.forEach((b,M)=>i.setValue(P+M*u,b,u===4?"i32":"i64"));let m=i._OrtCreateTensor(J(l),p,S,P,w.length,$e(c));m===0&&g(`Can't create tensor for input/output. session=${o}, index=${a}.`),t.push(m)}finally{i.stackRestore(h)}},Ke=async(e,t,n,o,r,a)=>{let s=E(),i=s.PTR_SIZE,u=Z.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let l=u[0],w=u[1],f=u[2],c=u[3],p=u[4],S=u[5],h=t.length,P=o.length,m=0,b=[],M=[],y=[],O=[],_=[],U=s.stackSave(),L=s.stackAlloc(h*i),X=s.stackAlloc(h*i),z=s.stackAlloc(P*i),Te=s.stackAlloc(P*i);try{[m,b]=ke(a),ze("wasm prepareInputOutputTensor");for(let d=0;d<h;d++)await qe(n[d],M,O,e,w[t[d]],t[d],p);for(let d=0;d<P;d++)await qe(r[d],y,O,e,f[o[d]],h+o[d],p);He("wasm prepareInputOutputTensor");for(let d=0;d<h;d++)s.setValue(L+d*i,M[d],"*"),s.setValue(X+d*i,w[t[d]],"*");for(let d=0;d<P;d++)s.setValue(z+d*i,y[d],"*"),s.setValue(Te+d*i,f[o[d]],"*");s.jsepOnRunStart?.(l),s.webnnOnRunStart?.(l);let x;x=await s._OrtRun(l,X,L,h,Te,P,z,m),x!==0&&g("failed to call OrtRun().");let F=[],Le=[];ze("wasm ProcessOutputTensor");for(let d=0;d<P;d++){let W=Number(s.getValue(z+d*i,"*"));if(W===y[d]||_.includes(y[d])){F.push(r[d]),W!==y[d]&&s._OrtReleaseTensor(W)!==0&&g("Can't release tensor.");continue}let Be=s.stackSave(),k=s.stackAlloc(4*i),H=!1,T,D=0;try{s._OrtGetTensorData(W,k,k+i,k+2*i,k+3*i)!==0&&g(`Can't access output tensor data on index ${d}.`);let le=i===4?"i32":"i64",te=Number(s.getValue(k,le));D=s.getValue(k+i,"*");let _e=s.getValue(k+i*2,"*"),yt=Number(s.getValue(k+i*3,le)),R=[];for(let B=0;B<yt;B++)R.push(Number(s.getValue(_e+B*i,le)));s._OrtFree(_e)!==0&&g("Can't free memory for tensor dims.");let N=R.reduce((B,I)=>B*I,1);T=ae(te);let K=c?.outputPreferredLocations[o[d]];if(T==="string"){if(K==="gpu-buffer"||K==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let B=[];for(let I=0;I<N;I++){let G=s.getValue(D+I*i,"*"),re=s.getValue(D+(I+1)*i,"*"),Pe=I===N-1?void 0:re-G;B.push(s.UTF8ToString(G,Pe))}F.push([T,R,B,"cpu"])}else if(K==="gpu-buffer"&&N>0){let B=s.jsepGetBuffer;if(!B)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let I=B(D),G=Y(te,N);if(G===void 0||!ie(T))throw new Error(`Unsupported data type: ${T}`);H=!0,F.push([T,R,{gpuBuffer:I,download:s.jsepCreateDownloader(I,G,T),dispose:()=>{s._OrtReleaseTensor(W)!==0&&g("Can't release tensor.")}},"gpu-buffer"])}else if(K==="ml-tensor"&&N>0){let B=s.webnnEnsureTensor,I=s.webnnIsGraphInputOutputTypeSupported;if(!B||!I)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(Y(te,N)===void 0||!ue(T))throw new Error(`Unsupported data type: ${T}`);if(!I(e,T,!1))throw new Error(`preferredLocation "ml-tensor" for ${T} output is not supported by current WebNN Context.`);let re=await B(e,D,te,R,!1);H=!0,F.push([T,R,{mlTensor:re,download:s.webnnCreateMLTensorDownloader(D,T),dispose:()=>{s.webnnReleaseTensorId(D),s._OrtReleaseTensor(W)}},"ml-tensor"])}else if(K==="ml-tensor-cpu-output"&&N>0){let B=s.webnnCreateMLTensorDownloader(D,T)(),I=F.length;H=!0,Le.push((async()=>{let G=[I,await B];return s.webnnReleaseTensorId(D),s._OrtReleaseTensor(W),G})()),F.push([T,R,[],"cpu"])}else{let B=Ge(T),I=new B(N);new Uint8Array(I.buffer,I.byteOffset,I.byteLength).set(s.HEAPU8.subarray(D,D+I.byteLength)),F.push([T,R,I,"cpu"])}}finally{s.stackRestore(Be),T==="string"&&D&&s._free(D),H||s._OrtReleaseTensor(W)}}c&&!p&&(s._OrtClearBoundOutputs(c.handle)!==0&&g("Can't clear bound outputs."),Z.set(e,[l,w,f,c,p,!1]));for(let[d,W]of await Promise.all(Le))F[d][2]=W;return He("wasm ProcessOutputTensor"),F}finally{s.webnnOnRunEnd?.(l),s.stackRestore(U),M.forEach(x=>s._OrtReleaseTensor(x)),y.forEach(x=>s._OrtReleaseTensor(x)),O.forEach(x=>s._free(x)),m!==0&&s._OrtReleaseRunOptions(m),b.forEach(x=>s._free(x))}},Qe=e=>{let t=E(),n=Z.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&g("Can't get an profile file name."),t._OrtFree(r)}});import{env as he}from"onnxruntime-common";var Se,tt,rt,nt,ot,st,at,it,ut,ct,Oe=C(()=>{"use strict";et();V();me();Se=!1,tt=!1,rt=!1,nt=async()=>{if(!tt){if(Se)throw new Error("multiple calls to 'initWasm()' detected.");if(rt)throw new Error("previous call to 'initWasm()' failed.");Se=!0;try{await We(he.wasm),await Je(he),tt=!0}catch(e){throw rt=!0,e}finally{Se=!1}}},ot=async e=>{await Ye(he,e)},st=async e=>Ee(e),at=async(e,t)=>Ze(e,t),it=async e=>{Xe(e)},ut=async(e,t,n,o,r,a)=>Ke(e,t,n,o,r,a),ct=async e=>{Qe(e)}});import{Tensor as Ie,TRACE_FUNC_BEGIN as ft,TRACE_FUNC_END as lt}from"onnxruntime-common";var pt,Gt,ce,dt=C(()=>{"use strict";Oe();ge();ne();ye();pt=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Gt=e=>{switch(e[3]){case"cpu":return new Ie(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!ie(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return Ie.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!ue(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return Ie.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},ce=class{async fetchModelAndCopyToWasmMemory(t){return st(await ee(t))}async loadModel(t,n){ft();let o;typeof t=="string"?j?o=await ee(t):o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await at(o,n),lt()}async dispose(){return it(this.sessionId)}async run(t,n,o){ft();let r=[],a=[];Object.entries(t).forEach(c=>{let p=c[0],S=c[1],h=this.inputNames.indexOf(p);if(h===-1)throw new Error(`invalid input '${p}'`);r.push(S),a.push(h)});let s=[],i=[];Object.entries(n).forEach(c=>{let p=c[0],S=c[1],h=this.outputNames.indexOf(p);if(h===-1)throw new Error(`invalid output '${p}'`);s.push(S),i.push(h)});let u=r.map((c,p)=>pt(c,()=>`input "${this.inputNames[a[p]]}"`)),l=s.map((c,p)=>c?pt(c,()=>`output "${this.outputNames[i[p]]}"`):null),w=await ut(this.sessionId,a,u,i,l,o),f={};for(let c=0;c<w.length;c++)f[this.outputNames[i[c]]]=s[c]??Gt(w[c]);return lt(),f}startProfiling(){}endProfiling(){ct(this.sessionId)}}});var bt={};Ot(bt,{OnnxruntimeWebAssemblyBackend:()=>fe,initializeFlags:()=>mt,wasmBackend:()=>jt});import{env as v}from"onnxruntime-common";var mt,fe,jt,wt=C(()=>{"use strict";Oe();dt();mt=()=>{(typeof v.wasm.initTimeout!="number"||v.wasm.initTimeout<0)&&(v.wasm.initTimeout=0);let e=v.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),v.wasm.simd=!1),typeof v.wasm.proxy!="boolean"&&(v.wasm.proxy=!1),typeof v.wasm.trace!="boolean"&&(v.wasm.trace=!1),typeof v.wasm.numThreads!="number"||!Number.isInteger(v.wasm.numThreads)||v.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)v.wasm.numThreads=1;else{let t=typeof navigator>"u"?de("node:os").cpus().length:navigator.hardwareConcurrency;v.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},fe=class{async init(t){mt(),await nt(),await ot(t)}async createInferenceSessionHandler(t,n){let o=new ce;return await o.loadModel(t,n),o}},jt=new fe});export*from"onnxruntime-common";import*as $t from"onnxruntime-common";import{registerBackend as gt,env as zt}from"onnxruntime-common";var De="1.30.0";var Hr=$t;{let e=(wt(),Tt(bt)).wasmBackend;gt("cpu",e,10),gt("wasm",e,10)}Object.defineProperty(zt.versions,"web",{value:De,enumerable:!0});export{Hr as default};
|
| 8 |
+
//# sourceMappingURL=ort.node.min.mjs.map
|
ort/ort.wasm.bundle.min.mjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.30.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var qt=Object.defineProperty;var Qa=Object.getOwnPropertyDescriptor;var Ka=Object.getOwnPropertyNames;var es=Object.prototype.hasOwnProperty;var Jt=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(t,a)=>(typeof require<"u"?require:t)[a]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var N=(n,t,a)=>()=>{if(a)throw a[0];try{return n&&(t=n(n=0)),t}catch(u){throw a=[u],u}};var ut=(n,t)=>{for(var a in t)qt(n,a,{get:t[a],enumerable:!0})},ts=(n,t,a,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ka(t))!es.call(n,o)&&o!==a&&qt(n,o,{get:()=>t[o],enumerable:!(u=Qa(t,o))||u.enumerable});return n};var Xt=n=>ts(qt({},"__esModule",{value:!0}),n);var ft,Be,Je,ns,pr,Zt=N(()=>{"use strict";ft=new Map,Be=[],Je=(n,t,a)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let u=ft.get(n);if(u===void 0)ft.set(n,{backend:t,priority:a});else{if(u.priority>a)return;if(u.priority===a&&u.backend!==t)throw new Error(`cannot register backend "${n}" using priority ${a}`)}if(a>=0){let o=Be.indexOf(n);o!==-1&&Be.splice(o,1);for(let d=0;d<Be.length;d++)if(ft.get(Be[d]).priority<=a){Be.splice(d,0,n);return}Be.push(n)}return}throw new TypeError("not a valid backend")},ns=async n=>{let t=ft.get(n);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let a=!!t.initPromise;try{return a||(t.initPromise=t.backend.init(n)),await t.initPromise,t.initialized=!0,t.backend}catch(u){return a||(t.error=`${u}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},pr=async n=>{let t=n.executionProviders||[],a=t.map(m=>typeof m=="string"?m:m.name),u=a.length===0?Be:a,o,d=[],c=new Set;for(let m of u){let h=await ns(m);typeof h=="string"?d.push({name:m,err:h}):(o||(o=h),o===h&&c.add(m))}if(!o)throw new Error(`no available backend found. ERR: ${d.map(m=>`[${m.name}] ${m.err}`).join(", ")}`);for(let{name:m,err:h}of d)a.includes(m)&&console.warn(`removing requested execution provider "${m}" from session options because it is not available: ${h}`);let l=t.filter(m=>c.has(typeof m=="string"?m:m.name));return[o,new Proxy(n,{get:(m,h)=>h==="executionProviders"?l:Reflect.get(m,h)})]}});var mr=N(()=>{"use strict";Zt()});var hr,wr=N(()=>{"use strict";hr="1.30.0"});var br,q,Qt=N(()=>{"use strict";wr();br="warning",q={wasm:{},webgl:{},webgpu:{},versions:{common:hr},set logLevel(n){if(n!==void 0){if(typeof n!="string"||["verbose","info","warning","error","fatal"].indexOf(n)===-1)throw new Error(`Unsupported logging level: ${n}`);br=n}},get logLevel(){return br}};Object.defineProperty(q,"logLevel",{enumerable:!0})});var Y,yr=N(()=>{"use strict";Qt();Y=q});var gr,Er,Tr=N(()=>{"use strict";gr=(n,t)=>{let a=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);a.width=n.dims[3],a.height=n.dims[2];let u=a.getContext("2d");if(u!=null){let o,d;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(o=n.dims[2],d=n.dims[3]):(o=n.dims[3],d=n.dims[2]);let c=t?.format!==void 0?t.format:"RGB",l=t?.norm,m,h;l===void 0||l.mean===void 0?m=[255,255,255,255]:typeof l.mean=="number"?m=[l.mean,l.mean,l.mean,l.mean]:(m=[l.mean[0],l.mean[1],l.mean[2],0],l.mean[3]!==void 0&&(m[3]=l.mean[3])),l===void 0||l.bias===void 0?h=[0,0,0,0]:typeof l.bias=="number"?h=[l.bias,l.bias,l.bias,l.bias]:(h=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&(h[3]=l.bias[3]));let g=d*o,b=0,y=g,T=g*2,I=-1;c==="RGBA"?(b=0,y=g,T=g*2,I=g*3):c==="RGB"?(b=0,y=g,T=g*2):c==="RBG"&&(b=0,T=g,y=g*2);for(let D=0;D<d;D++)for(let $=0;$<o;$++){let v=(n.data[b++]-h[0])*m[0],A=(n.data[y++]-h[1])*m[1],F=(n.data[T++]-h[2])*m[2],P=I===-1?255:(n.data[I++]-h[3])*m[3];u.fillStyle="rgba("+v+","+A+","+F+","+P+")",u.fillRect($,D,1,1)}if("toDataURL"in a)return a.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},Er=(n,t)=>{let a=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),u;if(a!=null){let o,d,c;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(o=n.dims[2],d=n.dims[1],c=n.dims[3]):(o=n.dims[3],d=n.dims[2],c=n.dims[1]);let l=t!==void 0&&t.format!==void 0?t.format:"RGB",m=t?.norm,h,g;m===void 0||m.mean===void 0?h=[255,255,255,255]:typeof m.mean=="number"?h=[m.mean,m.mean,m.mean,m.mean]:(h=[m.mean[0],m.mean[1],m.mean[2],255],m.mean[3]!==void 0&&(h[3]=m.mean[3])),m===void 0||m.bias===void 0?g=[0,0,0,0]:typeof m.bias=="number"?g=[m.bias,m.bias,m.bias,m.bias]:(g=[m.bias[0],m.bias[1],m.bias[2],0],m.bias[3]!==void 0&&(g[3]=m.bias[3]));let b=d*o;if(t!==void 0&&(t.format!==void 0&&c===4&&t.format!=="RGBA"||c===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let y=4,T=0,I=1,D=2,$=3,v=0,A=b,F=b*2,P=-1;l==="RGBA"?(v=0,A=b,F=b*2,P=b*3):l==="RGB"?(v=0,A=b,F=b*2):l==="RBG"&&(v=0,F=b,A=b*2),u=a.createImageData(o,d);for(let k=0;k<d*o;T+=y,I+=y,D+=y,$+=y,k++)u.data[T]=(n.data[v++]-g[0])*h[0],u.data[I]=(n.data[A++]-g[1])*h[1],u.data[D]=(n.data[F++]-g[2])*h[2],u.data[$]=P===-1?255:(n.data[P++]-g[3])*h[3]}else throw new Error("Can not access image data");return u}});var Kt,Sr,vr,Ar,Or,Ir,Br=N(()=>{"use strict";ct();Kt=(n,t)=>{if(n===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:a,width:u}=t,o=t.norm??{mean:255,bias:0},d,c;typeof o.mean=="number"?d=[o.mean,o.mean,o.mean,o.mean]:d=[o.mean[0],o.mean[1],o.mean[2],o.mean[3]??255],typeof o.bias=="number"?c=[o.bias,o.bias,o.bias,o.bias]:c=[o.bias[0],o.bias[1],o.bias[2],o.bias[3]??0];let l=t.format!==void 0?t.format:"RGBA",m=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",h=a*u,g=m==="RGBA"?new Float32Array(h*4):new Float32Array(h*3),b=4,y=0,T=1,I=2,D=3,$=0,v=h,A=h*2,F=-1;l==="RGB"&&(b=3,y=0,T=1,I=2,D=-1),m==="RGBA"?F=h*3:m==="RBG"?($=0,A=h,v=h*2):m==="BGR"&&(A=0,v=h,$=h*2);for(let k=0;k<h;k++,y+=b,I+=b,T+=b,D+=b)g[$++]=(n[y]+c[0])/d[0],g[v++]=(n[T]+c[1])/d[1],g[A++]=(n[I]+c[2])/d[2],F!==-1&&D!==-1&&(g[F++]=(n[D]+c[3])/d[3]);return m==="RGBA"?new Z("float32",g,[1,4,a,u]):new Z("float32",g,[1,3,a,u])},Sr=async(n,t)=>{let a=typeof HTMLImageElement<"u"&&n instanceof HTMLImageElement,u=typeof ImageData<"u"&&n instanceof ImageData,o=typeof ImageBitmap<"u"&&n instanceof ImageBitmap,d=typeof n=="string",c,l=t??{},m=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},h=g=>typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement||g instanceof OffscreenCanvas?g.getContext("2d"):null;if(a){let g=m();g.width=n.width,g.height=n.height;let b=h(g);if(b!=null){let y=n.height,T=n.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(y=t.resizedHeight,T=t.resizedWidth),t!==void 0){if(l=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");l.tensorFormat="RGBA",l.height=y,l.width=T}else l.tensorFormat="RGBA",l.height=y,l.width=T;b.drawImage(n,0,0),c=b.getImageData(0,0,T,y).data}else throw new Error("Can not access image data")}else if(u){let g,b;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(g=t.resizedHeight,b=t.resizedWidth):(g=n.height,b=n.width),t!==void 0&&(l=t),l.format="RGBA",l.height=g,l.width=b,t!==void 0){let y=m();y.width=b,y.height=g;let T=h(y);if(T!=null)T.putImageData(n,0,0),c=T.getImageData(0,0,b,g).data;else throw new Error("Can not access image data")}else c=n.data}else if(o){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let g=m();g.width=n.width,g.height=n.height;let b=h(g);if(b!=null){let y=n.height,T=n.width;return b.drawImage(n,0,0,T,y),c=b.getImageData(0,0,T,y).data,l.height=y,l.width=T,Kt(c,l)}else throw new Error("Can not access image data")}else{if(d)return new Promise((g,b)=>{let y=m(),T=h(y);if(!n||!T)return b();let I=new Image;I.crossOrigin="Anonymous",I.src=n,I.onload=()=>{y.width=I.width,y.height=I.height,T.drawImage(I,0,0,y.width,y.height);let D=T.getImageData(0,0,y.width,y.height);l.height=y.height,l.width=y.width,g(Kt(D.data,l))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(c!==void 0)return Kt(c,l);throw new Error("Input data provided is not supported - aborted tensor creation")},vr=(n,t)=>{let{width:a,height:u,download:o,dispose:d}=t,c=[1,u,a,4];return new Z({location:"texture",type:"float32",texture:n,dims:c,download:o,dispose:d})},Ar=(n,t)=>{let{dataType:a,dims:u,download:o,dispose:d}=t;return new Z({location:"gpu-buffer",type:a??"float32",gpuBuffer:n,dims:u,download:o,dispose:d})},Or=(n,t)=>{let{dataType:a,dims:u,download:o,dispose:d}=t;return new Z({location:"ml-tensor",type:a??"float32",mlTensor:n,dims:u,download:o,dispose:d})},Ir=(n,t,a)=>new Z({location:"cpu-pinned",type:n,data:t,dims:a??[t.length]})});var Le,Xe,Lr,_r,Dr=N(()=>{"use strict";Le=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Xe=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Lr=!1,_r=()=>{if(!Lr){Lr=!0;let n=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,a=globalThis.Float16Array,u=typeof a<"u"&&a.from;n&&(Le.set("int64",BigInt64Array),Xe.set(BigInt64Array,"int64")),t&&(Le.set("uint64",BigUint64Array),Xe.set(BigUint64Array,"uint64")),u?(Le.set("float16",a),Xe.set(a,"float16")):Le.set("float16",Uint16Array)}}});var Pr,Ur,xr=N(()=>{"use strict";ct();Pr=n=>{let t=1;for(let a=0;a<n.length;a++){let u=n[a];if(typeof u!="number"||!Number.isSafeInteger(u))throw new TypeError(`dims[${a}] must be an integer, got: ${u}`);if(u<0)throw new RangeError(`dims[${a}] must be a non-negative integer, got: ${u}`);t*=u}return t},Ur=(n,t)=>{switch(n.location){case"cpu":return new Z(n.type,n.data,t);case"cpu-pinned":return new Z({location:"cpu-pinned",data:n.data,type:n.type,dims:t});case"texture":return new Z({location:"texture",texture:n.texture,type:n.type,dims:t});case"gpu-buffer":return new Z({location:"gpu-buffer",gpuBuffer:n.gpuBuffer,type:n.type,dims:t});case"ml-tensor":return new Z({location:"ml-tensor",mlTensor:n.mlTensor,type:n.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${n.location} is not supported`)}}});var Z,ct=N(()=>{"use strict";Tr();Br();Dr();xr();Z=class{constructor(t,a,u){_r();let o,d;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,o=t.type,d=t.dims,t.location){case"cpu-pinned":{let l=Le.get(o);if(!l)throw new TypeError(`unsupported type "${o}" to create tensor from pinned buffer`);if(!(t.data instanceof l))throw new TypeError(`buffer should be of type ${l.name}`);this.cpuData=t.data;break}case"texture":{if(o!=="float32")throw new TypeError(`unsupported type "${o}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.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=t.gpuBuffer,this.downloader=t.download,this.disposer=t.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=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let l,m;if(typeof t=="string")if(o=t,m=u,t==="string"){if(!Array.isArray(a))throw new TypeError("A string tensor's data must be a string array.");l=a}else{let h=Le.get(t);if(h===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(a)){if(t==="float16"&&h===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${h.name} as data.`);t==="uint64"||t==="int64"?l=h.from(a,BigInt):l=h.from(a)}else if(a instanceof h)l=a;else if(a instanceof Uint8ClampedArray)if(t==="uint8")l=Uint8Array.from(a);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&a instanceof Uint16Array&&h!==Uint16Array)l=new globalThis.Float16Array(a.buffer,a.byteOffset,a.length);else throw new TypeError(`A ${o} tensor's data must be type of ${h}`)}else if(m=a,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let h=typeof t[0];if(h==="string")o="string",l=t;else if(h==="boolean")o="bool",l=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${h}.`)}else if(t instanceof Uint8ClampedArray)o="uint8",l=Uint8Array.from(t);else{let h=Xe.get(t.constructor);if(h===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);o=h,l=t}if(m===void 0)m=[l.length];else if(!Array.isArray(m))throw new TypeError("A tensor's dims must be a number array");d=m,this.cpuData=l,this.dataLocation="cpu"}let c=Pr(d);if(this.cpuData&&c!==this.cpuData.length&&!((o==="uint4"||o==="int4")&&Math.ceil(c/2)===this.cpuData.length))throw new Error(`Tensor's size(${c}) does not match data length(${this.cpuData.length}).`);this.type=o,this.dims=d,this.size=c}static async fromImage(t,a){return Sr(t,a)}static fromTexture(t,a){return vr(t,a)}static fromGpuBuffer(t,a){return Ar(t,a)}static fromMLTensor(t,a){return Or(t,a)}static fromPinnedBuffer(t,a,u){return Ir(t,a,u)}toDataURL(t){return gr(this,t)}toImageData(t){return Er(this,t)}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(t){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 a=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=a,t&&this.disposer&&(this.disposer(),this.disposer=void 0),a}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(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Ur(this,t)}}});var de,en=N(()=>{"use strict";ct();de=Z});var Cr,Mr,_e,De,Pe,Ue,tn=N(()=>{"use strict";Qt();Cr=(n,t)=>{(typeof q.trace>"u"?!q.wasm.trace:!q.trace)||console.timeStamp(`${n}::ORT::${t}`)},Mr=(n,t)=>{let a=new Error().stack?.split(/\r\n|\r|\n/g)||[],u=!1;for(let o=0;o<a.length;o++){if(u&&!a[o].includes("TRACE_FUNC")){let d=`FUNC_${n}::${a[o].trim().split(" ")[1]}`;t&&(d+=`::${t}`),Cr("CPU",d);return}a[o].includes("TRACE_FUNC")&&(u=!0)}},_e=n=>{(typeof q.trace>"u"?!q.wasm.trace:!q.trace)||Mr("BEGIN",n)},De=n=>{(typeof q.trace>"u"?!q.wasm.trace:!q.trace)||Mr("END",n)},Pe=n=>{(typeof q.trace>"u"?!q.wasm.trace:!q.trace)||console.time(`ORT::${n}`)},Ue=n=>{(typeof q.trace>"u"?!q.wasm.trace:!q.trace)||console.timeEnd(`ORT::${n}`)}});var lt,Rr=N(()=>{"use strict";Zt();en();tn();lt=class n{constructor(t){this.handler=t}async run(t,a,u){_e(),Pe("InferenceSession.run");let o={},d={};if(typeof t!="object"||t===null||t instanceof de||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let c=!0;if(typeof a=="object"){if(a===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(a instanceof de)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(a)){if(a.length===0)throw new TypeError("'fetches' cannot be an empty array.");c=!1;for(let h of a){if(typeof h!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(h)===-1)throw new RangeError(`'fetches' contains invalid output name: ${h}.`);o[h]=null}if(typeof u=="object"&&u!==null)d=u;else if(typeof u<"u")throw new TypeError("'options' must be an object.")}else{let h=!1,g=Object.getOwnPropertyNames(a);for(let b of this.outputNames)if(g.indexOf(b)!==-1){let y=a[b];(y===null||y instanceof de)&&(h=!0,c=!1,o[b]=y)}if(h){if(typeof u=="object"&&u!==null)d=u;else if(typeof u<"u")throw new TypeError("'options' must be an object.")}else d=a}}else if(typeof a<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let h of this.inputNames)if(typeof t[h]>"u")throw new Error(`input '${h}' is missing in 'feeds'.`);if(c)for(let h of this.outputNames)o[h]=null;let l=await this.handler.run(t,o,d),m={};for(let h in l)if(Object.hasOwnProperty.call(l,h)){let g=l[h];g instanceof de?m[h]=g:m[h]=new de(g.type,g.data,g.dims)}return Ue("InferenceSession.run"),De(),m}async release(){return this.handler.dispose()}static async create(t,a,u,o){_e(),Pe("InferenceSession.create");let d,c={};if(typeof t=="string"){if(d=t,typeof a=="object"&&a!==null)c=a;else if(typeof a<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(d=t,typeof a=="object"&&a!==null)c=a;else if(typeof a<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let g=t,b=0,y=t.byteLength;if(typeof a=="object"&&a!==null)c=a;else if(typeof a=="number"){if(b=a,!Number.isSafeInteger(b))throw new RangeError("'byteOffset' must be an integer.");if(b<0||b>=g.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${g.byteLength}).`);if(y=t.byteLength-b,typeof u=="number"){if(y=u,!Number.isSafeInteger(y))throw new RangeError("'byteLength' must be an integer.");if(y<=0||b+y>g.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${g.byteLength-b}].`);if(typeof o=="object"&&o!==null)c=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else if(typeof u<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof a<"u")throw new TypeError("'options' must be an object.");d=new Uint8Array(g,b,y)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[l,m]=await pr(c),h=await l.createInferenceSessionHandler(d,m);return Ue("InferenceSession.create"),De(),new n(h)}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 rs,Fr=N(()=>{"use strict";Rr();rs=lt});var Nr=N(()=>{"use strict"});var kr=N(()=>{"use strict"});var Wr=N(()=>{"use strict"});var Gr=N(()=>{"use strict"});var nn={};ut(nn,{InferenceSession:()=>rs,TRACE:()=>Cr,TRACE_EVENT_BEGIN:()=>Pe,TRACE_EVENT_END:()=>Ue,TRACE_FUNC_BEGIN:()=>_e,TRACE_FUNC_END:()=>De,Tensor:()=>de,env:()=>Y,registerBackend:()=>Je});var Te=N(()=>{"use strict";mr();yr();Fr();en();Nr();kr();tn();Wr();Gr()});var dt=N(()=>{"use strict"});var jr={};ut(jr,{default:()=>os});var zr,Hr,os,Vr=N(()=>{"use strict";rn();xe();pt();zr="ort-wasm-proxy-worker",Hr=globalThis.self?.name===zr;Hr&&(self.onmessage=n=>{let{type:t,in:a}=n.data;try{switch(t){case"init-wasm":mt(a.wasm).then(()=>{ht(a).then(()=>{postMessage({type:t})},u=>{postMessage({type:t,err:u})})},u=>{postMessage({type:t,err:u})});break;case"init-ep":{let{epName:u,env:o}=a;wt(o,u).then(()=>{postMessage({type:t})},d=>{postMessage({type:t,err:d})});break}case"copy-from":{let{buffer:u}=a,o=Ze(u);postMessage({type:t,out:o});break}case"create":{let{model:u,options:o}=a;bt(u,o).then(d=>{postMessage({type:t,out:d})},d=>{postMessage({type:t,err:d})});break}case"release":yt(a),postMessage({type:t});break;case"run":{let{sessionId:u,inputIndices:o,inputs:d,outputIndices:c,options:l}=a;gt(u,o,d,c,new Array(c.length).fill(null),l).then(m=>{m.some(h=>h[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:m},Tt([...d,...m]))},m=>{postMessage({type:t,err:m})});break}case"end-profiling":Et(a),postMessage({type:t});break;default:}}catch(u){postMessage({type:t,err:u})}});os=Hr?null:n=>new Worker(n??oe,{type:"module",name:zr})});var qr={};ut(qr,{default:()=>as});async function Yr(n={}){var t=n,a=!!globalThis.window,u=!!globalThis.WorkerGlobalScope,o=u&&self.name?.startsWith("em-pthread");t.mountExternalData=(e,r)=>{e.startsWith("./")&&(e=e.substring(2)),(t.Tb||(t.Tb=new Map)).set(e,r)},t.unmountExternalData=()=>{delete t.Tb,delete t.mc,delete t.lc,delete t.nc},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;var d,c,l=(e,r)=>{throw r},m=import.meta.url,h="";if(a||u){try{h=new URL(".",m).href}catch{}u&&(c=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),d=async e=>{if(k(e))return new Promise((i,s)=>{var f=new XMLHttpRequest;f.open("GET",e,!0),f.responseType="arraybuffer",f.onload=()=>{f.status==200||f.status==0&&f.response?i(f.response):s(f.status)},f.onerror=s,f.send(null)});var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw Error(r.status+" : "+r.url)}}var g,b,y,T,I,D,$=console.log.bind(console),v=console.error.bind(console),A=$,F=v,P=!1,k=e=>e.startsWith("file://");function w(){ge.buffer!=H.buffer&&ee()}if(o){let e=function(r){try{var i=r.data,s=i.Rb;if(s==="load"){let f=[];self.onmessage=p=>f.push(p),D=()=>{postMessage({Rb:"loaded"});for(let p of f)e(p);self.onmessage=e};for(let p of i.ac)t[p]&&!t[p].proxy||(t[p]=(...E)=>{postMessage({Rb:"callHandler",$b:p,args:E})},p=="print"&&(A=t[p]),p=="printErr"&&(F=t[p]));ge=i.fc,ee(),b=i.hc,Ut(),it()}else if(s==="run"){(function(f){var p=(w(),W)[f+52>>>2>>>0];f=(w(),W)[f+56>>>2>>>0],ir(p,p-f),_(p)})(i.Qb),zt(i.Qb,0,0,1,0,0),wn(),Ft(i.Qb),Q||=!0;try{Io(i.dc,i.Vb)}catch(f){if(f!="unwind")throw f}}else i.target!=="setimmediate"&&(s==="checkMailbox"?Q&&rt():s&&(F(`worker: received unknown command ${s}`),F(i)))}catch(f){throw nr(),f}};var As=e,Q=!1;self.onunhandledrejection=r=>{throw r.reason||r},self.onmessage=e}var H,ne,pe,B,W,re,me,O,K,je=!1;function ee(){var e=ge.buffer;t.HEAP8=H=new Int8Array(e),pe=new Int16Array(e),t.HEAPU8=ne=new Uint8Array(e),new Uint16Array(e),t.HEAP32=B=new Int32Array(e),t.HEAPU32=W=new Uint32Array(e),re=new Float32Array(e),me=new Float64Array(e),O=new BigInt64Array(e),new BigUint64Array(e)}function he(){je=!0,o?D():Ee.Va()}function j(e){throw F(e="Aborted("+e+")"),P=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),I?.(e),e}function J(){return{a:{T:ca,f:Bo,w:Lo,e:_o,k:Do,h:Po,L:Uo,b:xo,G:Co,ua:vn,j:Mo,M:In,La:Bn,qa:Ln,sa:_n,Ma:Dn,Ja:Pn,Ca:Un,Ia:xn,Z:Cn,ra:Mn,oa:Rn,Ka:Fn,pa:Nn,Ra:Ro,Fa:Fo,ma:ko,va:Wo,ja:Go,U:$o,Ea:Ft,Oa:zo,za:Ho,Aa:jo,Ba:Vo,xa:$n,ya:zn,ka:Hn,Ta:qo,Qa:Zo,W:Qo,V:Ko,Pa:Jo,F:ea,Na:ta,na,u:Yo,H:ra,S:at,la:aa,ba:oa,Ua:sa,Ga:Yn,Ha:qn,ta:ye,I:Jn,wa:Xn,Y:Zn,Da:Qn,X:Kn,$:Ya,N:$a,aa:Va,O:Ga,v:Da,d:ma,m:da,n:la,r:Aa,ca:Na,E:Fa,o:ba,P:ka,C:za,J:Ra,da:Ma,ea:Ca,z:Oa,fa:Ua,Q:xa,ga:Pa,y:La,D:Wa,c:pa,q:wa,i:ha,_:qa,l:ga,p:Ea,s:ya,t:Ta,x:Ia,R:_a,A:Ha,K:Ba,B:ja,ha:va,ia:Sa,g:ua,a:ge,Sa:V}}}async function Ut(){function e(s,f){return Ee=s.exports,Ee=(function(){var p=Ee,E=C=>()=>C()>>>0,S=C=>R=>C(R)>>>0;return(p=Object.assign({},p)).ub=E(p.ub),p.wb=S(p.wb),p.Kb=S(p.Kb),p.Lb=E(p.Lb),p.Pb=S(p.Pb),p})(),mn.push(Ee.xb),s=Ee,t._OrtInit=s.Wa,t._OrtGetLastError=s.Xa,t._OrtCreateSessionOptions=s.Ya,t._OrtAppendExecutionProvider=s.Za,t._OrtAddFreeDimensionOverride=s._a,t._OrtAddSessionConfigEntry=s.$a,t._OrtReleaseSessionOptions=s.ab,t._OrtCreateSession=s.bb,t._OrtReleaseSession=s.cb,t._OrtGetInputOutputCount=s.db,t._OrtGetInputOutputMetadata=s.eb,t._OrtFree=s.fb,t._OrtCreateTensor=s.gb,t._OrtGetTensorData=s.hb,t._OrtReleaseTensor=s.ib,t._OrtCreateRunOptions=s.jb,t._OrtAddRunConfigEntry=s.kb,t._OrtReleaseRunOptions=s.lb,t._OrtCreateBinding=s.mb,t._OrtBindInput=s.nb,t._OrtBindOutput=s.ob,t._OrtClearBoundOutputs=s.pb,t._OrtReleaseBinding=s.qb,t._OrtRunWithBinding=s.rb,t._OrtRun=s.sb,t._OrtEndProfiling=s.tb,st=s.ub,er=t._free=s.vb,tr=t._malloc=s.wb,zt=s.zb,nr=s.Ab,rr=s.Bb,or=s.Cb,Ht=s.Db,ar=s.Eb,sr=s.Fb,x=s.Gb,qe=s.Hb,ir=s.Ib,_=s.Jb,jt=s.Kb,U=s.Lb,ur=s.Mb,Vt=s.Nb,fr=s.Ob,cr=s.Pb,lr=s.yb,b=f,Ee}var r,i=J();return t.instantiateWasm?new Promise(s=>{t.instantiateWasm(i,(f,p)=>{s(e(f,p))})}):o?e(new WebAssembly.Instance(b,J()),b):(K??=t.locateFile?t.locateFile?t.locateFile("ort-wasm-simd-threaded.wasm",h):h+"ort-wasm-simd-threaded.wasm":new URL("ort-wasm-simd-threaded.wasm",import.meta.url).href,r=await(async function(s){var f=K;if(!g&&!k(f))try{var p=fetch(f,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(p,s)}catch(E){F(`wasm streaming compile failed: ${E}`),F("falling back to ArrayBuffer instantiation")}return(async function(E,S){try{var C=await(async function(R){if(!g)try{var X=await d(R);return new Uint8Array(X)}catch{}if(R==K&&g)R=new Uint8Array(g);else{if(!c)throw"both async and sync fetching of the wasm failed";R=c(R)}return R})(E);return await WebAssembly.instantiate(C,S)}catch(R){F(`failed to asynchronously prepare wasm: ${R}`),j(R)}})(f,s)})(i),e(r.instance,r.module))}class Se{name="ExitStatus";constructor(r){this.message=`Program terminated with exit(${r})`,this.status=r}}var ve=e=>{e.terminate(),e.onmessage=()=>{}},Ve=[],Re=0,te=null,ue=e=>{ce.length==0&&(yn(),bn(ce[0]));var r=ce.pop();if(!r)return 6;Fe.push(r),Ae[e.Qb]=r,r.Qb=e.Qb;var i={Rb:"run",dc:e.cc,Vb:e.Vb,Qb:e.Qb};return r.postMessage(i,e.Zb),0},se=0,L=(e,r,...i)=>{var s,f=16*i.length,p=U(),E=jt(f),S=E>>>3;for(s of i)typeof s=="bigint"?((w(),O)[S++>>>0]=1n,(w(),O)[S++>>>0]=s):((w(),O)[S++>>>0]=0n,(w(),me)[S++>>>0]=s);return e=rr(e,0,f,E,r),_(p),e};function V(e){if(o)return L(0,1,e);if(y=e,!(0<se)){for(var r of Fe)ve(r);for(r of ce)ve(r);ce=[],Fe=[],Ae={},P=!0}l(0,new Se(e))}function fe(e){if(o)return L(1,0,e);ye(e)}var ye=e=>{if(y=e,o)throw fe(e),"unwind";V(e)},ce=[],Fe=[],mn=[],Ae={},hn=e=>{var r=e.Qb;delete Ae[r],ce.push(e),Fe.splice(Fe.indexOf(e),1),e.Qb=0,or(r)};function wn(){mn.forEach(e=>e())}var bn=e=>new Promise(r=>{e.onmessage=f=>{var p=f.data;if(f=p.Rb,p.Ub&&p.Ub!=st()){var E=Ae[p.Ub];E?E.postMessage(p,p.Zb):F(`Internal error! Worker sent a message "${f}" to target pthread ${p.Ub}, but that thread no longer exists!`)}else f==="checkMailbox"?rt():f==="spawnThread"?ue(p):f==="cleanupThread"?Rt(()=>{hn(Ae[p.ec])}):f==="loaded"?(e.loaded=!0,r(e)):p.target==="setimmediate"?e.postMessage(p):f==="uncaughtException"?e.onerror(p.error):f==="callHandler"?t[p.$b](...p.args):f&&F(`worker sent an unknown command ${f}`)},e.onerror=f=>{throw F(`worker sent an error! ${f.filename}:${f.lineno}: ${f.message}`),f};var i,s=[];for(i of[])t.propertyIsEnumerable(i)&&s.push(i);e.postMessage({Rb:"load",ac:s,fc:ge,hc:b})});function yn(){var e=new Worker((()=>{let r=URL;return import.meta.url>"file:"&&import.meta.url<"file;"?new r("ort.wasm.bundle.min.mjs",import.meta.url):new URL(import.meta.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});ce.push(e)}var ge,gn=[],M=e=>{var r=gn[e];return r||(gn[e]=r=lr.get(e)),r},Io=(e,r)=>{se=0,e=M(e)(r),0<se?y=e:Ht(e)},tt=[],nt=0;function Bo(e){var r=new xt(e>>>=0);return(w(),H)[r.Sb+12>>>0]==0&&(En(r,!0),nt--),Tn(r,!1),tt.push(r),cr(e)}var Ne=0,Lo=()=>{x(0,0);var e=tt.pop();ur(e.Wb),Ne=0};function En(e,r){r=r?1:0,(w(),H)[e.Sb+12>>>0]=r}function Tn(e,r){r=r?1:0,(w(),H)[e.Sb+13>>>0]=r}class xt{constructor(r){this.Wb=r,this.Sb=r-24}}var Ct=e=>{var r=Ne;if(!r)return qe(0),0;var i=new xt(r);(w(),W)[i.Sb+16>>>2>>>0]=r;var s=(w(),W)[i.Sb+4>>>2>>>0];if(!s)return qe(0),r;for(var f of e){if(f===0||f===s)break;if(fr(f,s,i.Sb+16))return qe(f),r}return qe(s),r};function _o(){return Ct([])}function Do(e){return Ct([e>>>0])}function Po(e,r,i,s){return Ct([e>>>0,r>>>0,i>>>0,s>>>0])}var Uo=()=>{var e=tt.pop();e||j("no exception to throw");var r=e.Wb;throw(w(),H)[e.Sb+13>>>0]==0&&(tt.push(e),Tn(e,!0),En(e,!1),nt++),Vt(r),Ne=r};function xo(e,r,i){var s=new xt(e>>>=0);throw r>>>=0,i>>>=0,(w(),W)[s.Sb+16>>>2>>>0]=0,(w(),W)[s.Sb+4>>>2>>>0]=r,(w(),W)[s.Sb+8>>>2>>>0]=i,Vt(e),nt++,Ne=e}var Co=()=>nt;function Sn(e,r,i,s){return o?L(2,1,e,r,i,s):vn(e,r,i,s)}function vn(e,r,i,s){if(e>>>=0,r>>>=0,i>>>=0,s>>>=0,!globalThis.SharedArrayBuffer)return 6;var f=[];return o&&f.length===0?Sn(e,r,i,s):(e={cc:i,Qb:e,Vb:s,Zb:f},o?(e.Rb="spawnThread",postMessage(e,f),0):ue(e))}function Mo(e){throw Ne||=e>>>0,Ne}var An=globalThis.TextDecoder&&new TextDecoder,On=(e,r=0,i,s)=>{var f=r>>>=0;if(i=f+i,s)s=i;else{for(;e[f]&&!(f>=i);)++f;s=f}if(16<s-r&&e.buffer&&An)return An.decode(e.buffer instanceof ArrayBuffer?e.subarray(r,s):e.slice(r,s));for(f="";r<s;)if(128&(i=e[r++])){var p=63&e[r++];if((224&i)==192)f+=String.fromCharCode((31&i)<<6|p);else{var E=63&e[r++];65536>(i=(240&i)==224?(15&i)<<12|p<<6|E:(7&i)<<18|p<<12|E<<6|63&e[r++])?f+=String.fromCharCode(i):(i-=65536,f+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else f+=String.fromCharCode(i);return f},Mt=(e,r,i)=>(e>>>=0)?On((w(),ne),e,r,i):"";function In(e,r,i){return o?L(3,1,e,r,i):0}function Bn(e,r){if(o)return L(4,1,e,r)}function Ln(e,r){if(o)return L(5,1,e,r)}function _n(e,r,i){if(o)return L(6,1,e,r,i)}function Dn(e,r,i){return o?L(7,1,e,r,i):0}function Pn(e,r){if(o)return L(8,1,e,r)}function Un(e,r,i){if(o)return L(9,1,e,r,i)}function xn(e,r,i,s){if(o)return L(10,1,e,r,i,s)}function Cn(e,r,i,s){if(o)return L(11,1,e,r,i,s)}function Mn(e,r,i,s){if(o)return L(12,1,e,r,i,s)}function Rn(e){if(o)return L(13,1,e)}function Fn(e,r){if(o)return L(14,1,e,r)}function Nn(e,r,i){if(o)return L(15,1,e,r,i)}var Ro=()=>j("");function Fo(e){zt(e>>>0,!u,1,!a,131072,!1),wn()}var Rt=e=>{if(!P)try{if(e(),!(0<se))try{o?st()&&Ht(y):ye(y)}catch(r){r instanceof Se||r=="unwind"||l(0,r)}}catch(r){r instanceof Se||r=="unwind"||l(0,r)}},No=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ft(e){e>>>=0,No||(Atomics.waitAsync((w(),B),e>>>2,e).value.then(rt),e+=128,Atomics.store((w(),B),e>>>2,1))}var rt=()=>Rt(()=>{var e=st();e&&(Ft(e),sr())});function ko(e,r){(e>>>=0)==r>>>0?setTimeout(rt):o?postMessage({Ub:e,Rb:"checkMailbox"}):(e=Ae[e])&&e.postMessage({Rb:"checkMailbox"})}var Nt=[];function Wo(e,r,i,s,f){for(r>>>=0,f>>>=0,Nt.length=0,i=f>>>3,s=f+s>>>3;i<s;){var p;p=(w(),O)[i++>>>0]?(w(),O)[i++>>>0]:(w(),me)[i++>>>0],Nt.push(p)}return(r?dr[r]:fa[e])(...Nt)}var Go=()=>{se=0};function $o(e){e>>>=0,o?postMessage({Rb:"cleanupThread",ec:e}):hn(Ae[e])}function zo(e){}function Ho(e,r){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),r>>>=0,e=new Date(1e3*e),(w(),B)[r>>>2>>>0]=e.getUTCSeconds(),(w(),B)[r+4>>>2>>>0]=e.getUTCMinutes(),(w(),B)[r+8>>>2>>>0]=e.getUTCHours(),(w(),B)[r+12>>>2>>>0]=e.getUTCDate(),(w(),B)[r+16>>>2>>>0]=e.getUTCMonth(),(w(),B)[r+20>>>2>>>0]=e.getUTCFullYear()-1900,(w(),B)[r+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(w(),B)[r+28>>>2>>>0]=e}var kn=e=>e%4==0&&(e%100!=0||e%400==0),Wn=[0,31,60,91,121,152,182,213,244,274,305,335],Gn=[0,31,59,90,120,151,181,212,243,273,304,334];function jo(e,r){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),r>>>=0,e=new Date(1e3*e),(w(),B)[r>>>2>>>0]=e.getSeconds(),(w(),B)[r+4>>>2>>>0]=e.getMinutes(),(w(),B)[r+8>>>2>>>0]=e.getHours(),(w(),B)[r+12>>>2>>>0]=e.getDate(),(w(),B)[r+16>>>2>>>0]=e.getMonth(),(w(),B)[r+20>>>2>>>0]=e.getFullYear()-1900,(w(),B)[r+24>>>2>>>0]=e.getDay();var i=(kn(e.getFullYear())?Wn:Gn)[e.getMonth()]+e.getDate()-1|0;(w(),B)[r+28>>>2>>>0]=i,(w(),B)[r+36>>>2>>>0]=-60*e.getTimezoneOffset(),i=new Date(e.getFullYear(),6,1).getTimezoneOffset();var s=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=0|(i!=s&&e.getTimezoneOffset()==Math.min(s,i)),(w(),B)[r+32>>>2>>>0]=e}function Vo(e){e>>>=0;var r=new Date((w(),B)[e+20>>>2>>>0]+1900,(w(),B)[e+16>>>2>>>0],(w(),B)[e+12>>>2>>>0],(w(),B)[e+8>>>2>>>0],(w(),B)[e+4>>>2>>>0],(w(),B)[e>>>2>>>0],0),i=(w(),B)[e+32>>>2>>>0],s=r.getTimezoneOffset(),f=new Date(r.getFullYear(),6,1).getTimezoneOffset(),p=new Date(r.getFullYear(),0,1).getTimezoneOffset(),E=Math.min(p,f);return 0>i?(w(),B)[e+32>>>2>>>0]=+(f!=p&&E==s):0<i!=(E==s)&&(f=Math.max(p,f),r.setTime(r.getTime()+6e4*((0<i?E:f)-s))),(w(),B)[e+24>>>2>>>0]=r.getDay(),i=(kn(r.getFullYear())?Wn:Gn)[r.getMonth()]+r.getDate()-1|0,(w(),B)[e+28>>>2>>>0]=i,(w(),B)[e>>>2>>>0]=r.getSeconds(),(w(),B)[e+4>>>2>>>0]=r.getMinutes(),(w(),B)[e+8>>>2>>>0]=r.getHours(),(w(),B)[e+12>>>2>>>0]=r.getDate(),(w(),B)[e+16>>>2>>>0]=r.getMonth(),(w(),B)[e+20>>>2>>>0]=r.getYear(),e=r.getTime(),BigInt(isNaN(e)?-1:e/1e3)}function $n(e,r,i,s,f,p,E){return o?L(16,1,e,r,i,s,f,p,E):-52}function zn(e,r,i,s,f,p){if(o)return L(17,1,e,r,i,s,f,p)}var Ye={},Yo=()=>performance.timeOrigin+performance.now();function Hn(e,r){if(o)return L(18,1,e,r);if(Ye[e]&&(clearTimeout(Ye[e].id),delete Ye[e]),!r)return 0;var i=setTimeout(()=>{delete Ye[e],Rt(()=>ar(e,performance.timeOrigin+performance.now()))},r);return Ye[e]={id:i,oc:r},0}var Oe=(e,r,i)=>{var s=(w(),ne);if(r>>>=0,0<i){var f=r;i=r+i-1;for(var p=0;p<e.length;++p){var E=e.codePointAt(p);if(127>=E){if(r>=i)break;s[r++>>>0]=E}else if(2047>=E){if(r+1>=i)break;s[r++>>>0]=192|E>>6,s[r++>>>0]=128|63&E}else if(65535>=E){if(r+2>=i)break;s[r++>>>0]=224|E>>12,s[r++>>>0]=128|E>>6&63,s[r++>>>0]=128|63&E}else{if(r+3>=i)break;s[r++>>>0]=240|E>>18,s[r++>>>0]=128|E>>12&63,s[r++>>>0]=128|E>>6&63,s[r++>>>0]=128|63&E,p++}}s[r>>>0]=0,e=r-f}else e=0;return e};function qo(e,r,i,s){e>>>=0,r>>>=0,i>>>=0,s>>>=0;var f=new Date().getFullYear(),p=new Date(f,0,1).getTimezoneOffset();f=new Date(f,6,1).getTimezoneOffset();var E=Math.max(p,f);(w(),W)[e>>>2>>>0]=60*E,(w(),B)[r>>>2>>>0]=+(p!=f),e=(r=S=>{var C=Math.abs(S);return`UTC${0<=S?"-":"+"}${String(Math.floor(C/60)).padStart(2,"0")}${String(C%60).padStart(2,"0")}`})(p),r=r(f),f<p?(Oe(e,i,17),Oe(r,s,17)):(Oe(e,s,17),Oe(r,i,17))}var Jo=()=>Date.now(),Xo=1;function Zo(e,r,i){if(i>>>=0,!(0<=e&&3>=e))return 28;if(e===0)e=Date.now();else{if(!Xo)return 52;e=performance.timeOrigin+performance.now()}return e=Math.round(1e6*e),(w(),O)[i>>>3>>>0]=BigInt(e),0}var kt=[];function Qo(e,r,i){e>>>=0,r>>>=0,i>>>=0,kt.length=0;for(var s;s=(w(),ne)[r++>>>0];){var f=s!=105;i+=(f&=s!=112)&&i%8?4:0,kt.push(s==112?(w(),W)[i>>>2>>>0]:s==106?(w(),O)[i>>>3>>>0]:s==105?(w(),B)[i>>>2>>>0]:(w(),me)[i>>>3>>>0]),i+=f?8:4}return dr[e](...kt)}var Ko=()=>{};function ea(e,r){return F(Mt(e>>>0,r>>>0))}var ta=()=>{throw se+=1,"unwind"};function na(){return 4294901760}var ra=()=>navigator.hardwareConcurrency,Ie={},Wt=e=>{for(var r=0,i=0;i<e.length;++i){var s=e.charCodeAt(i);127>=s?r++:2047>=s?r+=2:55296<=s&&57343>=s?(r+=4,++i):r+=3}return r},ot=e=>{var r;return(r=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(e))?+r[1]:(r=/:(\d+):\d+(?:\)|$)/.exec(e))?2147483648|+r[1]:0},jn=e=>{for(var r of e)(e=ot(r))&&(Ie[e]=r)};function oa(){var e=Error().stack.toString().split(`
|
| 7 |
+
`);return e[0]=="Error"&&e.shift(),jn(e),Ie.Xb=ot(e[3]),Ie.bc=e,Ie.Xb}function at(e){if(!(e=Ie[e>>>0]))return 0;var r;if(r=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(e))e=r[1];else if(r=/^\s+at (.*) \(.*\)$/.exec(e))e=r[1];else{if(!(r=/^(.+?)@/.exec(e)))return 0;e=r[1]}er(at.Yb??0),r=Wt(e)+1;var i=tr(r);return i&&Oe(e,i,r),at.Yb=i,at.Yb}function aa(e){e>>>=0;var r=(w(),ne).length;if(e<=r||4294901760<e)return!1;for(var i=1;4>=i;i*=2){var s=r*(1+.2/i);s=Math.min(s,e+100663296);e:{s=(Math.min(4294901760,65536*Math.ceil(Math.max(e,s)/65536))-ge.buffer.byteLength+65535)/65536|0;try{ge.grow(s),ee();var f=1;break e}catch{}f=void 0}if(f)return!0}return!1}function sa(e,r,i){if(e>>>=0,r>>>=0,Ie.Xb==e)var s=Ie.bc;else(s=Error().stack.toString().split(`
|
| 8 |
+
`))[0]=="Error"&&s.shift(),jn(s);for(var f=3;s[f]&&ot(s[f])!=e;)++f;for(e=0;e<i&&s[e+f];++e)(w(),B)[r+4*e>>>2>>>0]=ot(s[e+f]);return e}var Gt,$t={},Vn=()=>{if(!Gt){var e,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(e in $t)$t[e]===void 0?delete r[e]:r[e]=$t[e];var i=[];for(e in r)i.push(`${e}=${r[e]}`);Gt=i}return Gt};function Yn(e,r){if(o)return L(19,1,e,r);e>>>=0,r>>>=0;var i,s=0,f=0;for(i of Vn()){var p=r+s;(w(),W)[e+f>>>2>>>0]=p,s+=Oe(i,p,1/0)+1,f+=4}return 0}function qn(e,r){if(o)return L(20,1,e,r);e>>>=0,r>>>=0;var i=Vn();for(var s of((w(),W)[e>>>2>>>0]=i.length,e=0,i))e+=Wt(s)+1;return(w(),W)[r>>>2>>>0]=e,0}function Jn(e){return o?L(21,1,e):52}function Xn(e,r,i,s,f){return o?L(22,1,e,r,i,s,f):52}function Zn(e,r,i,s){return o?L(23,1,e,r,i,s):52}function Qn(e,r,i,s){return o?L(24,1,e,r,i,s):70}var ia=[null,[],[]];function Kn(e,r,i,s){if(o)return L(25,1,e,r,i,s);r>>>=0,i>>>=0,s>>>=0;for(var f=0,p=0;p<i;p++){var E=(w(),W)[r>>>2>>>0],S=(w(),W)[r+4>>>2>>>0];r+=8;for(var C=0;C<S;C++){var R=e,X=(w(),ne)[E+C>>>0],le=ia[R];X===0||X===10?((R===1?A:F)(On(le)),le.length=0):le.push(X)}f+=S}return(w(),W)[s>>>2>>>0]=f,0}function ua(e){return e>>>0}o||(function(){for(var e=t.numThreads-1;e--;)yn();Ve.push(async()=>{var r=(async function(){if(!o)return Promise.all(ce.map(bn))})();Re++,await r,--Re==0&&te&&(r=te,te=null,r())})})(),o||(ge=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),ee()),t.wasmBinary&&(g=t.wasmBinary),t.stackSave=()=>U(),t.stackRestore=e=>_(e),t.stackAlloc=e=>jt(e),t.setValue=function(e,r,i="i8"){switch(i.endsWith("*")&&(i="*"),i){case"i1":case"i8":(w(),H)[e>>>0]=r;break;case"i16":(w(),pe)[e>>>1>>>0]=r;break;case"i32":(w(),B)[e>>>2>>>0]=r;break;case"i64":(w(),O)[e>>>3>>>0]=BigInt(r);break;case"float":(w(),re)[e>>>2>>>0]=r;break;case"double":(w(),me)[e>>>3>>>0]=r;break;case"*":(w(),W)[e>>>2>>>0]=r;break;default:j(`invalid type for setValue: ${i}`)}},t.getValue=function(e,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":return(w(),H)[e>>>0];case"i16":return(w(),pe)[e>>>1>>>0];case"i32":return(w(),B)[e>>>2>>>0];case"i64":return(w(),O)[e>>>3>>>0];case"float":return(w(),re)[e>>>2>>>0];case"double":return(w(),me)[e>>>3>>>0];case"*":return(w(),W)[e>>>2>>>0];default:j(`invalid type for getValue: ${r}`)}},t.UTF8ToString=Mt,t.stringToUTF8=Oe,t.lengthBytesUTF8=Wt;var st,er,tr,zt,nr,rr,or,Ht,ar,sr,x,qe,ir,_,jt,U,ur,Vt,fr,cr,lr,Ee,fa=[V,fe,Sn,In,Bn,Ln,_n,Dn,Pn,Un,xn,Cn,Mn,Rn,Fn,Nn,$n,zn,Hn,Yn,qn,Jn,Xn,Zn,Qn,Kn],dr={1042604:(e,r,i,s,f)=>{if(t===void 0||!t.Tb)return 1;if((e=Mt(Number(e>>>0))).startsWith("./")&&(e=e.substring(2)),!(e=t.Tb.get(e)))return 2;if(r=Number(r>>>0),i=Number(i>>>0),s=Number(s>>>0),r+i>e.byteLength)return 3;try{let p=e.subarray(r,r+i);switch(f){case 0:(w(),ne).set(p,s>>>0);break;case 1:t.ic?t.ic(s,p):t.kc(s,p);break;default:return 4}return 0}catch{return 4}},1043428:()=>typeof wasmOffsetConverter<"u"};function ca(){return typeof wasmOffsetConverter<"u"}function la(e,r,i,s){var f=U();try{return M(e)(r,i,s)}catch(p){if(_(f),p!==p+0)throw p;x(1,0)}}function da(e,r,i){var s=U();try{return M(e)(r,i)}catch(f){if(_(s),f!==f+0)throw f;x(1,0)}}function pa(e){var r=U();try{M(e)()}catch(i){if(_(r),i!==i+0)throw i;x(1,0)}}function ma(e,r){var i=U();try{return M(e)(r)}catch(s){if(_(i),s!==s+0)throw s;x(1,0)}}function ha(e,r,i){var s=U();try{M(e)(r,i)}catch(f){if(_(s),f!==f+0)throw f;x(1,0)}}function wa(e,r){var i=U();try{M(e)(r)}catch(s){if(_(i),s!==s+0)throw s;x(1,0)}}function ba(e,r,i,s,f,p,E){var S=U();try{return M(e)(r,i,s,f,p,E)}catch(C){if(_(S),C!==C+0)throw C;x(1,0)}}function ya(e,r,i,s,f,p){var E=U();try{M(e)(r,i,s,f,p)}catch(S){if(_(E),S!==S+0)throw S;x(1,0)}}function ga(e,r,i,s){var f=U();try{M(e)(r,i,s)}catch(p){if(_(f),p!==p+0)throw p;x(1,0)}}function Ea(e,r,i,s,f){var p=U();try{M(e)(r,i,s,f)}catch(E){if(_(p),E!==E+0)throw E;x(1,0)}}function Ta(e,r,i,s,f,p,E){var S=U();try{M(e)(r,i,s,f,p,E)}catch(C){if(_(S),C!==C+0)throw C;x(1,0)}}function Sa(e,r,i,s,f,p,E){var S=U();try{M(e)(r,i,s,f,p,E)}catch(C){if(_(S),C!==C+0)throw C;x(1,0)}}function va(e,r,i,s,f,p,E,S){var C=U();try{M(e)(r,i,s,f,p,E,S)}catch(R){if(_(C),R!==R+0)throw R;x(1,0)}}function Aa(e,r,i,s,f){var p=U();try{return M(e)(r,i,s,f)}catch(E){if(_(p),E!==E+0)throw E;x(1,0)}}function Oa(e,r,i){var s=U();try{return M(e)(r,i)}catch(f){if(_(s),f!==f+0)throw f;x(1,0)}}function Ia(e,r,i,s,f,p,E,S){var C=U();try{M(e)(r,i,s,f,p,E,S)}catch(R){if(_(C),R!==R+0)throw R;x(1,0)}}function Ba(e,r,i,s,f,p,E,S,C,R,X,le){var we=U();try{M(e)(r,i,s,f,p,E,S,C,R,X,le)}catch(be){if(_(we),be!==be+0)throw be;x(1,0)}}function La(e,r,i){var s=U();try{return M(e)(r,i)}catch(f){if(_(s),f!==f+0)throw f;return x(1,0),0n}}function _a(e,r,i,s,f,p,E,S,C){var R=U();try{M(e)(r,i,s,f,p,E,S,C)}catch(X){if(_(R),X!==X+0)throw X;x(1,0)}}function Da(e){var r=U();try{return M(e)()}catch(i){if(_(r),i!==i+0)throw i;x(1,0)}}function Pa(e,r){var i=U();try{return M(e)(r)}catch(s){if(_(i),s!==s+0)throw s;return x(1,0),0n}}function Ua(e,r,i,s){var f=U();try{return M(e)(r,i,s)}catch(p){if(_(f),p!==p+0)throw p;x(1,0)}}function xa(e){var r=U();try{return M(e)()}catch(i){if(_(r),i!==i+0)throw i;return x(1,0),0n}}function Ca(e,r,i,s){var f=U();try{return M(e)(r,i,s)}catch(p){if(_(f),p!==p+0)throw p;x(1,0)}}function Ma(e,r,i,s,f){var p=U();try{return M(e)(r,i,s,f)}catch(E){if(_(p),E!==E+0)throw E;x(1,0)}}function Ra(e,r,i,s,f,p){var E=U();try{return M(e)(r,i,s,f,p)}catch(S){if(_(E),S!==S+0)throw S;x(1,0)}}function Fa(e,r,i,s,f,p){var E=U();try{return M(e)(r,i,s,f,p)}catch(S){if(_(E),S!==S+0)throw S;x(1,0)}}function Na(e,r,i,s,f,p){var E=U();try{return M(e)(r,i,s,f,p)}catch(S){if(_(E),S!==S+0)throw S;x(1,0)}}function ka(e,r,i,s,f,p,E,S){var C=U();try{return M(e)(r,i,s,f,p,E,S)}catch(R){if(_(C),R!==R+0)throw R;x(1,0)}}function Wa(e,r,i,s,f){var p=U();try{return M(e)(r,i,s,f)}catch(E){if(_(p),E!==E+0)throw E;return x(1,0),0n}}function Ga(e,r,i,s){var f=U();try{return M(e)(r,i,s)}catch(p){if(_(f),p!==p+0)throw p;x(1,0)}}function $a(e,r,i,s){var f=U();try{return M(e)(r,i,s)}catch(p){if(_(f),p!==p+0)throw p;x(1,0)}}function za(e,r,i,s,f,p,E,S,C,R,X,le){var we=U();try{return M(e)(r,i,s,f,p,E,S,C,R,X,le)}catch(be){if(_(we),be!==be+0)throw be;x(1,0)}}function Ha(e,r,i,s,f,p,E,S,C,R,X){var le=U();try{M(e)(r,i,s,f,p,E,S,C,R,X)}catch(we){if(_(le),we!==we+0)throw we;x(1,0)}}function ja(e,r,i,s,f,p,E,S,C,R,X,le,we,be,Ja,Xa){var Za=U();try{M(e)(r,i,s,f,p,E,S,C,R,X,le,we,be,Ja,Xa)}catch(Yt){if(_(Za),Yt!==Yt+0)throw Yt;x(1,0)}}function Va(e,r,i){var s=U();try{return M(e)(r,i)}catch(f){if(_(s),f!==f+0)throw f;x(1,0)}}function Ya(e,r,i){var s=U();try{return M(e)(r,i)}catch(f){if(_(s),f!==f+0)throw f;x(1,0)}}function qa(e,r,i,s){var f=U();try{M(e)(r,i,s)}catch(p){if(_(f),p!==p+0)throw p;x(1,0)}}function it(){if(0<Re)te=it;else if(o)T?.(t),he();else{for(var e=Ve;0<e.length;)e.shift()(t);0<Re?te=it:(t.calledRun=!0,P||(he(),T?.(t)))}}return o||(Ee=await Ut(),it()),t.PTR_SIZE=4,je?t:new Promise((e,r)=>{T=e,I=r})}var as,ss,Jr=N(()=>{"use strict";as=Yr,ss=globalThis.self?.name?.startsWith("em-pthread");ss&&Yr()});var Qr,an,is,oe,Kr,on,us,fs,eo,cs,Xr,to,Zr,no,pt=N(()=>{"use strict";dt();Qr=typeof location>"u"?void 0:location.origin,an=import.meta.url>"file:"&&import.meta.url<"file;",is=()=>{if(!!1){if(an){let n=URL;return new URL(new n("ort.wasm.bundle.min.mjs",import.meta.url).href,Qr).href}return import.meta.url}},oe=is(),Kr=()=>{if(oe&&!oe.startsWith("blob:"))return oe.substring(0,oe.lastIndexOf("/")+1)},on=(n,t)=>{try{let a=t??oe;return(a?new URL(n,a):new URL(n)).origin===Qr}catch{return!1}},us=(n,t)=>{let a=t??oe;try{return(a?new URL(n,a):new URL(n)).href}catch{return}},fs=(n,t)=>`${t??"./"}${n}`,eo=async n=>{let a=await(await fetch(n,{credentials:"same-origin"})).blob();return URL.createObjectURL(a)},cs=async n=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/n)).default,Xr=(Vr(),Xt(jr)).default,to=async()=>{if(!oe)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(on(oe))return[void 0,Xr()];let n=await eo(oe);return[n,Xr(n)]},Zr=(Jr(),Xt(qr)).default,no=async(n,t,a,u)=>{let o=Zr&&!(n||t);if(o)if(oe)o=on(oe)||u&&!a;else if(u&&!a)o=!0;else throw new Error("cannot determine the script source URL.");if(o)return[void 0,Zr];{let d="ort-wasm-simd-threaded.mjs",c=n??us(d,t),l=!!1&&a&&c&&!on(c,t),m=l?await eo(c):c??fs(d,t);return[l?m:void 0,await cs(m)]}}});var sn,un,St,ro,ls,ds,ps,mt,z,xe=N(()=>{"use strict";pt();un=!1,St=!1,ro=!1,ls=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},ds=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},ps=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},mt=async n=>{if(un)return Promise.resolve();if(St)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(ro)throw new Error("previous call to 'initializeWebAssembly()' failed.");St=!0;let t=n.initTimeout,a=n.numThreads;if(n.simd!==!1){if(n.simd==="relaxed"){if(!ps())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!ds())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let u=ls();a>1&&!u&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+a+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),n.numThreads=a=1);let o=n.wasmPaths,d=typeof o=="string"?o:void 0,c=o?.mjs,l=c?.href??c,m=o?.wasm,h=m?.href??m,g=n.wasmBinary,[b,y]=await no(l,d,a>1,!!g||!!h),T=!1,I=[];if(t>0&&I.push(new Promise(D=>{setTimeout(()=>{T=!0,D()},t)})),I.push(new Promise((D,$)=>{let v={numThreads:a};if(g)v.wasmBinary=g,v.locateFile=A=>A;else if(h||d)v.locateFile=A=>h??d+A;else if(l&&l.indexOf("blob:")!==0)v.locateFile=A=>new URL(A,l).href;else if(b){let A=Kr();A&&(v.locateFile=F=>A+F)}y(v).then(A=>{St=!1,un=!0,sn=A,D(),b&&URL.revokeObjectURL(b)},A=>{St=!1,ro=!0,$(A)})})),await Promise.race(I),T)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},z=()=>{if(un&&sn)return sn;throw new Error("WebAssembly is not initialized yet.")}});var ae,Qe,G,vt=N(()=>{"use strict";xe();ae=(n,t)=>{let a=z(),u=a.lengthBytesUTF8(n)+1,o=a._malloc(u);return a.stringToUTF8(n,o,u),t.push(o),o},Qe=(n,t,a,u)=>{if(typeof n=="object"&&n!==null){if(a.has(n))throw new Error("Circular reference in options");a.add(n)}Object.entries(n).forEach(([o,d])=>{let c=t?t+o:o;if(typeof d=="object")Qe(d,c+".",a,u);else if(typeof d=="string"||typeof d=="number")u(c,d.toString());else if(typeof d=="boolean")u(c,d?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof d}`)})},G=n=>{let t=z(),a=t.stackSave();try{let u=t.PTR_SIZE,o=t.stackAlloc(2*u);t._OrtGetLastError(o,o+u);let d=Number(t.getValue(o,u===4?"i32":"i64")),c=t.getValue(o+u,"*"),l=c?t.UTF8ToString(c):"";throw new Error(`${n} ERROR_CODE: ${d}, ERROR_MESSAGE: ${l}`)}finally{t.stackRestore(a)}}});var oo,ao=N(()=>{"use strict";xe();vt();oo=n=>{let t=z(),a=0,u=[],o=n||{};try{if(n?.logSeverityLevel===void 0)o.logSeverityLevel=2;else if(typeof n.logSeverityLevel!="number"||!Number.isInteger(n.logSeverityLevel)||n.logSeverityLevel<0||n.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${n.logSeverityLevel}`);if(n?.logVerbosityLevel===void 0)o.logVerbosityLevel=0;else if(typeof n.logVerbosityLevel!="number"||!Number.isInteger(n.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${n.logVerbosityLevel}`);n?.terminate===void 0&&(o.terminate=!1);let d=0;return n?.tag!==void 0&&(d=ae(n.tag,u)),a=t._OrtCreateRunOptions(o.logSeverityLevel,o.logVerbosityLevel,!!o.terminate,d),a===0&&G("Can't create run options."),n?.extra!==void 0&&Qe(n.extra,"",new WeakSet,(c,l)=>{let m=ae(c,u),h=ae(l,u);t._OrtAddRunConfigEntry(a,m,h)!==0&&G(`Can't set a run config entry: ${c} - ${l}.`)}),[a,u]}catch(d){throw a!==0&&t._OrtReleaseRunOptions(a),u.forEach(c=>t._free(c)),d}}});var ms,hs,ws,ke,bs,so,io=N(()=>{"use strict";xe();vt();ms=n=>{switch(n){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${n}`)}},hs=n=>{switch(n){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${n}`)}},ws=n=>{n.extra||(n.extra={}),n.extra.session||(n.extra.session={});let t=n.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),n.executionProviders&&n.executionProviders.some(a=>(typeof a=="string"?a:a.name)==="webgpu")&&(n.enableMemPattern=!1)},ke=(n,t,a,u)=>{let o=ae(t,u),d=ae(a,u);z()._OrtAddSessionConfigEntry(n,o,d)!==0&&G(`Can't set a session config entry: ${t} - ${a}.`)},bs=async(n,t,a)=>{let u=t.executionProviders;for(let o of u){let d=typeof o=="string"?o:o.name,c=[];switch(d){case"webnn":if(d="WEBNN",ke(n,"session.disable_quant_qdq","1",a),ke(n,"session.disable_qdq_constant_folding","1",a),typeof o!="string"){let y=o?.deviceType;y&&ke(n,"deviceType",y,a)}break;case"webgpu":if(d="JS",typeof o!="string"){let b=o;if(b?.preferredLayout){if(b.preferredLayout!=="NCHW"&&b.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${b.preferredLayout}`);ke(n,"preferredLayout",b.preferredLayout,a)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${d}`)}let l=ae(d,a),m=c.length,h=0,g=0;if(m>0){h=z()._malloc(m*z().PTR_SIZE),a.push(h),g=z()._malloc(m*z().PTR_SIZE),a.push(g);for(let b=0;b<m;b++)z().setValue(h+b*z().PTR_SIZE,c[b][0],"*"),z().setValue(g+b*z().PTR_SIZE,c[b][1],"*")}await z()._OrtAppendExecutionProvider(n,l,h,g,m)!==0&&G(`Can't append execution provider: ${d}.`)}},so=async n=>{let t=z(),a=0,u=[],o=n||{};ws(o);try{let d=ms(o.graphOptimizationLevel??"all"),c=hs(o.executionMode??"sequential"),l=typeof o.logId=="string"?ae(o.logId,u):0,m=o.logSeverityLevel??2;if(!Number.isInteger(m)||m<0||m>4)throw new Error(`log severity level is not valid: ${m}`);let h=o.logVerbosityLevel??0;if(!Number.isInteger(h)||h<0||h>4)throw new Error(`log verbosity level is not valid: ${h}`);let g=typeof o.optimizedModelFilePath=="string"?ae(o.optimizedModelFilePath,u):0;if(a=t._OrtCreateSessionOptions(d,!!o.enableCpuMemArena,!!o.enableMemPattern,c,!!o.enableProfiling,0,l,m,h,g),a===0&&G("Can't create session options."),o.executionProviders&&await bs(a,o,u),o.enableGraphCapture!==void 0){if(typeof o.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${o.enableGraphCapture}`);ke(a,"enableGraphCapture",o.enableGraphCapture.toString(),u)}if(o.freeDimensionOverrides)for(let[b,y]of Object.entries(o.freeDimensionOverrides)){if(typeof b!="string")throw new Error(`free dimension override name must be a string: ${b}`);if(typeof y!="number"||!Number.isInteger(y)||y<0)throw new Error(`free dimension override value must be a non-negative integer: ${y}`);let T=ae(b,u);t._OrtAddFreeDimensionOverride(a,T,y)!==0&&G(`Can't set a free dimension override: ${b} - ${y}.`)}return o.extra!==void 0&&Qe(o.extra,"",new WeakSet,(b,y)=>{ke(a,b,y,u)}),[a,u]}catch(d){throw a!==0&&t._OrtReleaseSessionOptions(a)!==0&&G("Can't release session options."),u.forEach(c=>t._free(c)),d}}});var We,At,Ge,uo,fo,Ot,It,co,fn=N(()=>{"use strict";We=n=>{switch(n){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${n}`)}},At=n=>{switch(n){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${n}`)}},Ge=(n,t)=>{let a=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][n],u=typeof t=="number"?t:t.reduce((o,d)=>o*d,1);return a>0?Math.ceil(u*a):void 0},uo=n=>{switch(n){case"float16":return typeof Float16Array<"u"?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${n}`)}},fo=n=>{switch(n){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${n}`)}},Ot=n=>n==="float32"||n==="float16"||n==="int32"||n==="int64"||n==="uint32"||n==="uint8"||n==="bool"||n==="uint4"||n==="int4",It=n=>n==="float32"||n==="float16"||n==="int32"||n==="int64"||n==="uint32"||n==="uint64"||n==="int8"||n==="uint8"||n==="bool"||n==="uint4"||n==="int4",co=n=>{switch(n){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${n}`)}}});var Ke,cn=N(()=>{"use strict";dt();Ke=async n=>{if(typeof n=="string")if(!1)try{let{readFile:t}=Jt("node:fs/promises");return new Uint8Array(await t(n))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:a}=Jt("node:fs"),u=a(n),o=[];for await(let d of u)o.push(d);return new Uint8Array(Buffer.concat(o))}throw t}else{let t=await fetch(n);if(!t.ok)throw new Error(`failed to load external data file: ${n}`);let a=t.headers.get("Content-Length"),u=a?parseInt(a,10):0;if(u<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${n}, no response body.`);let o=t.body.getReader(),d;try{d=new ArrayBuffer(u)}catch(l){if(l instanceof RangeError){let m=Math.ceil(u/65536);d=new WebAssembly.Memory({initial:m,maximum:m}).buffer}else throw l}let c=0;for(;;){let{done:l,value:m}=await o.read();if(l)break;let h=m.byteLength;new Uint8Array(d,c,h).set(m),c+=h}return new Uint8Array(d,0,u)}}else return n instanceof Blob?new Uint8Array(await n.arrayBuffer()):n instanceof Uint8Array?n:new Uint8Array(n)}});var ys,ht,wt,$e,gs,lo,Ze,bt,yt,po,gt,Et,Tt,rn=N(()=>{"use strict";Te();ao();io();fn();xe();vt();cn();ys=(n,t)=>{z()._OrtInit(n,t)!==0&&G("Can't initialize onnxruntime.")},ht=async n=>{ys(n.wasm.numThreads,fo(n.logLevel))},wt=async(n,t)=>{z().asyncInit?.();let a=n.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(a){if(typeof a.limits!="object"||typeof a.features!="object"||typeof a.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let u=n.webgpu.powerPreference;if(u!==void 0&&u!=="low-power"&&u!=="high-performance")throw new Error(`Invalid powerPreference setting: "${u}"`);let o=n.webgpu.forceFallbackAdapter;if(o!==void 0&&typeof o!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${o}"`);if(a=await navigator.gpu.requestAdapter({powerPreference:u,forceFallbackAdapter:o}),!a)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment")},$e=new Map,gs=n=>{let t=z(),a=t.stackSave();try{let u=t.PTR_SIZE,o=t.stackAlloc(2*u);t._OrtGetInputOutputCount(n,o,o+u)!==0&&G("Can't get session input/output count.");let c=u===4?"i32":"i64";return[Number(t.getValue(o,c)),Number(t.getValue(o+u,c))]}finally{t.stackRestore(a)}},lo=(n,t)=>{let a=z(),u=a.stackSave(),o=0;try{let d=a.PTR_SIZE,c=a.stackAlloc(2*d);a._OrtGetInputOutputMetadata(n,t,c,c+d)!==0&&G("Can't get session input/output metadata.");let m=Number(a.getValue(c,"*"));o=Number(a.getValue(c+d,"*"));let h=a.HEAP32[o/4];if(h===0)return[m,0];let g=a.HEAPU32[o/4+1],b=[];for(let y=0;y<g;y++){let T=Number(a.getValue(o+8+y*d,"*"));b.push(T!==0?a.UTF8ToString(T):Number(a.getValue(o+8+(y+g)*d,"*")))}return[m,h,b]}finally{a.stackRestore(u),o!==0&&a._OrtFree(o)}},Ze=n=>{let t=z(),a=t._malloc(n.byteLength);if(a===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${n.byteLength}.`);return t.HEAPU8.set(n,a),[a,n.byteLength]},bt=async(n,t)=>{let a,u,o=z();Array.isArray(n)?[a,u]=n:n.buffer===o.HEAPU8.buffer?[a,u]=[n.byteOffset,n.byteLength]:[a,u]=Ze(n);let d=0,c=0,l=0,m=[],h=[],g=[];try{if([c,m]=await so(t),t?.externalData&&o.mountExternalData){let P=[];for(let k of t.externalData){let w=typeof k=="string"?k:k.path,Q=typeof k=="string"?k:k.data;P.push(Ke(Q).then(H=>{o.mountExternalData(w,H)}))}await Promise.all(P)}for(let P of t?.executionProviders??[])if((typeof P=="string"?P:P.name)==="webnn"){if(o.shouldTransferToMLTensor=!1,typeof P!="string"){let w=P,Q=w?.context,H=w?.gpuDevice,ne=w?.deviceType,pe=w?.powerPreference;Q?o.currentContext=Q:H?o.currentContext=await o.webnnCreateMLContext(H):o.currentContext=await o.webnnCreateMLContext({deviceType:ne,powerPreference:pe})}else o.currentContext=await o.webnnCreateMLContext();break}d=await o._OrtCreateSession(a,u,c),o.webgpuOnCreateSession?.(d),d===0&&G("Can't create a session."),o.jsepOnCreateSession?.(),o.currentContext&&(o.webnnRegisterMLContext(d,o.currentContext),o.currentContext=void 0,o.shouldTransferToMLTensor=!0);let[b,y]=gs(d),T=!!t?.enableGraphCapture,I=[],D=[],$=[],v=[],A=[];for(let P=0;P<b;P++){let[k,w,Q]=lo(d,P);k===0&&G("Can't get an input name."),h.push(k);let H=o.UTF8ToString(k);I.push(H),$.push(w===0?{name:H,isTensor:!1}:{name:H,isTensor:!0,type:At(w),shape:Q})}for(let P=0;P<y;P++){let[k,w,Q]=lo(d,P+b);k===0&&G("Can't get an output name."),g.push(k);let H=o.UTF8ToString(k);D.push(H),v.push(w===0?{name:H,isTensor:!1}:{name:H,isTensor:!0,type:At(w),shape:Q})}return $e.set(d,[d,h,g,null,T,!1]),[d,I,D,$,v]}catch(b){throw h.forEach(y=>o._OrtFree(y)),g.forEach(y=>o._OrtFree(y)),l!==0&&o._OrtReleaseBinding(l)!==0&&G("Can't release IO binding."),d!==0&&o._OrtReleaseSession(d)!==0&&G("Can't release session."),b}finally{o._free(a),c!==0&&o._OrtReleaseSessionOptions(c)!==0&&G("Can't release session options."),m.forEach(b=>o._free(b)),o.unmountExternalData?.()}},yt=n=>{let t=z(),a=$e.get(n);if(!a)throw new Error(`cannot release session. invalid session id: ${n}`);let[u,o,d,c,l]=a;c&&(l&&t._OrtClearBoundOutputs(c.handle)!==0&&G("Can't clear bound outputs."),t._OrtReleaseBinding(c.handle)!==0&&G("Can't release IO binding.")),t.jsepOnReleaseSession?.(n),t.webnnOnReleaseSession?.(n),t.webgpuOnReleaseSession?.(n),o.forEach(m=>t._OrtFree(m)),d.forEach(m=>t._OrtFree(m)),t._OrtReleaseSession(u)!==0&&G("Can't release session."),$e.delete(n)},po=async(n,t,a,u,o,d,c=!1)=>{if(!n){t.push(0);return}let l=z(),m=l.PTR_SIZE,h=n[0],g=n[1],b=n[3],y=b,T,I;if(h==="string"&&(b==="gpu-buffer"||b==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(c&&b!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${d} when enableGraphCapture is true.`);if(b==="gpu-buffer"){let v=n[2].gpuBuffer;I=Ge(We(h),g);{let A=l.jsepRegisterBuffer;if(!A)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');T=A(u,d,v,I)}}else if(b==="ml-tensor"){let v=n[2].mlTensor;I=Ge(We(h),g);let A=l.webnnRegisterMLTensor;if(!A)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');T=A(u,v,We(h),g)}else{let v=n[2];if(Array.isArray(v)){I=m*v.length,T=l._malloc(I),a.push(T);for(let A=0;A<v.length;A++){if(typeof v[A]!="string")throw new TypeError(`tensor data at index ${A} is not a string`);l.setValue(T+A*m,ae(v[A],a),"*")}}else{let A=l.webnnIsGraphInput,F=l.webnnIsGraphOutput;if(h!=="string"&&A&&F){let P=l.UTF8ToString(o);if(A(u,P)||F(u,P)){let k=We(h);I=Ge(k,g),y="ml-tensor";let w=l.webnnCreateTemporaryTensor,Q=l.webnnUploadTensor;if(!w||!Q)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let H=await w(u,k,g);Q(H,new Uint8Array(v.buffer,v.byteOffset,v.byteLength)),T=H}else I=v.byteLength,T=l._malloc(I),a.push(T),l.HEAPU8.set(new Uint8Array(v.buffer,v.byteOffset,I),T)}else I=v.byteLength,T=l._malloc(I),a.push(T),l.HEAPU8.set(new Uint8Array(v.buffer,v.byteOffset,I),T)}}let D=l.stackSave(),$=l.stackAlloc(4*g.length);try{g.forEach((A,F)=>l.setValue($+F*m,A,m===4?"i32":"i64"));let v=l._OrtCreateTensor(We(h),T,I,$,g.length,co(y));v===0&&G(`Can't create tensor for input/output. session=${u}, index=${d}.`),t.push(v)}finally{l.stackRestore(D)}},gt=async(n,t,a,u,o,d)=>{let c=z(),l=c.PTR_SIZE,m=$e.get(n);if(!m)throw new Error(`cannot run inference. invalid session id: ${n}`);let h=m[0],g=m[1],b=m[2],y=m[3],T=m[4],I=m[5],D=t.length,$=u.length,v=0,A=[],F=[],P=[],k=[],w=[],Q=c.stackSave(),H=c.stackAlloc(D*l),ne=c.stackAlloc(D*l),pe=c.stackAlloc($*l),B=c.stackAlloc($*l);try{[v,A]=oo(d),Pe("wasm prepareInputOutputTensor");for(let O=0;O<D;O++)await po(a[O],F,k,n,g[t[O]],t[O],T);for(let O=0;O<$;O++)await po(o[O],P,k,n,b[u[O]],D+u[O],T);Ue("wasm prepareInputOutputTensor");for(let O=0;O<D;O++)c.setValue(H+O*l,F[O],"*"),c.setValue(ne+O*l,g[t[O]],"*");for(let O=0;O<$;O++)c.setValue(pe+O*l,P[O],"*"),c.setValue(B+O*l,b[u[O]],"*");c.jsepOnRunStart?.(h),c.webnnOnRunStart?.(h);let W;W=await c._OrtRun(h,ne,H,D,B,$,pe,v),W!==0&&G("failed to call OrtRun().");let re=[],me=[];Pe("wasm ProcessOutputTensor");for(let O=0;O<$;O++){let K=Number(c.getValue(pe+O*l,"*"));if(K===P[O]||w.includes(P[O])){re.push(o[O]),K!==P[O]&&c._OrtReleaseTensor(K)!==0&&G("Can't release tensor.");continue}let je=c.stackSave(),ee=c.stackAlloc(4*l),he=!1,j,J=0;try{c._OrtGetTensorData(K,ee,ee+l,ee+2*l,ee+3*l)!==0&&G(`Can't access output tensor data on index ${O}.`);let Se=l===4?"i32":"i64",ve=Number(c.getValue(ee,Se));J=c.getValue(ee+l,"*");let Ve=c.getValue(ee+l*2,"*"),Re=Number(c.getValue(ee+l*3,Se)),te=[];for(let L=0;L<Re;L++)te.push(Number(c.getValue(Ve+L*l,Se)));c._OrtFree(Ve)!==0&&G("Can't free memory for tensor dims.");let ue=te.reduce((L,V)=>L*V,1);j=At(ve);let se=y?.outputPreferredLocations[u[O]];if(j==="string"){if(se==="gpu-buffer"||se==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let L=[];for(let V=0;V<ue;V++){let fe=c.getValue(J+V*l,"*"),ye=c.getValue(J+(V+1)*l,"*"),ce=V===ue-1?void 0:ye-fe;L.push(c.UTF8ToString(fe,ce))}re.push([j,te,L,"cpu"])}else if(se==="gpu-buffer"&&ue>0){let L=c.jsepGetBuffer;if(!L)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let V=L(J),fe=Ge(ve,ue);if(fe===void 0||!Ot(j))throw new Error(`Unsupported data type: ${j}`);he=!0,re.push([j,te,{gpuBuffer:V,download:c.jsepCreateDownloader(V,fe,j),dispose:()=>{c._OrtReleaseTensor(K)!==0&&G("Can't release tensor.")}},"gpu-buffer"])}else if(se==="ml-tensor"&&ue>0){let L=c.webnnEnsureTensor,V=c.webnnIsGraphInputOutputTypeSupported;if(!L||!V)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(Ge(ve,ue)===void 0||!It(j))throw new Error(`Unsupported data type: ${j}`);if(!V(n,j,!1))throw new Error(`preferredLocation "ml-tensor" for ${j} output is not supported by current WebNN Context.`);let ye=await L(n,J,ve,te,!1);he=!0,re.push([j,te,{mlTensor:ye,download:c.webnnCreateMLTensorDownloader(J,j),dispose:()=>{c.webnnReleaseTensorId(J),c._OrtReleaseTensor(K)}},"ml-tensor"])}else if(se==="ml-tensor-cpu-output"&&ue>0){let L=c.webnnCreateMLTensorDownloader(J,j)(),V=re.length;he=!0,me.push((async()=>{let fe=[V,await L];return c.webnnReleaseTensorId(J),c._OrtReleaseTensor(K),fe})()),re.push([j,te,[],"cpu"])}else{let L=uo(j),V=new L(ue);new Uint8Array(V.buffer,V.byteOffset,V.byteLength).set(c.HEAPU8.subarray(J,J+V.byteLength)),re.push([j,te,V,"cpu"])}}finally{c.stackRestore(je),j==="string"&&J&&c._free(J),he||c._OrtReleaseTensor(K)}}y&&!T&&(c._OrtClearBoundOutputs(y.handle)!==0&&G("Can't clear bound outputs."),$e.set(n,[h,g,b,y,T,!1]));for(let[O,K]of await Promise.all(me))re[O][2]=K;return Ue("wasm ProcessOutputTensor"),re}finally{c.webnnOnRunEnd?.(h),c.stackRestore(Q),F.forEach(W=>c._OrtReleaseTensor(W)),P.forEach(W=>c._OrtReleaseTensor(W)),k.forEach(W=>c._free(W)),v!==0&&c._OrtReleaseRunOptions(v),A.forEach(W=>c._free(W))}},Et=n=>{let t=z(),a=$e.get(n);if(!a)throw new Error("invalid session id");let u=a[0],o=t._OrtEndProfiling(u);o===0&&G("Can't get an profile file name."),t._OrtFree(o)},Tt=n=>{let t=[];for(let a of n){let u=a[2];!Array.isArray(u)&&"buffer"in u&&t.push(u.buffer)}return t}});var Me,ie,et,Lt,_t,Bt,ln,dn,ze,He,Ts,mo,ho,wo,bo,yo,go,Eo,pn=N(()=>{"use strict";Te();rn();xe();pt();Me=()=>!!Y.wasm.proxy&&typeof document<"u",et=!1,Lt=!1,_t=!1,dn=new Map,ze=(n,t)=>{let a=dn.get(n);a?a.push(t):dn.set(n,[t])},He=()=>{if(et||!Lt||_t||!ie)throw new Error("worker not ready")},Ts=n=>{switch(n.data.type){case"init-wasm":et=!1,n.data.err?(_t=!0,ln[1](n.data.err)):(Lt=!0,ln[0]()),Bt&&(URL.revokeObjectURL(Bt),Bt=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=dn.get(n.data.type);n.data.err?t.shift()[1](n.data.err):t.shift()[0](n.data.out);break}default:}},mo=async()=>{if(!Lt){if(et)throw new Error("multiple calls to 'initWasm()' detected.");if(_t)throw new Error("previous call to 'initWasm()' failed.");if(et=!0,Me())return new Promise((n,t)=>{ie?.terminate(),to().then(([a,u])=>{try{ie=u,ie.onerror=d=>t(d),ie.onmessage=Ts,ln=[n,t];let o={type:"init-wasm",in:Y};!o.in.wasm.wasmPaths&&(a||an)&&(o.in.wasm.wasmPaths={wasm:new URL("ort-wasm-simd-threaded.wasm",import.meta.url).href}),ie.postMessage(o),Bt=a}catch(o){t(o)}},t)});try{await mt(Y.wasm),await ht(Y),Lt=!0}catch(n){throw _t=!0,n}finally{et=!1}}},ho=async n=>{if(Me())return He(),new Promise((t,a)=>{ze("init-ep",[t,a]);let u={type:"init-ep",in:{epName:n,env:Y}};ie.postMessage(u)});await wt(Y,n)},wo=async n=>Me()?(He(),new Promise((t,a)=>{ze("copy-from",[t,a]);let u={type:"copy-from",in:{buffer:n}};ie.postMessage(u,[n.buffer])})):Ze(n),bo=async(n,t)=>{if(Me()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return He(),new Promise((a,u)=>{ze("create",[a,u]);let o={type:"create",in:{model:n,options:{...t}}},d=[];n instanceof Uint8Array&&d.push(n.buffer),ie.postMessage(o,d)})}else return bt(n,t)},yo=async n=>{if(Me())return He(),new Promise((t,a)=>{ze("release",[t,a]);let u={type:"release",in:n};ie.postMessage(u)});yt(n)},go=async(n,t,a,u,o,d)=>{if(Me()){if(a.some(c=>c[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(o.some(c=>c))throw new Error("pre-allocated output tensor is not supported for proxy.");return He(),new Promise((c,l)=>{ze("run",[c,l]);let m=a,h={type:"run",in:{sessionId:n,inputIndices:t,inputs:m,outputIndices:u,options:d}};ie.postMessage(h,Tt(m))})}else return gt(n,t,a,u,o,d)},Eo=async n=>{if(Me())return He(),new Promise((t,a)=>{ze("end-profiling",[t,a]);let u={type:"end-profiling",in:n};ie.postMessage(u)});Et(n)}});var To,Ss,Dt,So=N(()=>{"use strict";Te();pn();fn();dt();cn();To=(n,t)=>{switch(n.location){case"cpu":return[n.type,n.dims,n.data,"cpu"];case"gpu-buffer":return[n.type,n.dims,{gpuBuffer:n.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[n.type,n.dims,{mlTensor:n.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${n.location} for ${t()}`)}},Ss=n=>{switch(n[3]){case"cpu":return new de(n[0],n[2],n[1]);case"gpu-buffer":{let t=n[0];if(!Ot(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:a,download:u,dispose:o}=n[2];return de.fromGpuBuffer(a,{dataType:t,dims:n[1],download:u,dispose:o})}case"ml-tensor":{let t=n[0];if(!It(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:a,download:u,dispose:o}=n[2];return de.fromMLTensor(a,{dataType:t,dims:n[1],download:u,dispose:o})}default:throw new Error(`invalid data location: ${n[3]}`)}},Dt=class{async fetchModelAndCopyToWasmMemory(t){return wo(await Ke(t))}async loadModel(t,a){_e();let u;typeof t=="string"?u=await this.fetchModelAndCopyToWasmMemory(t):u=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await bo(u,a),De()}async dispose(){return yo(this.sessionId)}async run(t,a,u){_e();let o=[],d=[];Object.entries(t).forEach(y=>{let T=y[0],I=y[1],D=this.inputNames.indexOf(T);if(D===-1)throw new Error(`invalid input '${T}'`);o.push(I),d.push(D)});let c=[],l=[];Object.entries(a).forEach(y=>{let T=y[0],I=y[1],D=this.outputNames.indexOf(T);if(D===-1)throw new Error(`invalid output '${T}'`);c.push(I),l.push(D)});let m=o.map((y,T)=>To(y,()=>`input "${this.inputNames[d[T]]}"`)),h=c.map((y,T)=>y?To(y,()=>`output "${this.outputNames[l[T]]}"`):null),g=await go(this.sessionId,d,m,l,h,u),b={};for(let y=0;y<g.length;y++)b[this.outputNames[l[y]]]=c[y]??Ss(g[y]);return De(),b}startProfiling(){}endProfiling(){Eo(this.sessionId)}}});var Ao={};ut(Ao,{OnnxruntimeWebAssemblyBackend:()=>Pt,initializeFlags:()=>vo,wasmBackend:()=>vs});var vo,Pt,vs,Oo=N(()=>{"use strict";Te();pn();So();vo=()=>{(typeof Y.wasm.initTimeout!="number"||Y.wasm.initTimeout<0)&&(Y.wasm.initTimeout=0);let n=Y.wasm.simd;if(typeof n!="boolean"&&n!==void 0&&n!=="fixed"&&n!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${n}". Reset it to \`false\` and ignore SIMD feature checking.`),Y.wasm.simd=!1),typeof Y.wasm.proxy!="boolean"&&(Y.wasm.proxy=!1),typeof Y.wasm.trace!="boolean"&&(Y.wasm.trace=!1),typeof Y.wasm.numThreads!="number"||!Number.isInteger(Y.wasm.numThreads)||Y.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)Y.wasm.numThreads=1;else{let t=typeof navigator>"u"?Jt("node:os").cpus().length:navigator.hardwareConcurrency;Y.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},Pt=class{async init(t){vo(),await mo(),await ho(t)}async createInferenceSessionHandler(t,a){let u=new Dt;return await u.loadModel(t,a),u}},vs=new Pt});Te();Te();Te();var $r="1.30.0";var iu=nn;{let n=(Oo(),Xt(Ao)).wasmBackend;Je("cpu",n,10),Je("wasm",n,10)}Object.defineProperty(Y.versions,"web",{value:$r,enumerable:!0});export{rs as InferenceSession,Cr as TRACE,Pe as TRACE_EVENT_BEGIN,Ue as TRACE_EVENT_END,_e as TRACE_FUNC_BEGIN,De as TRACE_FUNC_END,de as Tensor,iu as default,Y as env,Je as registerBackend};
|
| 9 |
+
//# sourceMappingURL=ort.wasm.bundle.min.mjs.map
|
ort/ort.wasm.min.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.30.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var Ve=Object.defineProperty;var On=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var Pn=Object.prototype.hasOwnProperty;var Je=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(o){throw n=[o],o}};var qe=(e,t)=>{for(var n in t)Ve(e,n,{get:t[n],enumerable:!0})},Dn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ln(t))!Pn.call(e,r)&&r!==n&&Ve(e,r,{get:()=>t[r],enumerable:!(o=On(t,r))||o.enumerable});return e};var wt=e=>Dn(Ve({},"__esModule",{value:!0}),e);var Se,q,pe,_n,ht,Ye=E(()=>{"use strict";Se=new Map,q=[],pe=(e,t,n)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let o=Se.get(e);if(o===void 0)Se.set(e,{backend:t,priority:n});else{if(o.priority>n)return;if(o.priority===n&&o.backend!==t)throw new Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let r=q.indexOf(e);r!==-1&&q.splice(r,1);for(let i=0;i<q.length;i++)if(Se.get(q[i]).priority<=n){q.splice(i,0,e);return}q.push(e)}return}throw new TypeError("not a valid backend")},_n=async e=>{let t=Se.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(o){return n||(t.error=`${o}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},ht=async e=>{let t=e.executionProviders||[],n=t.map(u=>typeof u=="string"?u:u.name),o=n.length===0?q:n,r,i=[],s=new Set;for(let u of o){let f=await _n(u);typeof f=="string"?i.push({name:u,err:f}):(r||(r=f),r===f&&s.add(u))}if(!r)throw new Error(`no available backend found. ERR: ${i.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of i)n.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let a=t.filter(u=>s.has(typeof u=="string"?u:u.name));return[r,new Proxy(e,{get:(u,f)=>f==="executionProviders"?a:Reflect.get(u,f)})]}});var bt=E(()=>{"use strict";Ye()});var yt,gt=E(()=>{"use strict";yt="1.30.0"});var Et,D,Ze=E(()=>{"use strict";gt();Et="warning",D={wasm:{},webgl:{},webgpu:{},versions:{common:yt},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);Et=e}},get logLevel(){return Et}};Object.defineProperty(D,"logLevel",{enumerable:!0})});var B,St=E(()=>{"use strict";Ze();B=D});var Tt,It,At=E(()=>{"use strict";Tt=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let o=n.getContext("2d");if(o!=null){let r,i;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[3]):(r=e.dims[3],i=e.dims[2]);let s=t?.format!==void 0?t.format:"RGB",a=t?.norm,u,f;a===void 0||a.mean===void 0?u=[255,255,255,255]:typeof a.mean=="number"?u=[a.mean,a.mean,a.mean,a.mean]:(u=[a.mean[0],a.mean[1],a.mean[2],0],a.mean[3]!==void 0&&(u[3]=a.mean[3])),a===void 0||a.bias===void 0?f=[0,0,0,0]:typeof a.bias=="number"?f=[a.bias,a.bias,a.bias,a.bias]:(f=[a.bias[0],a.bias[1],a.bias[2],0],a.bias[3]!==void 0&&(f[3]=a.bias[3]));let l=i*r,c=0,d=l,p=l*2,h=-1;s==="RGBA"?(c=0,d=l,p=l*2,h=l*3):s==="RGB"?(c=0,d=l,p=l*2):s==="RBG"&&(c=0,p=l,d=l*2);for(let b=0;b<i;b++)for(let A=0;A<r;A++){let m=(e.data[c++]-f[0])*u[0],w=(e.data[d++]-f[1])*u[1],O=(e.data[p++]-f[2])*u[2],g=h===-1?255:(e.data[h++]-f[3])*u[3];o.fillStyle="rgba("+m+","+w+","+O+","+g+")",o.fillRect(A,b,1,1)}if("toDataURL"in n)return n.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},It=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(n!=null){let r,i,s;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[1],s=e.dims[3]):(r=e.dims[3],i=e.dims[2],s=e.dims[1]);let a=t!==void 0&&t.format!==void 0?t.format:"RGB",u=t?.norm,f,l;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?l=[0,0,0,0]:typeof u.bias=="number"?l=[u.bias,u.bias,u.bias,u.bias]:(l=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(l[3]=u.bias[3]));let c=i*r;if(t!==void 0&&(t.format!==void 0&&s===4&&t.format!=="RGBA"||s===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let d=4,p=0,h=1,b=2,A=3,m=0,w=c,O=c*2,g=-1;a==="RGBA"?(m=0,w=c,O=c*2,g=c*3):a==="RGB"?(m=0,w=c,O=c*2):a==="RBG"&&(m=0,O=c,w=c*2),o=n.createImageData(r,i);for(let T=0;T<i*r;p+=d,h+=d,b+=d,A+=d,T++)o.data[p]=(e.data[m++]-l[0])*f[0],o.data[h]=(e.data[w++]-l[1])*f[1],o.data[b]=(e.data[O++]-l[2])*f[2],o.data[A]=g===-1?255:(e.data[g++]-l[3])*f[3]}else throw new Error("Can not access image data");return o}});var Xe,Bt,Ot,Lt,Pt,Dt,_t=E(()=>{"use strict";Te();Xe=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:n,width:o}=t,r=t.norm??{mean:255,bias:0},i,s;typeof r.mean=="number"?i=[r.mean,r.mean,r.mean,r.mean]:i=[r.mean[0],r.mean[1],r.mean[2],r.mean[3]??255],typeof r.bias=="number"?s=[r.bias,r.bias,r.bias,r.bias]:s=[r.bias[0],r.bias[1],r.bias[2],r.bias[3]??0];let a=t.format!==void 0?t.format:"RGBA",u=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",f=n*o,l=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),c=4,d=0,p=1,h=2,b=3,A=0,m=f,w=f*2,O=-1;a==="RGB"&&(c=3,d=0,p=1,h=2,b=-1),u==="RGBA"?O=f*3:u==="RBG"?(A=0,w=f,m=f*2):u==="BGR"&&(w=0,m=f,A=f*2);for(let T=0;T<f;T++,d+=c,h+=c,p+=c,b+=c)l[A++]=(e[d]+s[0])/i[0],l[m++]=(e[p]+s[1])/i[1],l[w++]=(e[h]+s[2])/i[2],O!==-1&&b!==-1&&(l[O++]=(e[b]+s[3])/i[3]);return u==="RGBA"?new v("float32",l,[1,4,n,o]):new v("float32",l,[1,3,n,o])},Bt=async(e,t)=>{let n=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,o=typeof ImageData<"u"&&e instanceof ImageData,r=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,i=typeof e=="string",s,a=t??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=l=>typeof HTMLCanvasElement<"u"&&l instanceof HTMLCanvasElement||l instanceof OffscreenCanvas?l.getContext("2d"):null;if(n){let l=u();l.width=e.width,l.height=e.height;let c=f(l);if(c!=null){let d=e.height,p=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(d=t.resizedHeight,p=t.resizedWidth),t!==void 0){if(a=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");a.tensorFormat="RGBA",a.height=d,a.width=p}else a.tensorFormat="RGBA",a.height=d,a.width=p;c.drawImage(e,0,0),s=c.getImageData(0,0,p,d).data}else throw new Error("Can not access image data")}else if(o){let l,c;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(l=t.resizedHeight,c=t.resizedWidth):(l=e.height,c=e.width),t!==void 0&&(a=t),a.format="RGBA",a.height=l,a.width=c,t!==void 0){let d=u();d.width=c,d.height=l;let p=f(d);if(p!=null)p.putImageData(e,0,0),s=p.getImageData(0,0,c,l).data;else throw new Error("Can not access image data")}else s=e.data}else if(r){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let l=u();l.width=e.width,l.height=e.height;let c=f(l);if(c!=null){let d=e.height,p=e.width;return c.drawImage(e,0,0,p,d),s=c.getImageData(0,0,p,d).data,a.height=d,a.width=p,Xe(s,a)}else throw new Error("Can not access image data")}else{if(i)return new Promise((l,c)=>{let d=u(),p=f(d);if(!e||!p)return c();let h=new Image;h.crossOrigin="Anonymous",h.src=e,h.onload=()=>{d.width=h.width,d.height=h.height,p.drawImage(h,0,0,d.width,d.height);let b=p.getImageData(0,0,d.width,d.height);a.height=d.height,a.width=d.width,l(Xe(b.data,a))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(s!==void 0)return Xe(s,a);throw new Error("Input data provided is not supported - aborted tensor creation")},Ot=(e,t)=>{let{width:n,height:o,download:r,dispose:i}=t,s=[1,o,n,4];return new v({location:"texture",type:"float32",texture:e,dims:s,download:r,dispose:i})},Lt=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new v({location:"gpu-buffer",type:n??"float32",gpuBuffer:e,dims:o,download:r,dispose:i})},Pt=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new v({location:"ml-tensor",type:n??"float32",mlTensor:e,dims:o,download:r,dispose:i})},Dt=(e,t,n)=>new v({location:"cpu-pinned",type:e,data:t,dims:n??[t.length]})});var Y,me,Ut,xt,vt=E(()=>{"use strict";Y=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),me=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Ut=!1,xt=()=>{if(!Ut){Ut=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,n=globalThis.Float16Array,o=typeof n<"u"&&n.from;e&&(Y.set("int64",BigInt64Array),me.set(BigInt64Array,"int64")),t&&(Y.set("uint64",BigUint64Array),me.set(BigUint64Array,"uint64")),o?(Y.set("float16",n),me.set(n,"float16")):Y.set("float16",Uint16Array)}}});var Ct,Mt,Rt=E(()=>{"use strict";Te();Ct=e=>{let t=1;for(let n=0;n<e.length;n++){let o=e[n];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${n}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${o}`);t*=o}return t},Mt=(e,t)=>{switch(e.location){case"cpu":return new v(e.type,e.data,t);case"cpu-pinned":return new v({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new v({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new v({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new v({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var v,Te=E(()=>{"use strict";At();_t();vt();Rt();v=class{constructor(t,n,o){xt();let r,i;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,r=t.type,i=t.dims,t.location){case"cpu-pinned":{let a=Y.get(r);if(!a)throw new TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(t.data instanceof a))throw new TypeError(`buffer should be of type ${a.name}`);this.cpuData=t.data;break}case"texture":{if(r!=="float32")throw new TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint64"&&r!=="int8"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,u;if(typeof t=="string")if(r=t,u=o,t==="string"){if(!Array.isArray(n))throw new TypeError("A string tensor's data must be a string array.");a=n}else{let f=Y.get(t);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t==="float16"&&f===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${f.name} as data.`);t==="uint64"||t==="int64"?a=f.from(n,BigInt):a=f.from(n)}else if(n instanceof f)a=n;else if(n instanceof Uint8ClampedArray)if(t==="uint8")a=Uint8Array.from(n);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&n instanceof Uint16Array&&f!==Uint16Array)a=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${r} tensor's data must be type of ${f}`)}else if(u=n,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof t[0];if(f==="string")r="string",a=t;else if(f==="boolean")r="bool",a=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(t instanceof Uint8ClampedArray)r="uint8",a=Uint8Array.from(t);else{let f=me.get(t.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);r=f,a=t}if(u===void 0)u=[a.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");i=u,this.cpuData=a,this.dataLocation="cpu"}let s=Ct(i);if(this.cpuData&&s!==this.cpuData.length&&!((r==="uint4"||r==="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=r,this.dims=i,this.size=s}static async fromImage(t,n){return Bt(t,n)}static fromTexture(t,n){return Ot(t,n)}static fromGpuBuffer(t,n){return Lt(t,n)}static fromMLTensor(t,n){return Pt(t,n)}static fromPinnedBuffer(t,n,o){return Dt(t,n,o)}toDataURL(t){return Tt(this,t)}toImageData(t){return It(this,t)}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(t){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 n=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}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(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Mt(this,t)}}});var G,Ke=E(()=>{"use strict";Te();G=v});var Nt,Ft,Z,X,K,Q,Qe=E(()=>{"use strict";Ze();Nt=(e,t)=>{(typeof D.trace>"u"?!D.wasm.trace:!D.trace)||console.timeStamp(`${e}::ORT::${t}`)},Ft=(e,t)=>{let n=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let r=0;r<n.length;r++){if(o&&!n[r].includes("TRACE_FUNC")){let i=`FUNC_${e}::${n[r].trim().split(" ")[1]}`;t&&(i+=`::${t}`),Nt("CPU",i);return}n[r].includes("TRACE_FUNC")&&(o=!0)}},Z=e=>{(typeof D.trace>"u"?!D.wasm.trace:!D.trace)||Ft("BEGIN",e)},X=e=>{(typeof D.trace>"u"?!D.wasm.trace:!D.trace)||Ft("END",e)},K=e=>{(typeof D.trace>"u"?!D.wasm.trace:!D.trace)||console.time(`ORT::${e}`)},Q=e=>{(typeof D.trace>"u"?!D.wasm.trace:!D.trace)||console.timeEnd(`ORT::${e}`)}});var Ie,kt=E(()=>{"use strict";Ye();Ke();Qe();Ie=class e{constructor(t){this.handler=t}async run(t,n,o){Z(),K("InferenceSession.run");let r={},i={};if(typeof t!="object"||t===null||t instanceof G||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let s=!0;if(typeof n=="object"){if(n===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(n instanceof G)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(n)){if(n.length===0)throw new TypeError("'fetches' cannot be an empty array.");s=!1;for(let f of n){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);r[f]=null}if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,l=Object.getOwnPropertyNames(n);for(let c of this.outputNames)if(l.indexOf(c)!==-1){let d=n[c];(d===null||d instanceof G)&&(f=!0,s=!1,r[c]=d)}if(f){if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else i=n}}else if(typeof n<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof t[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(s)for(let f of this.outputNames)r[f]=null;let a=await this.handler.run(t,r,i),u={};for(let f in a)if(Object.hasOwnProperty.call(a,f)){let l=a[f];l instanceof G?u[f]=l:u[f]=new G(l.type,l.data,l.dims)}return Q("InferenceSession.run"),X(),u}async release(){return this.handler.dispose()}static async create(t,n,o,r){Z(),K("InferenceSession.create");let i,s={};if(typeof t=="string"){if(i=t,typeof n=="object"&&n!==null)s=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(i=t,typeof n=="object"&&n!==null)s=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let l=t,c=0,d=t.byteLength;if(typeof n=="object"&&n!==null)s=n;else if(typeof n=="number"){if(c=n,!Number.isSafeInteger(c))throw new RangeError("'byteOffset' must be an integer.");if(c<0||c>=l.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${l.byteLength}).`);if(d=t.byteLength-c,typeof o=="number"){if(d=o,!Number.isSafeInteger(d))throw new RangeError("'byteLength' must be an integer.");if(d<=0||c+d>l.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${l.byteLength-c}].`);if(typeof r=="object"&&r!==null)s=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof n<"u")throw new TypeError("'options' must be an object.");i=new Uint8Array(l,c,d)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[a,u]=await ht(s),f=await a.createInferenceSessionHandler(i,u);return Q("InferenceSession.create"),X(),new e(f)}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 Un,Wt=E(()=>{"use strict";kt();Un=Ie});var Gt=E(()=>{"use strict"});var $t=E(()=>{"use strict"});var zt=E(()=>{"use strict"});var Ht=E(()=>{"use strict"});var et={};qe(et,{InferenceSession:()=>Un,TRACE:()=>Nt,TRACE_EVENT_BEGIN:()=>K,TRACE_EVENT_END:()=>Q,TRACE_FUNC_BEGIN:()=>Z,TRACE_FUNC_END:()=>X,Tensor:()=>G,env:()=>B,registerBackend:()=>pe});var J=E(()=>{"use strict";bt();St();Wt();Ke();Gt();$t();Qe();zt();Ht()});var Ae=E(()=>{"use strict"});var qt={};qe(qt,{default:()=>xn});var Vt,Jt,xn,Yt=E(()=>{"use strict";tt();ee();Be();Vt="ort-wasm-proxy-worker",Jt=globalThis.self?.name===Vt;Jt&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case"init-wasm":Oe(n.wasm).then(()=>{Le(n).then(()=>{postMessage({type:t})},o=>{postMessage({type:t,err:o})})},o=>{postMessage({type:t,err:o})});break;case"init-ep":{let{epName:o,env:r}=n;Pe(r,o).then(()=>{postMessage({type:t})},i=>{postMessage({type:t,err:i})});break}case"copy-from":{let{buffer:o}=n,r=we(o);postMessage({type:t,out:r});break}case"create":{let{model:o,options:r}=n;De(o,r).then(i=>{postMessage({type:t,out:i})},i=>{postMessage({type:t,err:i})});break}case"release":_e(n),postMessage({type:t});break;case"run":{let{sessionId:o,inputIndices:r,inputs:i,outputIndices:s,options:a}=n;Ue(o,r,i,s,new Array(s.length).fill(null),a).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:u},ve([...i,...u]))},u=>{postMessage({type:t,err:u})});break}case"end-profiling":xe(n),postMessage({type:t});break;default:}}catch(o){postMessage({type:t,err:o})}});xn=Jt?null:e=>new Worker(e??R,{type:"module",name:Vt})});var Kt,vn,Cn,R,Ce,nt,Mn,Rn,Qt,Nn,Zt,en,Xt,tn,Be=E(()=>{"use strict";Ae();Kt=typeof location>"u"?void 0:location.origin,vn=import.meta.url>"file:"&&import.meta.url<"file;",Cn=()=>{if(!!1){if(vn){let e=URL;return new URL(new e("ort.wasm.min.mjs",import.meta.url).href,Kt).href}return import.meta.url}},R=Cn(),Ce=()=>{if(R&&!R.startsWith("blob:"))return R.substring(0,R.lastIndexOf("/")+1)},nt=(e,t)=>{try{let n=t??R;return(n?new URL(e,n):new URL(e)).origin===Kt}catch{return!1}},Mn=(e,t)=>{let n=t??R;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Rn=(e,t)=>`${t??"./"}${e}`,Qt=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},Nn=async e=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/e)).default,Zt=(Yt(),wt(qt)).default,en=async()=>{if(!R)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(nt(R))return[void 0,Zt()];let e=await Qt(R);return[e,Zt(e)]},Xt=void 0,tn=async(e,t,n,o)=>{let r=Xt&&!(e||t);if(r)if(R)r=nt(R)||o&&!n;else if(o&&!n)r=!0;else throw new Error("cannot determine the script source URL.");if(r)return[void 0,Xt];{let i="ort-wasm-simd-threaded.mjs",s=e??Mn(i,t),a=!!1&&n&&s&&!nt(s,t),u=a?await Qt(s):s??Rn(i,t);return[a?u:void 0,await Nn(u)]}}});var rt,ot,Me,nn,Fn,kn,Wn,Oe,I,ee=E(()=>{"use strict";Be();ot=!1,Me=!1,nn=!1,Fn=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},kn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Wn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Oe=async e=>{if(ot)return Promise.resolve();if(Me)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(nn)throw new Error("previous call to 'initializeWebAssembly()' failed.");Me=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!Wn())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!kn())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=Fn();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,i=typeof r=="string"?r:void 0,s=r?.mjs,a=s?.href??s,u=r?.wasm,f=u?.href??u,l=e.wasmBinary,[c,d]=await tn(a,i,n>1,!!l||!!f),p=!1,h=[];if(t>0&&h.push(new Promise(b=>{setTimeout(()=>{p=!0,b()},t)})),h.push(new Promise((b,A)=>{let m={numThreads:n};if(l)m.wasmBinary=l,m.locateFile=w=>w;else if(f||i)m.locateFile=w=>f??i+w;else if(a&&a.indexOf("blob:")!==0)m.locateFile=w=>new URL(w,a).href;else if(c){let w=Ce();w&&(m.locateFile=O=>w+O)}d(m).then(w=>{Me=!1,ot=!0,rt=w,b(),c&&URL.revokeObjectURL(c)},w=>{Me=!1,nn=!0,A(w)})})),await Promise.race(h),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},I=()=>{if(ot&&rt)return rt;throw new Error("WebAssembly is not initialized yet.")}});var N,he,S,Re=E(()=>{"use strict";ee();N=(e,t)=>{let n=I(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},he=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,i])=>{let s=t?t+r:r;if(typeof i=="object")he(i,s+".",n,o);else if(typeof i=="string"||typeof i=="number")o(s,i.toString());else if(typeof i=="boolean")o(s,i?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof i}`)})},S=e=>{let t=I(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let i=Number(t.getValue(r,o===4?"i32":"i64")),s=t.getValue(r+o,"*"),a=s?t.UTF8ToString(s):"";throw new Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${a}`)}finally{t.stackRestore(n)}}});var rn,on=E(()=>{"use strict";ee();Re();rn=e=>{let t=I(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let i=0;return e?.tag!==void 0&&(i=N(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,i),n===0&&S("Can't create run options."),e?.extra!==void 0&&he(e.extra,"",new WeakSet,(s,a)=>{let u=N(s,o),f=N(a,o);t._OrtAddRunConfigEntry(n,u,f)!==0&&S(`Can't set a run config entry: ${s} - ${a}.`)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(s=>t._free(s)),i}}});var Gn,$n,zn,se,Hn,sn,an=E(()=>{"use strict";ee();Re();Gn=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},$n=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},zn=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},se=(e,t,n,o)=>{let r=N(t,o),i=N(n,o);I()._OrtAddSessionConfigEntry(e,r,i)!==0&&S(`Can't set a session config entry: ${t} - ${n}.`)},Hn=async(e,t,n)=>{let o=t.executionProviders;for(let r of o){let i=typeof r=="string"?r:r.name,s=[];switch(i){case"webnn":if(i="WEBNN",se(e,"session.disable_quant_qdq","1",n),se(e,"session.disable_qdq_constant_folding","1",n),typeof r!="string"){let d=r?.deviceType;d&&se(e,"deviceType",d,n)}break;case"webgpu":if(i="JS",typeof r!="string"){let c=r;if(c?.preferredLayout){if(c.preferredLayout!=="NCHW"&&c.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);se(e,"preferredLayout",c.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${i}`)}let a=N(i,n),u=s.length,f=0,l=0;if(u>0){f=I()._malloc(u*I().PTR_SIZE),n.push(f),l=I()._malloc(u*I().PTR_SIZE),n.push(l);for(let c=0;c<u;c++)I().setValue(f+c*I().PTR_SIZE,s[c][0],"*"),I().setValue(l+c*I().PTR_SIZE,s[c][1],"*")}await I()._OrtAppendExecutionProvider(e,a,f,l,u)!==0&&S(`Can't append execution provider: ${i}.`)}},sn=async e=>{let t=I(),n=0,o=[],r=e||{};zn(r);try{let i=Gn(r.graphOptimizationLevel??"all"),s=$n(r.executionMode??"sequential"),a=typeof r.logId=="string"?N(r.logId,o):0,u=r.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let f=r.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let l=typeof r.optimizedModelFilePath=="string"?N(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(i,!!r.enableCpuMemArena,!!r.enableMemPattern,s,!!r.enableProfiling,0,a,u,f,l),n===0&&S("Can't create session options."),r.executionProviders&&await Hn(n,r,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);se(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[c,d]of Object.entries(r.freeDimensionOverrides)){if(typeof c!="string")throw new Error(`free dimension override name must be a string: ${c}`);if(typeof d!="number"||!Number.isInteger(d)||d<0)throw new Error(`free dimension override value must be a non-negative integer: ${d}`);let p=N(c,o);t._OrtAddFreeDimensionOverride(n,p,d)!==0&&S(`Can't set a free dimension override: ${c} - ${d}.`)}return r.extra!==void 0&&he(r.extra,"",new WeakSet,(c,d)=>{se(n,c,d,o)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&S("Can't release session options."),o.forEach(s=>t._free(s)),i}}});var ie,Ne,ae,un,fn,Fe,ke,cn,st=E(()=>{"use strict";ie=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Ne=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},ae=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,i)=>r*i,1);return n>0?Math.ceil(o*n):void 0},un=e=>{switch(e){case"float16":return typeof Float16Array<"u"?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},fn=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},Fe=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",ke=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",cn=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var be,it=E(()=>{"use strict";Ae();be=async e=>{if(typeof e=="string")if(!1)try{let{readFile:t}=Je("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=Je("node:fs"),o=n(e),r=[];for await(let i of o)r.push(i);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),i;try{i=new ArrayBuffer(o)}catch(a){if(a instanceof RangeError){let u=Math.ceil(o/65536);i=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw a}let s=0;for(;;){let{done:a,value:u}=await r.read();if(a)break;let f=u.byteLength;new Uint8Array(i,s,f).set(u),s+=f}return new Uint8Array(i,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var jn,Le,Pe,ue,Vn,dn,we,De,_e,ln,Ue,xe,ve,tt=E(()=>{"use strict";J();on();an();st();ee();Re();it();jn=(e,t)=>{I()._OrtInit(e,t)!==0&&S("Can't initialize onnxruntime.")},Le=async e=>{jn(e.wasm.numThreads,fn(e.logLevel))},Pe=async(e,t)=>{I().asyncInit?.();let n=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(n){if(typeof n.limits!="object"||typeof n.features!="object"||typeof n.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let o=e.webgpu.powerPreference;if(o!==void 0&&o!=="low-power"&&o!=="high-performance")throw new Error(`Invalid powerPreference setting: "${o}"`);let r=e.webgpu.forceFallbackAdapter;if(r!==void 0&&typeof r!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${r}"`);if(n=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:r}),!n)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment")},ue=new Map,Vn=e=>{let t=I(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&S("Can't get session input/output count.");let s=o===4?"i32":"i64";return[Number(t.getValue(r,s)),Number(t.getValue(r+o,s))]}finally{t.stackRestore(n)}},dn=(e,t)=>{let n=I(),o=n.stackSave(),r=0;try{let i=n.PTR_SIZE,s=n.stackAlloc(2*i);n._OrtGetInputOutputMetadata(e,t,s,s+i)!==0&&S("Can't get session input/output metadata.");let u=Number(n.getValue(s,"*"));r=Number(n.getValue(s+i,"*"));let f=n.HEAP32[r/4];if(f===0)return[u,0];let l=n.HEAPU32[r/4+1],c=[];for(let d=0;d<l;d++){let p=Number(n.getValue(r+8+d*i,"*"));c.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(d+l)*i,"*")))}return[u,f,c]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},we=e=>{let t=I(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},De=async(e,t)=>{let n,o,r=I();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=we(e);let i=0,s=0,a=0,u=[],f=[],l=[];try{if([s,u]=await sn(t),t?.externalData&&r.mountExternalData){let g=[];for(let T of t.externalData){let x=typeof T=="string"?T:T.path,M=typeof T=="string"?T:T.data;g.push(be(M).then(_=>{r.mountExternalData(x,_)}))}await Promise.all(g)}for(let g of t?.executionProviders??[])if((typeof g=="string"?g:g.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof g!="string"){let x=g,M=x?.context,_=x?.gpuDevice,de=x?.deviceType,re=x?.powerPreference;M?r.currentContext=M:_?r.currentContext=await r.webnnCreateMLContext(_):r.currentContext=await r.webnnCreateMLContext({deviceType:de,powerPreference:re})}else r.currentContext=await r.webnnCreateMLContext();break}i=await r._OrtCreateSession(n,o,s),r.webgpuOnCreateSession?.(i),i===0&&S("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(i,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[c,d]=Vn(i),p=!!t?.enableGraphCapture,h=[],b=[],A=[],m=[],w=[];for(let g=0;g<c;g++){let[T,x,M]=dn(i,g);T===0&&S("Can't get an input name."),f.push(T);let _=r.UTF8ToString(T);h.push(_),A.push(x===0?{name:_,isTensor:!1}:{name:_,isTensor:!0,type:Ne(x),shape:M})}for(let g=0;g<d;g++){let[T,x,M]=dn(i,g+c);T===0&&S("Can't get an output name."),l.push(T);let _=r.UTF8ToString(T);b.push(_),m.push(x===0?{name:_,isTensor:!1}:{name:_,isTensor:!0,type:Ne(x),shape:M})}return ue.set(i,[i,f,l,null,p,!1]),[i,h,b,A,m]}catch(c){throw f.forEach(d=>r._OrtFree(d)),l.forEach(d=>r._OrtFree(d)),a!==0&&r._OrtReleaseBinding(a)!==0&&S("Can't release IO binding."),i!==0&&r._OrtReleaseSession(i)!==0&&S("Can't release session."),c}finally{r._free(n),s!==0&&r._OrtReleaseSessionOptions(s)!==0&&S("Can't release session options."),u.forEach(c=>r._free(c)),r.unmountExternalData?.()}},_e=e=>{let t=I(),n=ue.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,i,s,a]=n;s&&(a&&t._OrtClearBoundOutputs(s.handle)!==0&&S("Can't clear bound outputs."),t._OrtReleaseBinding(s.handle)!==0&&S("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(u=>t._OrtFree(u)),i.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(o)!==0&&S("Can't release session."),ue.delete(e)},ln=async(e,t,n,o,r,i,s=!1)=>{if(!e){t.push(0);return}let a=I(),u=a.PTR_SIZE,f=e[0],l=e[1],c=e[3],d=c,p,h;if(f==="string"&&(c==="gpu-buffer"||c==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(s&&c!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(c==="gpu-buffer"){let m=e[2].gpuBuffer;h=ae(ie(f),l);{let w=a.jsepRegisterBuffer;if(!w)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=w(o,i,m,h)}}else if(c==="ml-tensor"){let m=e[2].mlTensor;h=ae(ie(f),l);let w=a.webnnRegisterMLTensor;if(!w)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=w(o,m,ie(f),l)}else{let m=e[2];if(Array.isArray(m)){h=u*m.length,p=a._malloc(h),n.push(p);for(let w=0;w<m.length;w++){if(typeof m[w]!="string")throw new TypeError(`tensor data at index ${w} is not a string`);a.setValue(p+w*u,N(m[w],n),"*")}}else{let w=a.webnnIsGraphInput,O=a.webnnIsGraphOutput;if(f!=="string"&&w&&O){let g=a.UTF8ToString(r);if(w(o,g)||O(o,g)){let T=ie(f);h=ae(T,l),d="ml-tensor";let x=a.webnnCreateTemporaryTensor,M=a.webnnUploadTensor;if(!x||!M)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let _=await x(o,T,l);M(_,new Uint8Array(m.buffer,m.byteOffset,m.byteLength)),p=_}else h=m.byteLength,p=a._malloc(h),n.push(p),a.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,h),p)}else h=m.byteLength,p=a._malloc(h),n.push(p),a.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,h),p)}}let b=a.stackSave(),A=a.stackAlloc(4*l.length);try{l.forEach((w,O)=>a.setValue(A+O*u,w,u===4?"i32":"i64"));let m=a._OrtCreateTensor(ie(f),p,h,A,l.length,cn(d));m===0&&S(`Can't create tensor for input/output. session=${o}, index=${i}.`),t.push(m)}finally{a.stackRestore(b)}},Ue=async(e,t,n,o,r,i)=>{let s=I(),a=s.PTR_SIZE,u=ue.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let f=u[0],l=u[1],c=u[2],d=u[3],p=u[4],h=u[5],b=t.length,A=o.length,m=0,w=[],O=[],g=[],T=[],x=[],M=s.stackSave(),_=s.stackAlloc(b*a),de=s.stackAlloc(b*a),re=s.stackAlloc(A*a),ct=s.stackAlloc(A*a);try{[m,w]=rn(i),K("wasm prepareInputOutputTensor");for(let y=0;y<b;y++)await ln(n[y],O,T,e,l[t[y]],t[y],p);for(let y=0;y<A;y++)await ln(r[y],g,T,e,c[o[y]],b+o[y],p);Q("wasm prepareInputOutputTensor");for(let y=0;y<b;y++)s.setValue(_+y*a,O[y],"*"),s.setValue(de+y*a,l[t[y]],"*");for(let y=0;y<A;y++)s.setValue(re+y*a,g[y],"*"),s.setValue(ct+y*a,c[o[y]],"*");s.jsepOnRunStart?.(f),s.webnnOnRunStart?.(f);let F;F=await s._OrtRun(f,de,_,b,ct,A,re,m),F!==0&&S("failed to call OrtRun().");let z=[],dt=[];K("wasm ProcessOutputTensor");for(let y=0;y<A;y++){let W=Number(s.getValue(re+y*a,"*"));if(W===g[y]||x.includes(g[y])){z.push(r[y]),W!==g[y]&&s._OrtReleaseTensor(W)!==0&&S("Can't release tensor.");continue}let lt=s.stackSave(),$=s.stackAlloc(4*a),oe=!1,P,C=0;try{s._OrtGetTensorData(W,$,$+a,$+2*a,$+3*a)!==0&&S(`Can't access output tensor data on index ${y}.`);let je=a===4?"i32":"i64",ge=Number(s.getValue($,je));C=s.getValue($+a,"*");let pt=s.getValue($+a*2,"*"),Bn=Number(s.getValue($+a*3,je)),H=[];for(let U=0;U<Bn;U++)H.push(Number(s.getValue(pt+U*a,je)));s._OrtFree(pt)!==0&&S("Can't free memory for tensor dims.");let j=H.reduce((U,L)=>U*L,1);P=Ne(ge);let le=d?.outputPreferredLocations[o[y]];if(P==="string"){if(le==="gpu-buffer"||le==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let U=[];for(let L=0;L<j;L++){let V=s.getValue(C+L*a,"*"),Ee=s.getValue(C+(L+1)*a,"*"),mt=L===j-1?void 0:Ee-V;U.push(s.UTF8ToString(V,mt))}z.push([P,H,U,"cpu"])}else if(le==="gpu-buffer"&&j>0){let U=s.jsepGetBuffer;if(!U)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let L=U(C),V=ae(ge,j);if(V===void 0||!Fe(P))throw new Error(`Unsupported data type: ${P}`);oe=!0,z.push([P,H,{gpuBuffer:L,download:s.jsepCreateDownloader(L,V,P),dispose:()=>{s._OrtReleaseTensor(W)!==0&&S("Can't release tensor.")}},"gpu-buffer"])}else if(le==="ml-tensor"&&j>0){let U=s.webnnEnsureTensor,L=s.webnnIsGraphInputOutputTypeSupported;if(!U||!L)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(ae(ge,j)===void 0||!ke(P))throw new Error(`Unsupported data type: ${P}`);if(!L(e,P,!1))throw new Error(`preferredLocation "ml-tensor" for ${P} output is not supported by current WebNN Context.`);let Ee=await U(e,C,ge,H,!1);oe=!0,z.push([P,H,{mlTensor:Ee,download:s.webnnCreateMLTensorDownloader(C,P),dispose:()=>{s.webnnReleaseTensorId(C),s._OrtReleaseTensor(W)}},"ml-tensor"])}else if(le==="ml-tensor-cpu-output"&&j>0){let U=s.webnnCreateMLTensorDownloader(C,P)(),L=z.length;oe=!0,dt.push((async()=>{let V=[L,await U];return s.webnnReleaseTensorId(C),s._OrtReleaseTensor(W),V})()),z.push([P,H,[],"cpu"])}else{let U=un(P),L=new U(j);new Uint8Array(L.buffer,L.byteOffset,L.byteLength).set(s.HEAPU8.subarray(C,C+L.byteLength)),z.push([P,H,L,"cpu"])}}finally{s.stackRestore(lt),P==="string"&&C&&s._free(C),oe||s._OrtReleaseTensor(W)}}d&&!p&&(s._OrtClearBoundOutputs(d.handle)!==0&&S("Can't clear bound outputs."),ue.set(e,[f,l,c,d,p,!1]));for(let[y,W]of await Promise.all(dt))z[y][2]=W;return Q("wasm ProcessOutputTensor"),z}finally{s.webnnOnRunEnd?.(f),s.stackRestore(M),O.forEach(F=>s._OrtReleaseTensor(F)),g.forEach(F=>s._OrtReleaseTensor(F)),T.forEach(F=>s._free(F)),m!==0&&s._OrtReleaseRunOptions(m),w.forEach(F=>s._free(F))}},xe=e=>{let t=I(),n=ue.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&S("Can't get an profile file name."),t._OrtFree(r)},ve=e=>{let t=[];for(let n of e){let o=n[2];!Array.isArray(o)&&"buffer"in o&&t.push(o.buffer)}return t}});var ne,k,ye,Ge,$e,We,at,ut,fe,ce,qn,pn,mn,wn,hn,bn,yn,gn,ft=E(()=>{"use strict";J();tt();ee();Be();ne=()=>!!B.wasm.proxy&&typeof document<"u",ye=!1,Ge=!1,$e=!1,ut=new Map,fe=(e,t)=>{let n=ut.get(e);n?n.push(t):ut.set(e,[t])},ce=()=>{if(ye||!Ge||$e||!k)throw new Error("worker not ready")},qn=e=>{switch(e.data.type){case"init-wasm":ye=!1,e.data.err?($e=!0,at[1](e.data.err)):(Ge=!0,at[0]()),We&&(URL.revokeObjectURL(We),We=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=ut.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},pn=async()=>{if(!Ge){if(ye)throw new Error("multiple calls to 'initWasm()' detected.");if($e)throw new Error("previous call to 'initWasm()' failed.");if(ye=!0,ne())return new Promise((e,t)=>{k?.terminate(),en().then(([n,o])=>{try{k=o,k.onerror=i=>t(i),k.onmessage=qn,at=[e,t];let r={type:"init-wasm",in:B};if(!r.in.wasm.wasmPaths&&n){let i=Ce();i&&(r.in.wasm.wasmPaths=i)}k.postMessage(r),We=n}catch(r){t(r)}},t)});try{await Oe(B.wasm),await Le(B),Ge=!0}catch(e){throw $e=!0,e}finally{ye=!1}}},mn=async e=>{if(ne())return ce(),new Promise((t,n)=>{fe("init-ep",[t,n]);let o={type:"init-ep",in:{epName:e,env:B}};k.postMessage(o)});await Pe(B,e)},wn=async e=>ne()?(ce(),new Promise((t,n)=>{fe("copy-from",[t,n]);let o={type:"copy-from",in:{buffer:e}};k.postMessage(o,[e.buffer])})):we(e),hn=async(e,t)=>{if(ne()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return ce(),new Promise((n,o)=>{fe("create",[n,o]);let r={type:"create",in:{model:e,options:{...t}}},i=[];e instanceof Uint8Array&&i.push(e.buffer),k.postMessage(r,i)})}else return De(e,t)},bn=async e=>{if(ne())return ce(),new Promise((t,n)=>{fe("release",[t,n]);let o={type:"release",in:e};k.postMessage(o)});_e(e)},yn=async(e,t,n,o,r,i)=>{if(ne()){if(n.some(s=>s[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(r.some(s=>s))throw new Error("pre-allocated output tensor is not supported for proxy.");return ce(),new Promise((s,a)=>{fe("run",[s,a]);let u=n,f={type:"run",in:{sessionId:e,inputIndices:t,inputs:u,outputIndices:o,options:i}};k.postMessage(f,ve(u))})}else return Ue(e,t,n,o,r,i)},gn=async e=>{if(ne())return ce(),new Promise((t,n)=>{fe("end-profiling",[t,n]);let o={type:"end-profiling",in:e};k.postMessage(o)});xe(e)}});var En,Yn,ze,Sn=E(()=>{"use strict";J();ft();st();Ae();it();En=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Yn=e=>{switch(e[3]){case"cpu":return new G(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!Fe(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return G.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!ke(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return G.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},ze=class{async fetchModelAndCopyToWasmMemory(t){return wn(await be(t))}async loadModel(t,n){Z();let o;typeof t=="string"?o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await hn(o,n),X()}async dispose(){return bn(this.sessionId)}async run(t,n,o){Z();let r=[],i=[];Object.entries(t).forEach(d=>{let p=d[0],h=d[1],b=this.inputNames.indexOf(p);if(b===-1)throw new Error(`invalid input '${p}'`);r.push(h),i.push(b)});let s=[],a=[];Object.entries(n).forEach(d=>{let p=d[0],h=d[1],b=this.outputNames.indexOf(p);if(b===-1)throw new Error(`invalid output '${p}'`);s.push(h),a.push(b)});let u=r.map((d,p)=>En(d,()=>`input "${this.inputNames[i[p]]}"`)),f=s.map((d,p)=>d?En(d,()=>`output "${this.outputNames[a[p]]}"`):null),l=await yn(this.sessionId,i,u,a,f,o),c={};for(let d=0;d<l.length;d++)c[this.outputNames[a[d]]]=s[d]??Yn(l[d]);return X(),c}startProfiling(){}endProfiling(){gn(this.sessionId)}}});var In={};qe(In,{OnnxruntimeWebAssemblyBackend:()=>He,initializeFlags:()=>Tn,wasmBackend:()=>Zn});var Tn,He,Zn,An=E(()=>{"use strict";J();ft();Sn();Tn=()=>{(typeof B.wasm.initTimeout!="number"||B.wasm.initTimeout<0)&&(B.wasm.initTimeout=0);let e=B.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),B.wasm.simd=!1),typeof B.wasm.proxy!="boolean"&&(B.wasm.proxy=!1),typeof B.wasm.trace!="boolean"&&(B.wasm.trace=!1),typeof B.wasm.numThreads!="number"||!Number.isInteger(B.wasm.numThreads)||B.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)B.wasm.numThreads=1;else{let t=typeof navigator>"u"?Je("node:os").cpus().length:navigator.hardwareConcurrency;B.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},He=class{async init(t){Tn(),await pn(),await mn(t)}async createInferenceSessionHandler(t,n){let o=new ze;return await o.loadModel(t,n),o}},Zn=new He});J();J();J();var jt="1.30.0";var Ro=et;{let e=(An(),wt(In)).wasmBackend;pe("cpu",e,10),pe("wasm",e,10)}Object.defineProperty(B.versions,"web",{value:jt,enumerable:!0});export{Un as InferenceSession,Nt as TRACE,K as TRACE_EVENT_BEGIN,Q as TRACE_EVENT_END,Z as TRACE_FUNC_BEGIN,X as TRACE_FUNC_END,G as Tensor,Ro as default,B as env,pe as registerBackend};
|
| 7 |
+
//# sourceMappingURL=ort.wasm.min.mjs.map
|
ort/ort.wasm.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.webgl.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.webgl.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.webgpu.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
ort/ort.webgpu.min.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.30.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var nt=Object.defineProperty;var Hr=Object.getOwnPropertyDescriptor;var Jr=Object.getOwnPropertyNames;var qr=Object.prototype.hasOwnProperty;var ot=(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 T=(t,e,r)=>()=>{if(r)throw r[0];try{return t&&(e=t(t=0)),e}catch(o){throw r=[o],o}};var ve=(t,e)=>{for(var r in e)nt(t,r,{get:e[r],enumerable:!0})},Yr=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Jr(e))!qr.call(t,n)&&n!==r&&nt(t,n,{get:()=>e[n],enumerable:!(o=Hr(e,n))||o.enumerable});return t};var st=t=>Yr(nt({},"__esModule",{value:!0}),t);var Be,ne,oe,Xr,Bt,at=T(()=>{"use strict";Be=new Map,ne=[],oe=(t,e,r)=>{if(e&&typeof e.init=="function"&&typeof e.createInferenceSessionHandler=="function"){let o=Be.get(t);if(o===void 0)Be.set(t,{backend:e,priority:r});else{if(o.priority>r)return;if(o.priority===r&&o.backend!==e)throw new Error(`cannot register backend "${t}" using priority ${r}`)}if(r>=0){let n=ne.indexOf(t);n!==-1&&ne.splice(n,1);for(let s=0;s<ne.length;s++)if(Be.get(ne[s]).priority<=r){ne.splice(s,0,t);return}ne.push(t)}return}throw new TypeError("not a valid backend")},Xr=async t=>{let e=Be.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(o){return r||(e.error=`${o}`,e.aborted=!0),e.error}finally{delete e.initPromise}}},Bt=async t=>{let e=t.executionProviders||[],r=e.map(u=>typeof u=="string"?u:u.name),o=r.length===0?ne:r,n,s=[],a=new Set;for(let u of o){let f=await Xr(u);typeof f=="string"?s.push({name:u,err:f}):(n||(n=f),n===f&&a.add(u))}if(!n)throw new Error(`no available backend found. ERR: ${s.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of s)r.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let i=e.filter(u=>a.has(typeof u=="string"?u:u.name));return[n,new Proxy(t,{get:(u,f)=>f==="executionProviders"?i:Reflect.get(u,f)})]}});var Mt=T(()=>{"use strict";at()});var xt,Ot=T(()=>{"use strict";xt="1.30.0"});var Dt,U,it=T(()=>{"use strict";Ot();Dt="warning",U={wasm:{},webgl:{},webgpu:{},versions:{common:xt},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}`);Dt=t}},get logLevel(){return Dt}};Object.defineProperty(U,"logLevel",{enumerable:!0})});var v,Ut=T(()=>{"use strict";it();v=U});var Ct,Pt,_t=T(()=>{"use strict";Ct=(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 o=r.getContext("2d");if(o!=null){let n,s;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(n=t.dims[2],s=t.dims[3]):(n=t.dims[3],s=t.dims[2]);let a=e?.format!==void 0?e.format:"RGB",i=e?.norm,u,f;i===void 0||i.mean===void 0?u=[255,255,255,255]:typeof i.mean=="number"?u=[i.mean,i.mean,i.mean,i.mean]:(u=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(u[3]=i.mean[3])),i===void 0||i.bias===void 0?f=[0,0,0,0]:typeof i.bias=="number"?f=[i.bias,i.bias,i.bias,i.bias]:(f=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(f[3]=i.bias[3]));let d=s*n,p=0,c=d,l=d*2,h=-1;a==="RGBA"?(p=0,c=d,l=d*2,h=d*3):a==="RGB"?(p=0,c=d,l=d*2):a==="RBG"&&(p=0,l=d,c=d*2);for(let b=0;b<s;b++)for(let E=0;E<n;E++){let y=(t.data[p++]-f[0])*u[0],m=(t.data[c++]-f[1])*u[1],A=(t.data[l++]-f[2])*u[2],w=h===-1?255:(t.data[h++]-f[3])*u[3];o.fillStyle="rgba("+y+","+m+","+A+","+w+")",o.fillRect(E,b,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")},Pt=(t,e)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(r!=null){let n,s,a;e?.tensorLayout!==void 0&&e.tensorLayout==="NHWC"?(n=t.dims[2],s=t.dims[1],a=t.dims[3]):(n=t.dims[3],s=t.dims[2],a=t.dims[1]);let i=e!==void 0&&e.format!==void 0?e.format:"RGB",u=e?.norm,f,d;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?d=[0,0,0,0]:typeof u.bias=="number"?d=[u.bias,u.bias,u.bias,u.bias]:(d=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(d[3]=u.bias[3]));let p=s*n;if(e!==void 0&&(e.format!==void 0&&a===4&&e.format!=="RGBA"||a===3&&e.format!=="RGB"&&e.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let c=4,l=0,h=1,b=2,E=3,y=0,m=p,A=p*2,w=-1;i==="RGBA"?(y=0,m=p,A=p*2,w=p*3):i==="RGB"?(y=0,m=p,A=p*2):i==="RBG"&&(y=0,A=p,m=p*2),o=r.createImageData(n,s);for(let L=0;L<s*n;l+=c,h+=c,b+=c,E+=c,L++)o.data[l]=(t.data[y++]-d[0])*f[0],o.data[h]=(t.data[m++]-d[1])*f[1],o.data[b]=(t.data[A++]-d[2])*f[2],o.data[E]=w===-1?255:(t.data[w++]-d[3])*f[3]}else throw new Error("Can not access image data");return o}});var ut,Rt,Nt,Ft,Wt,kt,Gt=T(()=>{"use strict";Me();ut=(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:o}=e,n=e.norm??{mean:255,bias:0},s,a;typeof n.mean=="number"?s=[n.mean,n.mean,n.mean,n.mean]:s=[n.mean[0],n.mean[1],n.mean[2],n.mean[3]??255],typeof n.bias=="number"?a=[n.bias,n.bias,n.bias,n.bias]:a=[n.bias[0],n.bias[1],n.bias[2],n.bias[3]??0];let i=e.format!==void 0?e.format:"RGBA",u=e.tensorFormat!==void 0&&e.tensorFormat!==void 0?e.tensorFormat:"RGB",f=r*o,d=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),p=4,c=0,l=1,h=2,b=3,E=0,y=f,m=f*2,A=-1;i==="RGB"&&(p=3,c=0,l=1,h=2,b=-1),u==="RGBA"?A=f*3:u==="RBG"?(E=0,m=f,y=f*2):u==="BGR"&&(m=0,y=f,E=f*2);for(let L=0;L<f;L++,c+=p,h+=p,l+=p,b+=p)d[E++]=(t[c]+a[0])/s[0],d[y++]=(t[l]+a[1])/s[1],d[m++]=(t[h]+a[2])/s[2],A!==-1&&b!==-1&&(d[A++]=(t[b]+a[3])/s[3]);return u==="RGBA"?new _("float32",d,[1,4,r,o]):new _("float32",d,[1,3,r,o])},Rt=async(t,e)=>{let r=typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement,o=typeof ImageData<"u"&&t instanceof ImageData,n=typeof ImageBitmap<"u"&&t instanceof ImageBitmap,s=typeof t=="string",a,i=e??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=d=>typeof HTMLCanvasElement<"u"&&d instanceof HTMLCanvasElement||d instanceof OffscreenCanvas?d.getContext("2d"):null;if(r){let d=u();d.width=t.width,d.height=t.height;let p=f(d);if(p!=null){let c=t.height,l=t.width;if(e!==void 0&&e.resizedHeight!==void 0&&e.resizedWidth!==void 0&&(c=e.resizedHeight,l=e.resizedWidth),e!==void 0){if(i=e,e.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=c,i.width=l}else i.tensorFormat="RGBA",i.height=c,i.width=l;p.drawImage(t,0,0),a=p.getImageData(0,0,l,c).data}else throw new Error("Can not access image data")}else if(o){let d,p;if(e!==void 0&&e.resizedWidth!==void 0&&e.resizedHeight!==void 0?(d=e.resizedHeight,p=e.resizedWidth):(d=t.height,p=t.width),e!==void 0&&(i=e),i.format="RGBA",i.height=d,i.width=p,e!==void 0){let c=u();c.width=p,c.height=d;let l=f(c);if(l!=null)l.putImageData(t,0,0),a=l.getImageData(0,0,p,d).data;else throw new Error("Can not access image data")}else a=t.data}else if(n){if(e===void 0)throw new Error("Please provide image config with format for Imagebitmap");let d=u();d.width=t.width,d.height=t.height;let p=f(d);if(p!=null){let c=t.height,l=t.width;return p.drawImage(t,0,0,l,c),a=p.getImageData(0,0,l,c).data,i.height=c,i.width=l,ut(a,i)}else throw new Error("Can not access image data")}else{if(s)return new Promise((d,p)=>{let c=u(),l=f(c);if(!t||!l)return p();let h=new Image;h.crossOrigin="Anonymous",h.src=t,h.onload=()=>{c.width=h.width,c.height=h.height,l.drawImage(h,0,0,c.width,c.height);let b=l.getImageData(0,0,c.width,c.height);i.height=c.height,i.width=c.width,d(ut(b.data,i))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(a!==void 0)return ut(a,i);throw new Error("Input data provided is not supported - aborted tensor creation")},Nt=(t,e)=>{let{width:r,height:o,download:n,dispose:s}=e,a=[1,o,r,4];return new _({location:"texture",type:"float32",texture:t,dims:a,download:n,dispose:s})},Ft=(t,e)=>{let{dataType:r,dims:o,download:n,dispose:s}=e;return new _({location:"gpu-buffer",type:r??"float32",gpuBuffer:t,dims:o,download:n,dispose:s})},Wt=(t,e)=>{let{dataType:r,dims:o,download:n,dispose:s}=e;return new _({location:"ml-tensor",type:r??"float32",mlTensor:t,dims:o,download:n,dispose:s})},kt=(t,e,r)=>new _({location:"cpu-pinned",type:t,data:e,dims:r??[e.length]})});var se,we,$t,zt,Vt=T(()=>{"use strict";se=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),we=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),$t=!1,zt=()=>{if(!$t){$t=!0;let t=typeof BigInt64Array<"u"&&BigInt64Array.from,e=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,o=typeof r<"u"&&r.from;t&&(se.set("int64",BigInt64Array),we.set(BigInt64Array,"int64")),e&&(se.set("uint64",BigUint64Array),we.set(BigUint64Array,"uint64")),o?(se.set("float16",r),we.set(r,"float16")):se.set("float16",Uint16Array)}}});var jt,Ht,Jt=T(()=>{"use strict";Me();jt=t=>{let e=1;for(let r=0;r<t.length;r++){let o=t[r];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${r}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${o}`);e*=o}return e},Ht=(t,e)=>{switch(t.location){case"cpu":return new _(t.type,t.data,e);case"cpu-pinned":return new _({location:"cpu-pinned",data:t.data,type:t.type,dims:e});case"texture":return new _({location:"texture",texture:t.texture,type:t.type,dims:e});case"gpu-buffer":return new _({location:"gpu-buffer",gpuBuffer:t.gpuBuffer,type:t.type,dims:e});case"ml-tensor":return new _({location:"ml-tensor",mlTensor:t.mlTensor,type:t.type,dims:e});default:throw new Error(`tensorReshape: tensor location ${t.location} is not supported`)}}});var _,Me=T(()=>{"use strict";_t();Gt();Vt();Jt();_=class{constructor(e,r,o){zt();let n,s;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let i=se.get(n);if(!i)throw new TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof i))throw new TypeError(`buffer should be of type ${i.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw new TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" 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 i,u;if(typeof e=="string")if(n=e,u=o,e==="string"){if(!Array.isArray(r))throw new TypeError("A string tensor's data must be a string array.");i=r}else{let f=se.get(e);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(r)){if(e==="float16"&&f===Uint16Array||e==="uint4"||e==="int4")throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${f.name} as data.`);e==="uint64"||e==="int64"?i=f.from(r,BigInt):i=f.from(r)}else if(r instanceof f)i=r;else if(r instanceof Uint8ClampedArray)if(e==="uint8")i=Uint8Array.from(r);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&r instanceof Uint16Array&&f!==Uint16Array)i=new globalThis.Float16Array(r.buffer,r.byteOffset,r.length);else throw new TypeError(`A ${n} tensor's data must be type of ${f}`)}else if(u=r,Array.isArray(e)){if(e.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof e[0];if(f==="string")n="string",i=e;else if(f==="boolean")n="bool",i=Uint8Array.from(e);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",i=Uint8Array.from(e);else{let f=we.get(e.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=f,i=e}if(u===void 0)u=[i.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");s=u,this.cpuData=i,this.dataLocation="cpu"}let a=jt(s);if(this.cpuData&&a!==this.cpuData.length&&!((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,r){return Rt(e,r)}static fromTexture(e,r){return Nt(e,r)}static fromGpuBuffer(e,r){return Ft(e,r)}static fromMLTensor(e,r){return Wt(e,r)}static fromPinnedBuffer(e,r,o){return kt(e,r,o)}toDataURL(e){return Ct(this,e)}toImageData(e){return Pt(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 Ht(this,e)}}});var V,ft=T(()=>{"use strict";Me();V=_});var qt,Yt,ae,ie,Z,K,ct=T(()=>{"use strict";it();qt=(t,e)=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.timeStamp(`${t}::ORT::${e}`)},Yt=(t,e)=>{let r=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let n=0;n<r.length;n++){if(o&&!r[n].includes("TRACE_FUNC")){let s=`FUNC_${t}::${r[n].trim().split(" ")[1]}`;e&&(s+=`::${e}`),qt("CPU",s);return}r[n].includes("TRACE_FUNC")&&(o=!0)}},ae=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||Yt("BEGIN",t)},ie=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||Yt("END",t)},Z=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.time(`ORT::${t}`)},K=t=>{(typeof U.trace>"u"?!U.wasm.trace:!U.trace)||console.timeEnd(`ORT::${t}`)}});var xe,Xt=T(()=>{"use strict";at();ft();ct();xe=class t{constructor(e){this.handler=e}async run(e,r,o){ae(),Z("InferenceSession.run");let n={},s={};if(typeof e!="object"||e===null||e instanceof V||Array.isArray(e))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if(typeof r=="object"){if(r===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof V)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.");a=!1;for(let f of r){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);n[f]=null}if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,d=Object.getOwnPropertyNames(r);for(let p of this.outputNames)if(d.indexOf(p)!==-1){let c=r[p];(c===null||c instanceof V)&&(f=!0,a=!1,n[p]=c)}if(f){if(typeof o=="object"&&o!==null)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else s=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof e[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(a)for(let f of this.outputNames)n[f]=null;let i=await this.handler.run(e,n,s),u={};for(let f in i)if(Object.hasOwnProperty.call(i,f)){let d=i[f];d instanceof V?u[f]=d:u[f]=new V(d.type,d.data,d.dims)}return K("InferenceSession.run"),ie(),u}async release(){return this.handler.dispose()}static async create(e,r,o,n){ae(),Z("InferenceSession.create");let s,a={};if(typeof e=="string"){if(s=e,typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(e instanceof Uint8Array){if(s=e,typeof r=="object"&&r!==null)a=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 d=e,p=0,c=e.byteLength;if(typeof r=="object"&&r!==null)a=r;else if(typeof r=="number"){if(p=r,!Number.isSafeInteger(p))throw new RangeError("'byteOffset' must be an integer.");if(p<0||p>=d.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${d.byteLength}).`);if(c=e.byteLength-p,typeof o=="number"){if(c=o,!Number.isSafeInteger(c))throw new RangeError("'byteLength' must be an integer.");if(c<=0||p+c>d.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${d.byteLength-p}].`);if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");s=new Uint8Array(d,p,c)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,u]=await Bt(a),f=await i.createInferenceSessionHandler(s,u);return K("InferenceSession.create"),ie(),new t(f)}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 Zr,Zt=T(()=>{"use strict";Xt();Zr=xe});var Kt=T(()=>{"use strict"});var Qt=T(()=>{"use strict"});var er=T(()=>{"use strict"});var tr=T(()=>{"use strict"});var dt={};ve(dt,{InferenceSession:()=>Zr,TRACE:()=>qt,TRACE_EVENT_BEGIN:()=>Z,TRACE_EVENT_END:()=>K,TRACE_FUNC_BEGIN:()=>ae,TRACE_FUNC_END:()=>ie,Tensor:()=>V,env:()=>v,registerBackend:()=>oe});var Q=T(()=>{"use strict";Mt();Ut();Zt();ft();Kt();Qt();ct();er();tr()});var Oe=T(()=>{"use strict"});var sr={};ve(sr,{default:()=>Kr});var nr,or,Kr,ar=T(()=>{"use strict";pt();ee();De();nr="ort-wasm-proxy-worker",or=globalThis.self?.name===nr;or&&(self.onmessage=t=>{let{type:e,in:r}=t.data;try{switch(e){case"init-wasm":Ue(r.wasm).then(()=>{Ce(r).then(()=>{postMessage({type:e})},o=>{postMessage({type:e,err:o})})},o=>{postMessage({type:e,err:o})});break;case"init-ep":{let{epName:o,env:n}=r;Pe(n,o).then(()=>{postMessage({type:e})},s=>{postMessage({type:e,err:s})});break}case"copy-from":{let{buffer:o}=r,n=ge(o);postMessage({type:e,out:n});break}case"create":{let{model:o,options:n}=r;_e(o,n).then(s=>{postMessage({type:e,out:s})},s=>{postMessage({type:e,err:s})});break}case"release":Re(r),postMessage({type:e});break;case"run":{let{sessionId:o,inputIndices:n,inputs:s,outputIndices:a,options:i}=r;Ne(o,n,s,a,new Array(a.length).fill(null),i).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:e,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:e,out:u},We([...s,...u]))},u=>{postMessage({type:e,err:u})});break}case"end-profiling":Fe(r),postMessage({type:e});break;default:}}catch(o){postMessage({type:e,err:o})}});Kr=or?null:t=>new Worker(t??G,{type:"module",name:nr})});var fr,Qr,en,G,ke,lt,tn,rn,cr,nn,ir,dr,ur,pr,De=T(()=>{"use strict";Oe();fr=typeof location>"u"?void 0:location.origin,Qr=import.meta.url>"file:"&&import.meta.url<"file;",en=()=>{if(!!1){if(Qr){let t=URL;return new URL(new t("ort.webgpu.min.mjs",import.meta.url).href,fr).href}return import.meta.url}},G=en(),ke=()=>{if(G&&!G.startsWith("blob:"))return G.substring(0,G.lastIndexOf("/")+1)},lt=(t,e)=>{try{let r=e??G;return(r?new URL(t,r):new URL(t)).origin===fr}catch{return!1}},tn=(t,e)=>{let r=e??G;try{return(r?new URL(t,r):new URL(t)).href}catch{return}},rn=(t,e)=>`${e??"./"}${t}`,cr=async t=>{let r=await(await fetch(t,{credentials:"same-origin"})).blob();return URL.createObjectURL(r)},nn=async t=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/t)).default,ir=(ar(),st(sr)).default,dr=async()=>{if(!G)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(lt(G))return[void 0,ir()];let t=await cr(G);return[t,ir(t)]},ur=void 0,pr=async(t,e,r,o)=>{let n=ur&&!(t||e);if(n)if(G)n=lt(G)||o&&!r;else if(o&&!r)n=!0;else throw new Error("cannot determine the script source URL.");if(n)return[void 0,ur];{let s="ort-wasm-simd-threaded.asyncify.mjs",a=t??tn(s,e),i=!!1&&r&&a&&!lt(a,e),u=i?await cr(a):a??rn(s,e);return[i?u:void 0,await nn(u)]}}});var mt,ht,Ge,lr,on,sn,an,Ue,I,ee=T(()=>{"use strict";De();ht=!1,Ge=!1,lr=!1,on=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},sn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},an=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Ue=async t=>{if(ht)return Promise.resolve();if(Ge)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(lr)throw new Error("previous call to 'initializeWebAssembly()' failed.");Ge=!0;let e=t.initTimeout,r=t.numThreads;if(t.simd!==!1){if(t.simd==="relaxed"){if(!an())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!sn())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=on();r>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),t.numThreads=r=1);let n=t.wasmPaths,s=typeof n=="string"?n:void 0,a=n?.mjs,i=a?.href??a,u=n?.wasm,f=u?.href??u,d=t.wasmBinary,[p,c]=await pr(i,s,r>1,!!d||!!f),l=!1,h=[];if(e>0&&h.push(new Promise(b=>{setTimeout(()=>{l=!0,b()},e)})),h.push(new Promise((b,E)=>{let y={numThreads:r};if(d)y.wasmBinary=d,y.locateFile=m=>m;else if(f||s)y.locateFile=m=>f??s+m;else if(i&&i.indexOf("blob:")!==0)y.locateFile=m=>new URL(m,i).href;else if(p){let m=ke();m&&(y.locateFile=A=>m+A)}c(y).then(m=>{Ge=!1,ht=!0,mt=m,b(),p&&URL.revokeObjectURL(p)},m=>{Ge=!1,lr=!0,E(m)})})),await Promise.race(h),l)throw new Error(`WebAssembly backend initializing failed due to timeout: ${e}ms`)},I=()=>{if(ht&&mt)return mt;throw new Error("WebAssembly is not initialized yet.")}});var F,Te,S,$e=T(()=>{"use strict";ee();F=(t,e)=>{let r=I(),o=r.lengthBytesUTF8(t)+1,n=r._malloc(o);return r.stringToUTF8(t,n,o),e.push(n),n},Te=(t,e,r,o)=>{if(typeof t=="object"&&t!==null){if(r.has(t))throw new Error("Circular reference in options");r.add(t)}Object.entries(t).forEach(([n,s])=>{let a=e?e+n:n;if(typeof s=="object")Te(s,a+".",r,o);else if(typeof s=="string"||typeof s=="number")o(a,s.toString());else if(typeof s=="boolean")o(a,s?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof s}`)})},S=t=>{let e=I(),r=e.stackSave();try{let o=e.PTR_SIZE,n=e.stackAlloc(2*o);e._OrtGetLastError(n,n+o);let s=Number(e.getValue(n,o===4?"i32":"i64")),a=e.getValue(n+o,"*"),i=a?e.UTF8ToString(a):"";throw new Error(`${t} ERROR_CODE: ${s}, ERROR_MESSAGE: ${i}`)}finally{e.stackRestore(r)}}});var mr,hr=T(()=>{"use strict";ee();$e();mr=t=>{let e=I(),r=0,o=[],n=t||{};try{if(t?.logSeverityLevel===void 0)n.logSeverityLevel=2;else if(typeof t.logSeverityLevel!="number"||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${t.logSeverityLevel}`);if(t?.logVerbosityLevel===void 0)n.logVerbosityLevel=0;else if(typeof t.logVerbosityLevel!="number"||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);t?.terminate===void 0&&(n.terminate=!1);let s=0;return t?.tag!==void 0&&(s=F(t.tag,o)),r=e._OrtCreateRunOptions(n.logSeverityLevel,n.logVerbosityLevel,!!n.terminate,s),r===0&&S("Can't create run options."),t?.extra!==void 0&&Te(t.extra,"",new WeakSet,(a,i)=>{let u=F(a,o),f=F(i,o);e._OrtAddRunConfigEntry(r,u,f)!==0&&S(`Can't set a run config entry: ${a} - ${i}.`)}),[r,o]}catch(s){throw r!==0&&e._OrtReleaseRunOptions(r),o.forEach(a=>e._free(a)),s}}});var un,fn,cn,Ee,te,dn,yr,br=T(()=>{"use strict";ee();$e();un=t=>{switch(t){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${t}`)}},fn=t=>{switch(t){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${t}`)}},cn=t=>{t.extra||(t.extra={}),t.extra.session||(t.extra.session={});let e=t.extra.session;e.use_ort_model_bytes_directly||(e.use_ort_model_bytes_directly="1"),t.executionProviders&&t.executionProviders.some(r=>(typeof r=="string"?r:r.name)==="webgpu")&&(t.enableMemPattern=!1)},Ee=(t,e,r,o)=>{let n=F(e,o),s=F(r,o);I()._OrtAddSessionConfigEntry(t,n,s)!==0&&S(`Can't set a session config entry: ${e} - ${r}.`)},te=(t,e,r,o)=>{let n=F(e,o),s=F(r,o);t.push([n,s])},dn=async(t,e,r)=>{let o=e.executionProviders;for(let n of o){let s=typeof n=="string"?n:n.name,a=[];switch(s){case"webnn":if(s="WEBNN",Ee(t,"session.disable_quant_qdq","1",r),Ee(t,"session.disable_qdq_constant_folding","1",r),typeof n!="string"){let c=n?.deviceType;c&&Ee(t,"deviceType",c,r)}break;case"webgpu":{s="WebGPU";let p;if(typeof n!="string"){let l=n;if(l.device)if(typeof GPUDevice<"u"&&l.device instanceof GPUDevice)p=l.device;else throw new Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:h}=e;if(typeof h=="boolean"&&h&&te(a,"enableGraphCapture","1",r),typeof l.preferredLayout=="string"&&te(a,"preferredLayout",l.preferredLayout,r),l.forceCpuNodeNames){let b=Array.isArray(l.forceCpuNodeNames)?l.forceCpuNodeNames:[l.forceCpuNodeNames];te(a,"forceCpuNodeNames",b.join(`
|
| 7 |
+
`),r)}l.validationMode&&te(a,"validationMode",l.validationMode,r);for(let b of["storageBufferCacheMode","uniformBufferCacheMode","queryResolveBufferCacheMode","defaultBufferCacheMode"]){let E=l[b];if(E){if(E!=="disabled"&&E!=="lazyRelease"&&E!=="simple"&&E!=="bucket")throw new Error(`${b} must be one of 'disabled', 'lazyRelease', 'simple' or 'bucket': ${E}`);te(a,b,E,r)}}}let c=I().webgpuRegisterDevice(p);if(c){let[l,h,b]=c;te(a,"deviceId",l.toString(),r),te(a,"webgpuInstance",h.toString(),r),te(a,"webgpuDevice",b.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${s}`)}let i=F(s,r),u=a.length,f=0,d=0;if(u>0){f=I()._malloc(u*I().PTR_SIZE),r.push(f),d=I()._malloc(u*I().PTR_SIZE),r.push(d);for(let p=0;p<u;p++)I().setValue(f+p*I().PTR_SIZE,a[p][0],"*"),I().setValue(d+p*I().PTR_SIZE,a[p][1],"*")}await I()._OrtAppendExecutionProvider(t,i,f,d,u)!==0&&S(`Can't append execution provider: ${s}.`)}},yr=async t=>{let e=I(),r=0,o=[],n=t||{};cn(n);try{let s=un(n.graphOptimizationLevel??"all"),a=fn(n.executionMode??"sequential"),i=typeof n.logId=="string"?F(n.logId,o):0,u=n.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let f=n.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let d=typeof n.optimizedModelFilePath=="string"?F(n.optimizedModelFilePath,o):0;if(r=e._OrtCreateSessionOptions(s,!!n.enableCpuMemArena,!!n.enableMemPattern,a,!!n.enableProfiling,0,i,u,f,d),r===0&&S("Can't create session options."),n.executionProviders&&await dn(r,n,o),n.enableGraphCapture!==void 0){if(typeof n.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${n.enableGraphCapture}`);Ee(r,"enableGraphCapture",n.enableGraphCapture.toString(),o)}if(n.freeDimensionOverrides)for(let[p,c]of Object.entries(n.freeDimensionOverrides)){if(typeof p!="string")throw new Error(`free dimension override name must be a string: ${p}`);if(typeof c!="number"||!Number.isInteger(c)||c<0)throw new Error(`free dimension override value must be a non-negative integer: ${c}`);let l=F(p,o);e._OrtAddFreeDimensionOverride(r,l,c)!==0&&S(`Can't set a free dimension override: ${p} - ${c}.`)}return n.extra!==void 0&&Te(n.extra,"",new WeakSet,(p,c)=>{Ee(r,p,c,o)}),[r,o]}catch(s){throw r!==0&&e._OrtReleaseSessionOptions(r)!==0&&S("Can't release session options."),o.forEach(a=>e._free(a)),s}}});var re,ze,le,fe,Se,Ve,je,yt,ce=T(()=>{"use strict";re=t=>{switch(t){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${t}`)}},ze=t=>{switch(t){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${t}`)}},le=(t,e)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][t],o=typeof e=="number"?e:e.reduce((n,s)=>n*s,1);return r>0?Math.ceil(o*r):void 0},fe=t=>{switch(t){case"float16":return typeof Float16Array<"u"?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${t}`)}},Se=t=>{switch(t){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${t}`)}},Ve=t=>t==="float32"||t==="float16"||t==="int32"||t==="int64"||t==="uint32"||t==="uint8"||t==="bool"||t==="uint4"||t==="int4",je=t=>t==="float32"||t==="float16"||t==="int32"||t==="int64"||t==="uint32"||t==="uint64"||t==="int8"||t==="uint8"||t==="bool"||t==="uint4"||t==="int4",yt=t=>{switch(t){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${t}`)}}});var Ie,bt=T(()=>{"use strict";Oe();Ie=async t=>{if(typeof t=="string")if(!1)try{let{readFile:e}=ot("node:fs/promises");return new Uint8Array(await e(t))}catch(e){if(e.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:r}=ot("node:fs"),o=r(t),n=[];for await(let s of o)n.push(s);return new Uint8Array(Buffer.concat(n))}throw e}else{let e=await fetch(t);if(!e.ok)throw new Error(`failed to load external data file: ${t}`);let r=e.headers.get("Content-Length"),o=r?parseInt(r,10):0;if(o<1073741824)return new Uint8Array(await e.arrayBuffer());{if(!e.body)throw new Error(`failed to load external data file: ${t}, no response body.`);let n=e.body.getReader(),s;try{s=new ArrayBuffer(o)}catch(i){if(i instanceof RangeError){let u=Math.ceil(o/65536);s=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw i}let a=0;for(;;){let{done:i,value:u}=await n.read();if(i)break;let f=u.byteLength;new Uint8Array(s,a,f).set(u),a+=f}return new Uint8Array(s,0,o)}}else return t instanceof Blob?new Uint8Array(await t.arrayBuffer()):t instanceof Uint8Array?t:new Uint8Array(t)}});var wr,gr=T(()=>{"use strict";ce();wr=(t,e)=>new(fe(e))(t)});var pn,ln,Tr,Er,Sr,mn,N,wt=T(()=>{"use strict";ce();pn=["V","I","W","E","F"],ln=(t,e)=>{console.log(`[${pn[t]},${new Date().toISOString()}]${e}`)},Sr=(t,e)=>{Tr=t,Er=e},mn=(t,e)=>{let r=Se(t),o=Se(Tr);r>=o&&ln(r,typeof e=="function"?e():e)},N=(...t)=>{Er&&mn(...t)}});var Lr,hn,Ar,yn,Ir,bn,vr,He,Je,gt,Br,Mr=T(()=>{"use strict";ce();wt();Lr=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),hn=(t,e)=>{if(e==="int32")return t;let r=Lr.get(e);if(!r)throw new Error(`WebNN backend does not support data type: ${e}`);let o=r/8;if(t.byteLength%o!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${o}.`);let n=t.byteLength/o,s=new(fe(e))(t.buffer,t.byteOffset,n);switch(e){case"int64":case"uint64":{let a=new Int32Array(n);for(let i=0;i<n;i++){let u=s[i];if(u>2147483647n||u<-2147483648n)throw new Error("Can not convert int64 data to int32 - value out of range.");a[i]=Number(u)}return new Uint8Array(a.buffer)}case"int8":case"uint8":case"uint32":{if(e==="uint32"&&s.some(i=>i>2147483647))throw new Error("Can not convert uint32 data to int32 - value out of range.");let a=Int32Array.from(s,Number);return new Uint8Array(a.buffer)}default:throw new Error(`Unsupported data conversion from ${e} to 'int32'`)}},Ar=(t,e)=>{if(e==="int32")return t;if(t.byteLength%4!==0)throw new Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=t.byteLength/4,o=new Int32Array(t.buffer,t.byteOffset,r);switch(e){case"int64":{let n=BigInt64Array.from(o,BigInt);return new Uint8Array(n.buffer)}case"uint64":{if(o.some(s=>s<0))throw new Error("Can not convert int32 data to uin64 - negative value found.");let n=BigUint64Array.from(o,BigInt);return new Uint8Array(n.buffer)}case"int8":{if(o.some(s=>s<-128||s>127))throw new Error("Can not convert int32 data to int8 - value out of range.");let n=Int8Array.from(o,Number);return new Uint8Array(n.buffer)}case"uint8":{if(o.some(n=>n<0||n>255))throw new Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(o,Number)}case"uint32":{if(o.some(s=>s<0))throw new Error("Can not convert int32 data to uint32 - negative value found.");let n=Uint32Array.from(o,Number);return new Uint8Array(n.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${e}`)}},yn=1,Ir=()=>yn++,bn=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),vr=(t,e)=>{let r=Lr.get(t);if(!r)throw new Error(`WebNN backend does not support data type: ${t}`);return e.length>0?Math.ceil(e.reduce((o,n)=>o*n)*r/8):0},He=class{constructor(e){this.isDataConverted=!1;let{sessionId:r,context:o,tensor:n,dataType:s,shape:a,fallbackDataType:i}=e;this.sessionId=r,this.mlContext=o,this.mlTensor=n,this.dataType=s,this.tensorShape=a,this.fallbackDataType=i}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return vr(this.dataType,this.tensorShape)}destroy(){N("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let r=await this.mlContext.readTensor(this.mlTensor),o=Ar(new Uint8Array(r),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(o);return}else return new Uint8Array(o).buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,r,o){return this.mlContext===e&&this.dataType===r&&this.tensorShape.length===o.length&&this.tensorShape.every((n,s)=>n===o[s])}setIsDataConverted(e){this.isDataConverted=e}},Je=class{constructor(e,r){this.tensorManager=e;this.wrapper=r}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,r,o,n){let s=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),i;if(!a?.input.dataTypes.includes(r)){if(i=bn.get(r),!i||!a?.input.dataTypes.includes(i))throw new Error(`WebNN backend does not support data type: ${r}`);N("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${r} to ${i}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,r,o))return this.wrapper.tensor;if(n){if(this.wrapper.byteLength!==vr(r,o))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let u=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,r,o,u,!0,!0,i),n&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let r=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")r=hn(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(r);return}else N("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(r):this.activeUpload=new Uint8Array(r)}async download(e){if(this.activeUpload){let r=this.wrapper?.isDataConverted?Ar(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(r):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(r);return}else return r.buffer}if(!this.wrapper)throw new Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},gt=class{constructor(e){this.backend=e;this.tensorTrackersById=new Map;this.freeTensors=[];this.externalTensors=new Set}getMLContext(e){let r=this.backend.getMLContext(e);if(!r)throw new Error("MLContext not found for session.");return r}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=Ir();return this.tensorTrackersById.set(e,new Je(this)),e}releaseTensorId(e){let r=this.tensorTrackersById.get(e);r&&(this.tensorTrackersById.delete(e),r.tensorWrapper&&this.releaseTensor(r.tensorWrapper))}async ensureTensor(e,r,o,n,s){N("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${r}, dataType: ${o}, shape: ${n}, copyOld: ${s}}`);let a=this.tensorTrackersById.get(r);if(!a)throw new Error("Tensor not found.");return a.ensureTensor(e,o,n,s)}upload(e,r){let o=this.tensorTrackersById.get(e);if(!o)throw new Error("Tensor not found.");o.upload(r)}async download(e,r){N("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${r?.byteLength}}`);let o=this.tensorTrackersById.get(e);if(!o)throw new Error("Tensor not found.");return o.download(r)}releaseTensorsForSession(e){for(let r of this.freeTensors)r.sessionId===e&&r.destroy();this.freeTensors=this.freeTensors.filter(r=>r.sessionId!==e)}registerTensor(e,r,o,n){let s=this.getMLContext(e),a=Ir(),i=new He({sessionId:e,context:s,tensor:r,dataType:o,shape:n});return this.tensorTrackersById.set(a,new Je(this,i)),this.externalTensors.add(i),a}async getCachedTensor(e,r,o,n,s,a,i){let u=this.getMLContext(e);for(let[d,p]of this.freeTensors.entries())if(p.canReuseTensor(u,r,o)){N("verbose",()=>`[WebNN] Reusing tensor {dataType: ${r}, ${i?`fallbackDataType: ${i},`:""} shape: ${o}`);let c=this.freeTensors.splice(d,1)[0];return c.sessionId=e,c}N("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${r}, ${i?`fallbackDataType: ${i},`:""} shape: ${o}}`);let f=await u.createTensor({dataType:i??r,shape:o,dimensions:o,usage:n,writable:s,readable:a});return new He({sessionId:e,context:u,tensor:f,dataType:r,shape:o,fallbackDataType:i})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},Br=(...t)=>new gt(...t)});var xr={};ve(xr,{WebNNBackend:()=>Tt});var qe,wn,Tt,Or=T(()=>{"use strict";ce();ee();gr();Mr();wt();qe=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),wn=(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;let r=Object.keys(t).sort(),o=Object.keys(e).sort();return r.length===o.length&&r.every((n,s)=>n===o[s]&&t[n]===e[n])},Tt=class{constructor(e){this.tensorManager=Br(this);this.mlContextBySessionId=new Map;this.sessionIdsByMLContext=new Map;this.mlContextCache=[];this.sessionGraphInputs=new Map;this.sessionGraphOutputs=new Map;this.temporaryGraphInputs=[];this.temporaryGraphOutputs=[];this.temporarySessionTensorIds=new Map;this.mlOpSupportLimitsBySessionId=new Map;Sr(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(e){N("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){N("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let r=this.temporarySessionTensorIds.get(e);if(r){for(let o of r)N("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${o}}`),this.tensorManager.releaseTensorId(o);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let o=this.mlContextCache.findIndex(n=>n.gpuDevice===e);if(o!==-1)return this.mlContextCache[o].mlContext;{let n=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:n}),n}}else if(e===void 0){let o=this.mlContextCache.findIndex(n=>n.options===void 0&&n.gpuDevice===void 0);if(o!==-1)return this.mlContextCache[o].mlContext;{let n=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:n}),n}}let r=this.mlContextCache.findIndex(o=>wn(o.options,e));if(r!==-1)return this.mlContextCache[r].mlContext;{let o=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:o}),o}}registerMLContext(e,r){this.mlContextBySessionId.set(e,r);let o=this.sessionIdsByMLContext.get(r);o||(o=new Set,this.sessionIdsByMLContext.set(r,o)),o.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,r.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let r=this.mlContextBySessionId.get(e);if(!r)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let o=this.sessionIdsByMLContext.get(r);if(o.delete(e),o.size===0){this.sessionIdsByMLContext.delete(r);let n=this.mlContextCache.findIndex(s=>s.mlContext===r);n!==-1&&this.mlContextCache.splice(n,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){N("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,r,o,n,s){let a=qe.get(o);if(!a)throw new Error(`Unsupported ONNX data type: ${o}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,r,a,n,s)}async createTemporaryTensor(e,r,o){N("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${r}, shape: ${o}}`);let n=qe.get(r);if(!n)throw new Error(`Unsupported ONNX data type: ${r}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,s,n,o,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(s):this.temporarySessionTensorIds.set(e,[s]),s}uploadTensor(e,r){if(!I().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");N("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${r.byteLength}}`),this.tensorManager.upload(e,r)}async downloadTensor(e,r){return this.tensorManager.download(e,r)}createMLTensorDownloader(e,r){return async()=>{let o=await this.tensorManager.download(e);return wr(o,r)}}registerMLTensor(e,r,o,n){let s=qe.get(o);if(!s)throw new Error(`Unsupported ONNX data type: ${o}`);let a=this.tensorManager.registerTensor(e,r,s,n);return N("verbose",()=>`[WebNN] registerMLTensor {tensor: ${r}, dataType: ${s}, dimensions: ${n}} -> {tensorId: ${a}}`),a}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,r){let o=this.sessionGraphInputs.get(e);return o?o.includes(r):!1}isGraphOutput(e,r){let o=this.sessionGraphOutputs.get(e);return o?o.includes(r):!1}isGraphInputOutputTypeSupported(e,r,o=!0){let n=qe.get(re(r)),s=this.mlOpSupportLimitsBySessionId.get(e);return typeof n>"u"?!1:o?!!s?.input.dataTypes.includes(n):!!s?.output.dataTypes.includes(n)}flush(){}}});var gn,Ce,Pe,de,Tn,Dr,ge,_e,Re,Ur,Ne,Fe,We,pt=T(()=>{"use strict";Q();hr();br();ce();ee();$e();bt();gn=(t,e)=>{I()._OrtInit(t,e)!==0&&S("Can't initialize onnxruntime.")},Ce=async t=>{gn(t.wasm.numThreads,Se(t.logLevel))},Pe=async(t,e)=>{I().asyncInit?.();let r=t.webgpu.adapter;if(e==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let o=t.webgpu.powerPreference;if(o!==void 0&&o!=="low-power"&&o!=="high-performance")throw new Error(`Invalid powerPreference setting: "${o}"`);let n=t.webgpu.forceFallbackAdapter;if(n!==void 0&&typeof n!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${n}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:o,forceFallbackAdapter:n}),!r)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(e==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment");if(e==="webgpu"&&I().webgpuInit(o=>{t.webgpu.device=o}),e==="webnn"){let o=new(Or(),st(xr)).WebNNBackend(t);I().webnnInit([o,()=>o.reserveTensorId(),n=>o.releaseTensorId(n),async(n,s,a,i,u)=>o.ensureTensor(n,s,a,i,u),(n,s)=>{o.uploadTensor(n,s)},async(n,s)=>o.downloadTensor(n,s),(n,s)=>o.registerMLContext(n,s),!!t.trace])}},de=new Map,Tn=t=>{let e=I(),r=e.stackSave();try{let o=e.PTR_SIZE,n=e.stackAlloc(2*o);e._OrtGetInputOutputCount(t,n,n+o)!==0&&S("Can't get session input/output count.");let a=o===4?"i32":"i64";return[Number(e.getValue(n,a)),Number(e.getValue(n+o,a))]}finally{e.stackRestore(r)}},Dr=(t,e)=>{let r=I(),o=r.stackSave(),n=0;try{let s=r.PTR_SIZE,a=r.stackAlloc(2*s);r._OrtGetInputOutputMetadata(t,e,a,a+s)!==0&&S("Can't get session input/output metadata.");let u=Number(r.getValue(a,"*"));n=Number(r.getValue(a+s,"*"));let f=r.HEAP32[n/4];if(f===0)return[u,0];let d=r.HEAPU32[n/4+1],p=[];for(let c=0;c<d;c++){let l=Number(r.getValue(n+8+c*s,"*"));p.push(l!==0?r.UTF8ToString(l):Number(r.getValue(n+8+(c+d)*s,"*")))}return[u,f,p]}finally{r.stackRestore(o),n!==0&&r._OrtFree(n)}},ge=t=>{let e=I(),r=e._malloc(t.byteLength);if(r===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${t.byteLength}.`);return e.HEAPU8.set(t,r),[r,t.byteLength]},_e=async(t,e)=>{let r,o,n=I();Array.isArray(t)?[r,o]=t:t.buffer===n.HEAPU8.buffer?[r,o]=[t.byteOffset,t.byteLength]:[r,o]=ge(t);let s=0,a=0,i=0,u=[],f=[],d=[];try{if([a,u]=await yr(e),e?.externalData&&n.mountExternalData){let w=[];for(let L of e.externalData){let C=typeof L=="string"?L:L.path,k=typeof L=="string"?L:L.data;w.push(Ie(k).then(x=>{n.mountExternalData(C,x)}))}await Promise.all(w)}for(let w of e?.executionProviders??[])if((typeof w=="string"?w:w.name)==="webnn"){if(n.shouldTransferToMLTensor=!1,typeof w!="string"){let C=w,k=C?.context,x=C?.gpuDevice,W=C?.deviceType,H=C?.powerPreference;k?n.currentContext=k:x?n.currentContext=await n.webnnCreateMLContext(x):n.currentContext=await n.webnnCreateMLContext({deviceType:W,powerPreference:H})}else n.currentContext=await n.webnnCreateMLContext();break}s=await n._OrtCreateSession(r,o,a),n.webgpuOnCreateSession?.(s),s===0&&S("Can't create a session."),n.jsepOnCreateSession?.(),n.currentContext&&(n.webnnRegisterMLContext(s,n.currentContext),n.currentContext=void 0,n.shouldTransferToMLTensor=!0);let[p,c]=Tn(s),l=!!e?.enableGraphCapture,h=[],b=[],E=[],y=[],m=[];for(let w=0;w<p;w++){let[L,C,k]=Dr(s,w);L===0&&S("Can't get an input name."),f.push(L);let x=n.UTF8ToString(L);h.push(x),E.push(C===0?{name:x,isTensor:!1}:{name:x,isTensor:!0,type:ze(C),shape:k})}for(let w=0;w<c;w++){let[L,C,k]=Dr(s,w+p);L===0&&S("Can't get an output name."),d.push(L);let x=n.UTF8ToString(L);b.push(x),y.push(C===0?{name:x,isTensor:!1}:{name:x,isTensor:!0,type:ze(C),shape:k});{if(l&&e?.preferredOutputLocation===void 0){m.push("gpu-buffer");continue}let W=typeof e?.preferredOutputLocation=="string"?e.preferredOutputLocation:e?.preferredOutputLocation?.[x]??"cpu",H=n.webnnIsGraphOutput;if(W==="cpu"&&H&&H(s,x)){m.push("ml-tensor-cpu-output");continue}if(W!=="cpu"&&W!=="cpu-pinned"&&W!=="gpu-buffer"&&W!=="ml-tensor")throw new Error(`Not supported preferred output location: ${W}.`);if(l&&W!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${W}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);m.push(W)}}let A=null;return m.some(w=>w==="gpu-buffer"||w==="ml-tensor"||w==="ml-tensor-cpu-output")&&(i=n._OrtCreateBinding(s),i===0&&S("Can't create IO binding."),A={handle:i,outputPreferredLocations:m,outputPreferredLocationsEncoded:m.map(w=>w==="ml-tensor-cpu-output"?"ml-tensor":w).map(w=>yt(w))}),de.set(s,[s,f,d,A,l,!1]),[s,h,b,E,y]}catch(p){throw f.forEach(c=>n._OrtFree(c)),d.forEach(c=>n._OrtFree(c)),i!==0&&n._OrtReleaseBinding(i)!==0&&S("Can't release IO binding."),s!==0&&n._OrtReleaseSession(s)!==0&&S("Can't release session."),p}finally{n._free(r),a!==0&&n._OrtReleaseSessionOptions(a)!==0&&S("Can't release session options."),u.forEach(p=>n._free(p)),n.unmountExternalData?.()}},Re=t=>{let e=I(),r=de.get(t);if(!r)throw new Error(`cannot release session. invalid session id: ${t}`);let[o,n,s,a,i]=r;a&&(i&&e._OrtClearBoundOutputs(a.handle)!==0&&S("Can't clear bound outputs."),e._OrtReleaseBinding(a.handle)!==0&&S("Can't release IO binding.")),e.jsepOnReleaseSession?.(t),e.webnnOnReleaseSession?.(t),e.webgpuOnReleaseSession?.(t),n.forEach(u=>e._OrtFree(u)),s.forEach(u=>e._OrtFree(u)),e._OrtReleaseSession(o)!==0&&S("Can't release session."),de.delete(t)},Ur=async(t,e,r,o,n,s,a=!1)=>{if(!t){e.push(0);return}let i=I(),u=i.PTR_SIZE,f=t[0],d=t[1],p=t[3],c=p,l,h;if(f==="string"&&(p==="gpu-buffer"||p==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(a&&p!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${s} when enableGraphCapture is true.`);if(p==="gpu-buffer"){let y=t[2].gpuBuffer;h=le(re(f),d);{let m=i.webgpuRegisterBuffer;if(!m)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');l=m(y,o)}}else if(p==="ml-tensor"){let y=t[2].mlTensor;h=le(re(f),d);let m=i.webnnRegisterMLTensor;if(!m)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');l=m(o,y,re(f),d)}else{let y=t[2];if(Array.isArray(y)){h=u*y.length,l=i._malloc(h),r.push(l);for(let m=0;m<y.length;m++){if(typeof y[m]!="string")throw new TypeError(`tensor data at index ${m} is not a string`);i.setValue(l+m*u,F(y[m],r),"*")}}else{let m=i.webnnIsGraphInput,A=i.webnnIsGraphOutput;if(f!=="string"&&m&&A){let w=i.UTF8ToString(n);if(m(o,w)||A(o,w)){let L=re(f);h=le(L,d),c="ml-tensor";let C=i.webnnCreateTemporaryTensor,k=i.webnnUploadTensor;if(!C||!k)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let x=await C(o,L,d);k(x,new Uint8Array(y.buffer,y.byteOffset,y.byteLength)),l=x}else h=y.byteLength,l=i._malloc(h),r.push(l),i.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,h),l)}else h=y.byteLength,l=i._malloc(h),r.push(l),i.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,h),l)}}let b=i.stackSave(),E=i.stackAlloc(4*d.length);try{d.forEach((m,A)=>i.setValue(E+A*u,m,u===4?"i32":"i64"));let y=i._OrtCreateTensor(re(f),l,h,E,d.length,yt(c));y===0&&S(`Can't create tensor for input/output. session=${o}, index=${s}.`),e.push(y)}finally{i.stackRestore(b)}},Ne=async(t,e,r,o,n,s)=>{let a=I(),i=a.PTR_SIZE,u=de.get(t);if(!u)throw new Error(`cannot run inference. invalid session id: ${t}`);let f=u[0],d=u[1],p=u[2],c=u[3],l=u[4],h=u[5],b=e.length,E=o.length,y=0,m=[],A=[],w=[],L=[],C=[],k=a.stackSave(),x=a.stackAlloc(b*i),W=a.stackAlloc(b*i),H=a.stackAlloc(E*i),Lt=a.stackAlloc(E*i);try{[y,m]=mr(s),Z("wasm prepareInputOutputTensor");for(let g=0;g<b;g++)await Ur(r[g],A,L,t,d[e[g]],e[g],l);for(let g=0;g<E;g++)await Ur(n[g],w,L,t,p[o[g]],b+o[g],l);K("wasm prepareInputOutputTensor");for(let g=0;g<b;g++)a.setValue(x+g*i,A[g],"*"),a.setValue(W+g*i,d[e[g]],"*");for(let g=0;g<E;g++)a.setValue(H+g*i,w[g],"*"),a.setValue(Lt+g*i,p[o[g]],"*");if(c&&!h){let{handle:g,outputPreferredLocations:$,outputPreferredLocationsEncoded:et}=c;if(d.length!==b)throw new Error(`input count from feeds (${b}) is expected to be always equal to model's input count (${d.length}).`);Z("wasm bindInputsOutputs");for(let B=0;B<b;B++){let j=e[B];await a._OrtBindInput(g,d[j],A[B])!==0&&S(`Can't bind input[${B}] for session=${t}.`)}for(let B=0;B<E;B++){let j=o[B];n[B]?.[3]?(C.push(w[B]),a._OrtBindOutput(g,p[j],w[B],0)!==0&&S(`Can't bind pre-allocated output[${B}] for session=${t}.`)):a._OrtBindOutput(g,p[j],0,et[j])!==0&&S(`Can't bind output[${B}] to ${$[B]} for session=${t}.`)}K("wasm bindInputsOutputs"),de.set(t,[f,d,p,c,l,!0])}a.jsepOnRunStart?.(f),a.webnnOnRunStart?.(f);let D;c?D=await a._OrtRunWithBinding(f,c.handle,E,H,y):D=await a._OrtRun(f,W,x,b,Lt,E,H,y),D!==0&&S("failed to call OrtRun().");let J=[],At=[];Z("wasm ProcessOutputTensor");for(let g=0;g<E;g++){let $=Number(a.getValue(H+g*i,"*"));if($===w[g]||C.includes(w[g])){J.push(n[g]),$!==w[g]&&a._OrtReleaseTensor($)!==0&&S("Can't release tensor.");continue}let et=a.stackSave(),B=a.stackAlloc(4*i),j=!1,O,R=0;try{a._OrtGetTensorData($,B,B+i,B+2*i,B+3*i)!==0&&S(`Can't access output tensor data on index ${g}.`);let tt=i===4?"i32":"i64",Ae=Number(a.getValue(B,tt));R=a.getValue(B+i,"*");let vt=a.getValue(B+i*2,"*"),jr=Number(a.getValue(B+i*3,tt)),q=[];for(let P=0;P<jr;P++)q.push(Number(a.getValue(vt+P*i,tt)));a._OrtFree(vt)!==0&&S("Can't free memory for tensor dims.");let Y=q.reduce((P,M)=>P*M,1);O=ze(Ae);let ye=c?.outputPreferredLocations[o[g]];if(O==="string"){if(ye==="gpu-buffer"||ye==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let P=[];for(let M=0;M<Y;M++){let X=a.getValue(R+M*i,"*"),be=a.getValue(R+(M+1)*i,"*"),rt=M===Y-1?void 0:be-X;P.push(a.UTF8ToString(X,rt))}J.push([O,q,P,"cpu"])}else if(ye==="gpu-buffer"&&Y>0){let P=a.webgpuGetBuffer;if(!P)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let M=P(R),X=le(Ae,Y);if(X===void 0||!Ve(O))throw new Error(`Unsupported data type: ${O}`);j=!0;{a.webgpuRegisterBuffer(M,t,R);let be=a.webgpuCreateDownloader(M,X,t);J.push([O,q,{gpuBuffer:M,download:async()=>{let rt=await be();return new(fe(O))(rt)},dispose:()=>{a._OrtReleaseTensor($)!==0&&S("Can't release tensor.")}},"gpu-buffer"])}}else if(ye==="ml-tensor"&&Y>0){let P=a.webnnEnsureTensor,M=a.webnnIsGraphInputOutputTypeSupported;if(!P||!M)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(le(Ae,Y)===void 0||!je(O))throw new Error(`Unsupported data type: ${O}`);if(!M(t,O,!1))throw new Error(`preferredLocation "ml-tensor" for ${O} output is not supported by current WebNN Context.`);let be=await P(t,R,Ae,q,!1);j=!0,J.push([O,q,{mlTensor:be,download:a.webnnCreateMLTensorDownloader(R,O),dispose:()=>{a.webnnReleaseTensorId(R),a._OrtReleaseTensor($)}},"ml-tensor"])}else if(ye==="ml-tensor-cpu-output"&&Y>0){let P=a.webnnCreateMLTensorDownloader(R,O)(),M=J.length;j=!0,At.push((async()=>{let X=[M,await P];return a.webnnReleaseTensorId(R),a._OrtReleaseTensor($),X})()),J.push([O,q,[],"cpu"])}else{let P=fe(O),M=new P(Y);new Uint8Array(M.buffer,M.byteOffset,M.byteLength).set(a.HEAPU8.subarray(R,R+M.byteLength)),J.push([O,q,M,"cpu"])}}finally{a.stackRestore(et),O==="string"&&R&&a._free(R),j||a._OrtReleaseTensor($)}}c&&!l&&(a._OrtClearBoundOutputs(c.handle)!==0&&S("Can't clear bound outputs."),de.set(t,[f,d,p,c,l,!1]));for(let[g,$]of await Promise.all(At))J[g][2]=$;return K("wasm ProcessOutputTensor"),J}finally{a.webnnOnRunEnd?.(f),a.stackRestore(k),r.forEach(D=>{D&&D[3]==="gpu-buffer"&&a.webgpuUnregisterBuffer(D[2].gpuBuffer)}),n.forEach(D=>{D&&D[3]==="gpu-buffer"&&a.webgpuUnregisterBuffer(D[2].gpuBuffer)}),A.forEach(D=>a._OrtReleaseTensor(D)),w.forEach(D=>a._OrtReleaseTensor(D)),L.forEach(D=>a._free(D)),y!==0&&a._OrtReleaseRunOptions(y),m.forEach(D=>a._free(D))}},Fe=t=>{let e=I(),r=de.get(t);if(!r)throw new Error("invalid session id");let o=r[0],n=e._OrtEndProfiling(o);n===0&&S("Can't get an profile file name."),e._OrtFree(n)},We=t=>{let e=[];for(let r of t){let o=r[2];!Array.isArray(o)&&"buffer"in o&&e.push(o.buffer)}return e}});var pe,z,Le,Xe,Ze,Ye,Et,St,me,he,Sn,Cr,Pr,_r,Rr,Nr,Fr,Wr,It=T(()=>{"use strict";Q();pt();ee();De();pe=()=>!!v.wasm.proxy&&typeof document<"u",Le=!1,Xe=!1,Ze=!1,St=new Map,me=(t,e)=>{let r=St.get(t);r?r.push(e):St.set(t,[e])},he=()=>{if(Le||!Xe||Ze||!z)throw new Error("worker not ready")},Sn=t=>{switch(t.data.type){case"init-wasm":Le=!1,t.data.err?(Ze=!0,Et[1](t.data.err)):(Xe=!0,Et[0]()),Ye&&(URL.revokeObjectURL(Ye),Ye=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let e=St.get(t.data.type);t.data.err?e.shift()[1](t.data.err):e.shift()[0](t.data.out);break}default:}},Cr=async()=>{if(!Xe){if(Le)throw new Error("multiple calls to 'initWasm()' detected.");if(Ze)throw new Error("previous call to 'initWasm()' failed.");if(Le=!0,pe())return new Promise((t,e)=>{z?.terminate(),dr().then(([r,o])=>{try{z=o,z.onerror=s=>e(s),z.onmessage=Sn,Et=[t,e];let n={type:"init-wasm",in:v};if(!n.in.wasm.wasmPaths&&r){let s=ke();s&&(n.in.wasm.wasmPaths=s)}z.postMessage(n),Ye=r}catch(n){e(n)}},e)});try{await Ue(v.wasm),await Ce(v),Xe=!0}catch(t){throw Ze=!0,t}finally{Le=!1}}},Pr=async t=>{if(pe())return he(),new Promise((e,r)=>{me("init-ep",[e,r]);let o={type:"init-ep",in:{epName:t,env:v}};z.postMessage(o)});await Pe(v,t)},_r=async t=>pe()?(he(),new Promise((e,r)=>{me("copy-from",[e,r]);let o={type:"copy-from",in:{buffer:t}};z.postMessage(o,[t.buffer])})):ge(t),Rr=async(t,e)=>{if(pe()){if(e?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return he(),new Promise((r,o)=>{me("create",[r,o]);let n={type:"create",in:{model:t,options:{...e}}},s=[];t instanceof Uint8Array&&s.push(t.buffer),z.postMessage(n,s)})}else return _e(t,e)},Nr=async t=>{if(pe())return he(),new Promise((e,r)=>{me("release",[e,r]);let o={type:"release",in:t};z.postMessage(o)});Re(t)},Fr=async(t,e,r,o,n,s)=>{if(pe()){if(r.some(a=>a[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(n.some(a=>a))throw new Error("pre-allocated output tensor is not supported for proxy.");return he(),new Promise((a,i)=>{me("run",[a,i]);let u=r,f={type:"run",in:{sessionId:t,inputIndices:e,inputs:u,outputIndices:o,options:s}};z.postMessage(f,We(u))})}else return Ne(t,e,r,o,n,s)},Wr=async t=>{if(pe())return he(),new Promise((e,r)=>{me("end-profiling",[e,r]);let o={type:"end-profiling",in:t};z.postMessage(o)});Fe(t)}});var kr,In,Ke,Gr=T(()=>{"use strict";Q();It();ce();Oe();bt();kr=(t,e)=>{switch(t.location){case"cpu":return[t.type,t.dims,t.data,"cpu"];case"gpu-buffer":return[t.type,t.dims,{gpuBuffer:t.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[t.type,t.dims,{mlTensor:t.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${t.location} for ${e()}`)}},In=t=>{switch(t[3]){case"cpu":return new V(t[0],t[2],t[1]);case"gpu-buffer":{let e=t[0];if(!Ve(e))throw new Error(`not supported data type: ${e} for deserializing GPU tensor`);let{gpuBuffer:r,download:o,dispose:n}=t[2];return V.fromGpuBuffer(r,{dataType:e,dims:t[1],download:o,dispose:n})}case"ml-tensor":{let e=t[0];if(!je(e))throw new Error(`not supported data type: ${e} for deserializing MLTensor tensor`);let{mlTensor:r,download:o,dispose:n}=t[2];return V.fromMLTensor(r,{dataType:e,dims:t[1],download:o,dispose:n})}default:throw new Error(`invalid data location: ${t[3]}`)}},Ke=class{async fetchModelAndCopyToWasmMemory(e){return _r(await Ie(e))}async loadModel(e,r){ae();let o;typeof e=="string"?o=await this.fetchModelAndCopyToWasmMemory(e):o=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Rr(o,r),ie()}async dispose(){return Nr(this.sessionId)}async run(e,r,o){ae();let n=[],s=[];Object.entries(e).forEach(c=>{let l=c[0],h=c[1],b=this.inputNames.indexOf(l);if(b===-1)throw new Error(`invalid input '${l}'`);n.push(h),s.push(b)});let a=[],i=[];Object.entries(r).forEach(c=>{let l=c[0],h=c[1],b=this.outputNames.indexOf(l);if(b===-1)throw new Error(`invalid output '${l}'`);a.push(h),i.push(b)});let u=n.map((c,l)=>kr(c,()=>`input "${this.inputNames[s[l]]}"`)),f=a.map((c,l)=>c?kr(c,()=>`output "${this.outputNames[i[l]]}"`):null),d=await Fr(this.sessionId,s,u,i,f,o),p={};for(let c=0;c<d.length;c++)p[this.outputNames[i[c]]]=a[c]??In(d[c]);return ie(),p}startProfiling(){}endProfiling(){Wr(this.sessionId)}}});var zr={};ve(zr,{OnnxruntimeWebAssemblyBackend:()=>Qe,initializeFlags:()=>$r,wasmBackend:()=>Ln});var $r,Qe,Ln,Vr=T(()=>{"use strict";Q();It();Gr();$r=()=>{(typeof v.wasm.initTimeout!="number"||v.wasm.initTimeout<0)&&(v.wasm.initTimeout=0);let t=v.wasm.simd;if(typeof t!="boolean"&&t!==void 0&&t!=="fixed"&&t!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${t}". Reset it to \`false\` and ignore SIMD feature checking.`),v.wasm.simd=!1),typeof v.wasm.proxy!="boolean"&&(v.wasm.proxy=!1),typeof v.wasm.trace!="boolean"&&(v.wasm.trace=!1),typeof v.wasm.numThreads!="number"||!Number.isInteger(v.wasm.numThreads)||v.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)v.wasm.numThreads=1;else{let e=typeof navigator>"u"?ot("node:os").cpus().length:navigator.hardwareConcurrency;v.wasm.numThreads=Math.min(4,Math.ceil((e||1)/2))}},Qe=class{async init(e){$r(),await Cr(),await Pr(e)}async createInferenceSessionHandler(e,r){let o=new Ke;return await o.loadModel(e,r),o}},Ln=new Qe});Q();Q();Q();var rr="1.30.0";var Ls=dt;{let t=(Vr(),st(zr)).wasmBackend;oe("webgpu",t,5),oe("webnn",t,5),oe("cpu",t,10),oe("wasm",t,10)}Object.defineProperty(v.versions,"web",{value:rr,enumerable:!0});export{Zr as InferenceSession,qt as TRACE,Z as TRACE_EVENT_BEGIN,K as TRACE_EVENT_END,ae as TRACE_FUNC_BEGIN,ie as TRACE_FUNC_END,V as Tensor,Ls as default,v as env,oe as registerBackend};
|
| 8 |
+
//# sourceMappingURL=ort.webgpu.min.mjs.map
|
ort/ort.webgpu.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
parity.html
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<title>Laya parity</title>
|
| 6 |
+
<script type="module" crossorigin src="/assets/parity-OtuGNq8O.js"></script>
|
| 7 |
+
<link rel="modulepreload" crossorigin href="/assets/model-url-LsIpDZ5m.js">
|
| 8 |
+
</head>
|
| 9 |
+
<body>
|
| 10 |
+
<h1>Parity: browser vs Python</h1>
|
| 11 |
+
<p id="status">idle</p>
|
| 12 |
+
<pre id="report"></pre>
|
| 13 |
+
</body>
|
| 14 |
+
</html>
|
snake.html
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<title>Laya Snake</title>
|
| 6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 7 |
+
<script type="module" crossorigin src="/assets/snake-Id5oVReI.js"></script>
|
| 8 |
+
<link rel="modulepreload" crossorigin href="/assets/model-url-LsIpDZ5m.js">
|
| 9 |
+
<link rel="stylesheet" crossorigin href="/assets/snake-CUy0MTJY.css">
|
| 10 |
+
</head>
|
| 11 |
+
<body class="snake">
|
| 12 |
+
<header class="bar">
|
| 13 |
+
<span class="muted">LAYA / LOCAL INTELLIGENCE</span>
|
| 14 |
+
<span id="state" class="state">LOADING</span>
|
| 15 |
+
</header>
|
| 16 |
+
<main class="layout">
|
| 17 |
+
<section class="board">
|
| 18 |
+
<h1>S N A K E <span id="round" class="muted">ROUND 01</span></h1>
|
| 19 |
+
<canvas id="board" width="480" height="320" aria-label="Snake board"></canvas>
|
| 20 |
+
<div class="scores">
|
| 21 |
+
<div><span class="muted">SCORE</span><strong id="score">0</strong></div>
|
| 22 |
+
<div><span class="muted">LENGTH</span><strong id="length">0</strong></div>
|
| 23 |
+
<div><span class="muted">BEST</span><strong id="best">0</strong></div>
|
| 24 |
+
</div>
|
| 25 |
+
<div class="fill">
|
| 26 |
+
<div class="track"><div id="fill-bar" class="bar green"></div></div>
|
| 27 |
+
<span id="fill-pct" class="muted">0.0%</span>
|
| 28 |
+
</div>
|
| 29 |
+
<div class="controls">
|
| 30 |
+
<button id="pause">Pause (Space)</button>
|
| 31 |
+
<button id="slower">Slower (↓)</button>
|
| 32 |
+
<button id="faster">Faster (↑)</button>
|
| 33 |
+
<button id="max-speed">Max speed</button>
|
| 34 |
+
<button id="reset">Reset (R)</button>
|
| 35 |
+
</div>
|
| 36 |
+
</section>
|
| 37 |
+
<aside class="panel">
|
| 38 |
+
<h2>Laya <span id="engine-title" class="muted">WebGPU</span></h2>
|
| 39 |
+
<p id="loading" class="muted">loading model…</p>
|
| 40 |
+
<div class="row"><span>NEXT MOVE</span><span class="muted">MODEL PROBABILITIES</span></div>
|
| 41 |
+
<ul id="probs">
|
| 42 |
+
<li data-dir="UP">
|
| 43 |
+
<span class="dir">UP</span><span class="track"><span class="bar"></span></span
|
| 44 |
+
><span class="val">0.00</span>
|
| 45 |
+
</li>
|
| 46 |
+
<li data-dir="DOWN">
|
| 47 |
+
<span class="dir">DOWN</span><span class="track"><span class="bar"></span></span
|
| 48 |
+
><span class="val">0.00</span>
|
| 49 |
+
</li>
|
| 50 |
+
<li data-dir="LEFT">
|
| 51 |
+
<span class="dir">LEFT</span><span class="track"><span class="bar"></span></span
|
| 52 |
+
><span class="val">0.00</span>
|
| 53 |
+
</li>
|
| 54 |
+
<li data-dir="RIGHT">
|
| 55 |
+
<span class="dir">RIGHT</span><span class="track"><span class="bar"></span></span
|
| 56 |
+
><span class="val">0.00</span>
|
| 57 |
+
</li>
|
| 58 |
+
</ul>
|
| 59 |
+
<div class="row">
|
| 60 |
+
<span class="muted">EXECUTING</span><strong id="executing">—</strong
|
| 61 |
+
><span id="shield" class="amber" hidden>SHIELD</span>
|
| 62 |
+
</div>
|
| 63 |
+
<div class="metric">
|
| 64 |
+
<span class="muted">DEAD-END RISK</span
|
| 65 |
+
><span class="track"><span id="risk-bar" class="bar amber"></span></span
|
| 66 |
+
><span id="risk-val">0.00</span>
|
| 67 |
+
</div>
|
| 68 |
+
<div class="metric">
|
| 69 |
+
<span class="muted">FOOD REACHABLE</span
|
| 70 |
+
><span class="track"><span id="food-bar" class="bar cyan"></span></span
|
| 71 |
+
><span id="food-val">0.00</span>
|
| 72 |
+
</div>
|
| 73 |
+
<dl class="stats">
|
| 74 |
+
<dt>INFERENCE</dt>
|
| 75 |
+
<dd id="inference">0.0 ms</dd>
|
| 76 |
+
<dt>DECISIONS</dt>
|
| 77 |
+
<dd id="rate">0.0 /s</dd>
|
| 78 |
+
<dt>OUTPUT TOKENS</dt>
|
| 79 |
+
<dd id="output-tokens">0</dd>
|
| 80 |
+
<dt>NETWORK</dt>
|
| 81 |
+
<dd class="green">OFFLINE AFTER LOAD</dd>
|
| 82 |
+
<dt>ENGINE</dt>
|
| 83 |
+
<dd id="engine">—</dd>
|
| 84 |
+
</dl>
|
| 85 |
+
<p class="muted">Laya + cycle safety</p>
|
| 86 |
+
<p class="amber">Shield interventions <span id="interventions">0000</span></p>
|
| 87 |
+
</aside>
|
| 88 |
+
</main>
|
| 89 |
+
<footer class="bar">
|
| 90 |
+
<span class="muted">SPACE pause · ↑/↓ speed · R reset</span
|
| 91 |
+
><span id="clock" class="muted">00:00</span>
|
| 92 |
+
</footer>
|
| 93 |
+
</body>
|
| 94 |
+
</html>
|